Findings 2-6 of the review of 30cefd1b, in the text, wai-rs, http_receipts.py and
the corpus together.
2. A soft binding's recovery uses, of the publisher keys held for the ancestor,
the one that signed the declaration, whichever delivery came first; the first
key only when none did, for the reason (recovery_signer_mismatch).
3. Recovery through a soft binding is gated on the object being held inside
check_claim (it now takes `held`); a recovery record's matchers are passed
whether or not the object is held (§2.6.3 step 5 needs a matcher, not the
object).
4. Corpus cases for lawful-basis decisions, binding-recovery records, operating
points and a session claim, accepted and refused, their bodies
claim-conformance's accepted vectors retargeted to the corpus's objects and
signed with its keys; O7 delivered under a second publisher's key, listed
before, after and alone.
5. A declaration fetched by link is read as §8.1 reads every file fetched by name
(receipt_name_mismatch and steps 1-2 first); step 6's reasons only for one that
names correctly and does not match. §8.2 states that this revision carries no
OER receipt over HTTP, so an energy claim naming one is context_not_held. Each
cap has its rationale; a 64 MiB read budget per index
(receipt_fetch_bytes_exhausted), counting at most a byte past each file's cap.
6. param_set with an uppercase digest is pin_malformed in wai-rs too (the corpus
tool no longer reads a grants file under a digest that does not read).
Python mutations bytes-unchecked, decision-unchecked, recovery-record-unchecked,
declaration-unnamed, first-publisher, matchers-need-object,
operating-point-unchecked and session-accepted; corpus 1030 cases, Rust and
Python agree.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
1 line
No EOL
677 B
JSON
1 line
No EOL
677 B
JSON
{"body":{"declaration":"13e1857af31da433ed26408d5cfdb8a486dfdef79026836dda43b4b7a790ac1e","outcome":"dpv:ConsentGiven","purpose":"dpv:ServiceOptimisation","record":"decision","vocabulary":"https://w3id.org/dpv"},"class":"lawful-basis","issued_at":"2026-10-06T00:03:30Z","kind":"claim","parent_receipt_hash":null,"seq":0,"sig":"840c67fce73952a3191772125e54ec2a92deb7bbcb872e1a4eba5f4e54dbac103121613196473c65aa120a02c155bc889426135a4cb2b3a82a2a84b62bd2e607","signer_id":"did:example:http-sink","signer_pubkey":"2bc2800b3316e009209ffd757dab19ccf0ae84bc7ae90654e1e81712d270f653","subject":"6e485f112e849422fb9cfd279cb16b88c8d5ee1e72bafe4892992fc6bef88be9","subject_type":"object"} |