Difficulty
Hard — production engineering across multiple components; a small cleanup or test-only patch does not complete this issue.
Context
docs/LIMITATIONS.md explicitly states that receipt verification is offline-only and does not establish that a receipt matches chain state. Keep offline verification intact and add an explicit online evidence mode.
Starting points
Scope
- Introduce an online verifier binding a receipt to network, contract, ledger and transaction/event evidence.
- Cross-check commitments, bidder ordering, clearing outcome and settlement/refund evidence using paginated reads.
- Distinguish internally valid, chain-confirmed, unverifiable and contradictory results.
- Expose evidence metadata and deterministic CLI JSON/exit-code contracts.
Acceptance criteria
Verification
Exercise an injected ledger adapter with canonical, tampered, missing-history and contradictory-provider fixtures; add an opt-in read-only testnet integration test with recorded ledger references.
Out of scope
Changing settlement, storing private identities, or making paid/mainnet transactions during verification.
Difficulty
Hard — production engineering across multiple components; a small cleanup or test-only patch does not complete this issue.
Context
docs/LIMITATIONS.md explicitly states that receipt verification is offline-only and does not establish that a receipt matches chain state. Keep offline verification intact and add an explicit online evidence mode.
Starting points
docs/LIMITATIONS.mdpackages/sdk/src/verify.tspackages/sdk/src/receipt.tsservices/receipt-cli/src/index.tsScope
Acceptance criteria
Verification
Exercise an injected ledger adapter with canonical, tampered, missing-history and contradictory-provider fixtures; add an opt-in read-only testnet integration test with recorded ledger references.
Out of scope
Changing settlement, storing private identities, or making paid/mainnet transactions during verification.