Skip to content

feat: add TAP bilateral receipt fixture#8

Draft
tomjwxf wants to merge 2 commits into
mainfrom
codex/tap-bilateral-receipts
Draft

feat: add TAP bilateral receipt fixture#8
tomjwxf wants to merge 2 commits into
mainfrom
codex/tap-bilateral-receipts

Conversation

@tomjwxf

@tomjwxf tomjwxf commented May 16, 2026

Copy link
Copy Markdown
Contributor

Adds a narrow Visa TAP bilateral receipt specimen for issue visa/trusted-agent-protocol#16.\n\nThe fixture keeps TAP request authentication separate from transaction evidence:\n\n- tap-request.json carries simulated RFC 9421 request-signature metadata\n- authorization-receipt.json is agent-signed pre-execution evidence\n- outcome-receipt.json is merchant-signed post-execution evidence\n- verify.py checks both detached JWS-style signatures, request hash linkage, and receipt chaining\n\nLocal verification:\n\nbash\npython3 tap-bilateral-receipts/verify.py\n

…pments

New cold-chain/ subfolder with four files:
- README.md: explains the cold-chain test vector category and the v2
  envelope shape these vectors use.
- pharma-shipment-pass.json: Sydney → Singapore insulin shipment, 36
  epochs (Merkle-batched per hour), 1284 readings, 4.6 °C mean, 0
  excursions, decision: allow.
- pharma-shipment-excursion.json: same journey with a single 8.4 °C
  excursion at minute 1800, decision: deny, includes decision_reason.code
  = TEMPERATURE_BAND_VIOLATION.
- merkle-batch-root.json: example epoch root with 60 reading leaf hashes
  and one fully-expanded 6-step Merkle path. Demonstrates the batch
  signing scheme that ScopeBlind's cold-chain hardware (ETCF #197) will
  produce in production.
- index.json: local manifest listing the three vectors with expected
  decisions and verifier outputs.

All vectors use the v2 envelope shape from expected/receipt-schema.json
so they pass conformance/verify.sh schema-check unmodified. Signatures
are synthetic placeholders (illustrative fixtures, same approach as
existing pre-signed receipts in the repo).

Not pushed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants