Round-2 fixes to http-delivery §8.1-§8.4, in the text, wai-rs, http_receipts.py and the corpus together. 1. Claims run jwp-receipts §3.1 step 6 against what the passed delivery items deliver: energy against their object receipts (a named OER receipt is context_not_held); measurement/operating-point against the moq-jwp:object figure of an item delivered under the claimed group (energy_figure::HeldObject), else figure_not_held / context_not_held; delivery-gap against an item at its coordinates; decisions and recovery records against the declaration fetched by link; reconstruct-session context_not_held. Never acceptance without context. 2. A claim about a receipt attaches only through the group of an item whose delivery check passed. 3. A soft binding of another object is reported as attesting the ancestor only after §3.2 steps 2-5 pass (held object, a publisher key from a verified delivery, a matcher); otherwise receipt_not_about_object. 4. Bounds: receipt files 1 MiB (receipt_too_large), indexes 4 MiB with 256 items and 256 claims (receipt_index_too_large), each name fetched once per index (memo), 1024 fetches per index (receipt_fetch_budget_exhausted); the CLI fetches under a deadline (--deadline-ms) and these caps, never following a redirect. 5. A legacy (unlabelled) group file is refused (receipt_legacy_group): its name does not fix its parent. 6. The parent walk is clamped to 64 whatever bound is asked. 7. wai http receipts --key-origin retrieves the key log itself from --connect, sending anchoring_request_headers, following no redirect, and builds the Retrieval from the response. Corpus: measurement/energy/gap claims and O5's index, legacy group, a 66-deep chain, padded files and indexes, 256/257 items and claims, a fifty-fold item list; 1015 cases, Rust and Python agree. Co-Authored-By: Claude Opus 5.5 <[email protected]>
1 line
No EOL
912 B
Text
1 line
No EOL
912 B
Text
{"claims":["0c0de1e8d6eca027482086221a3022c5f130d46a45f27aedbf0377b62a0675c0","40ef9986d24aaf108f7d9ba9995c6add781cf5733e6d639d9a783ca0c0ddd61c"],"delivery":[{"object_receipt":{"content_hash":"753e8ac465d347547c688690eb51615f19118c0a4c17490499fbb31aefd5cd0c","group_id":0,"joules_micro":0,"kind":"object","leaf_version":2,"merkle_proof":{"direction_bits":2,"leaf_index":2,"siblings":["d6cbe6c9d7da6adbcd392979eef608ca9831a20c65ef141478a0e71613d2c5e2","cf3ca3f2f8980312874592a512e91aa868b4bd835805a06e5e3b777540683581"]},"object_id":2,"origin":"origin","track_alias":3},"property":{"acquisition":"","acquisition_evidence":"","content_hash":"753e8ac465d347547c688690eb51615f19118c0a4c17490499fbb31aefd5cd0c","group_receipt":"0755611daa44a9474511562d9ac7e429d4be353fb387c54edd9a24217853ae75","joules_micro":0}}],"kind":"wai-receipt-index","object":"753e8ac465d347547c688690eb51615f19118c0a4c17490499fbb31aefd5cd0c"} |