Skip to content

Publish a strict downstream receipt verification contract #31

Description

@briananderson1222

Learning source

An independent Evals evidence consumer needed to validate Dispatch receipts without trusting producer-authored JSON. Re-implementing the TypeScript interface downstream initially missed typed attempt fields, totals reconciliation, retry semantics, and one-invocation binding rules.

Outcome

Publish a versioned, runtime-usable receipt verification contract that downstream evidence systems can consume without copying Dispatch internals.

Acceptance

  • Export a strict schema or zero-dependency verifier for DispatchReceipt v1, including nested attempts, authorization, and physical-batch evidence.
  • Reject unknown fields, invalid enums/types, empty identities, malformed counters, and inconsistent aggregate totals.
  • Document retry and durable reservation/authorization settlement semantics.
  • Expose canonical receipt/binding identities suitable for replay detection without exposing credentials or request content.
  • Provide valid success/retry/batch fixtures and mutation-negative conformance fixtures.
  • Keep authorization-ledger authenticity distinct from structural receipt validity.

Consumer discovered in kontourai/evals#141.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions