The corpus had no live windows, so pack_verify.py never read a live-window receipt, a non-zero `prev_index_digest` or a `first_entry` past zero. live/ holds the staged golden's source packed live with its key, in windows of two pieces: each window's index and receipt, and expected.json with each window's place in the chain, index digest and receipt hash. pack_verify.py reads each window with its own index reader and §6.3 rules, and verifies the receipt (§9.1, strict Ed25519). It then checks the chain: - the parent receipt (`live-window`); - `prev_index_digest`; - `first_piece` and `first_entry`; - the timeline; - the signer is the golden's key. It also checks that each window's pieces, entries (but flags and window-relative `refines`), class plan and plan digest are the golden's. wai-pack's conformance check writes the windows again, compares their bytes, and verifies the same chain. Co-Authored-By: Claude Opus 5.5 <[email protected]>
1 line
No EOL
1.2 KiB
JSON
1 line
No EOL
1.2 KiB
JSON
{"asset_id":"video-staged-01","components":[{"id":"v","index":"index-v.wsix","index_digest":"61c64b3027c30891039da2d2b8e30744d83bd6f5b695d6b00ea616c575ceab94","media_class":"video","stage_root":"32198182aa20797140685219dfcaa36ac3611d1ae2f3c0c77cb9161317d86c1d"}],"energy_provenance":null,"grant":{"capability":"wai.video.package","funds_ceiling":null,"grant_hash":"0000000000000000000000000000000000000000000000000000000000000000","joule_ceiling_micro":null},"joules_micro":0,"kind":"package","packager":"builtin:[email protected]","parent_kind":"live-window","parent_receipt_hash":"03e9c415609e457da2a3d47298d91c541b36f03b634fb56060c9a4da1c2d8f13","policy_digest":"1bed669917d9d78e1a0f65a5a998db50e98e3dbdf836cc2ae00ff2ac97d67e57","receipt_hash":"11621610dbfff4321e11dc4ff8ba32cb2cb9e61fb17707a114bea4ec85d84e6c","sig":"651ed23c5b03c585516ecafbbe23c589a83678bae88f26539bd7aedfc92c3241ee0c38aa53f233145cff1c2a7eaba5233329dfd5b3eae2d0c53734c5a2d66900","signer_id":"did:key:z6MkhGok4PzLmtw1v5uW3Bpip8gHHifrCt42QJn4gEBfRVQG","signer_pubkey":"29e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55","stored_bytes":214312,"total_bytes":214312,"total_entries":3,"unique_objects":3,"version":2,"work_units":3} |