50 lines
2.3 KiB
Markdown
50 lines
2.3 KiB
Markdown
# M12-05E Status
|
|
|
|
status: done
|
|
task: bind every runtime receipt to source, settings, and runtime hashes
|
|
updated: 2026-08-18 America/New_York
|
|
enablingTask: false
|
|
parityStateChange: false
|
|
|
|
## Scope
|
|
|
|
The schema-1 bound receipt set derives from M12-05A inventory and M12-05D runtime receipts. Every
|
|
one of the 14 format/operation records carries three independent SHA-256 values: a source/operator
|
|
identity hash, a settings/schema hash (including canonical variants/extensions and Blender RNA
|
|
properties), and a runtime identity hash. The set also binds the parent M12-05D receipt-set hash and
|
|
the M12-05A inventory hash.
|
|
|
|
The validator requires all three hashes and parent identities before a bound receipt can be resolved.
|
|
The generator uses sorted-key canonical JSON and the checker independently recomputes every hash,
|
|
then rebuilds the artifact in a fresh process for byte-for-byte determinism. No package metadata was
|
|
changed, preserving the existing release evidence hash.
|
|
|
|
## Evidence
|
|
|
|
- `node --test web/tests/unit/io-format-receipt-binding.test.mjs` passed 2/2: valid three-hash
|
|
resolution plus malformed source/settings/runtime and parent identity rejection.
|
|
- `node tools/web/check-io-format-receipt-bindings.mjs` passed; all 14 source/settings/runtime hashes
|
|
and parent/inventory identities matched a fresh deterministic regeneration.
|
|
- `npm --prefix web run typecheck` passed; `git diff --check` passed.
|
|
|
|
## Artifact Hashes
|
|
|
|
- parent manifest: `3d0049a7b0331f01bb71df043270c18d1a5c9ce6dc74353c49c8ce591761df1b`
|
|
- protocol: `681e719ab2b18eb85d056547fb70b461dd73b3a7fb4fdbe6295b8e49d5649e49`
|
|
- generator: `eb7b5c499f141c1788bc37e53585662eedff3f2dabff870f4ad166f4a619796f`
|
|
- checker: `ec2b22b468809ecc25ab2d4983065680a66ad3be6705d1827b44bf45ac622e26`
|
|
- unit: `e9ae3e360ad41c32da3634a4efa915654853e79a35df36728c1ddf586a0bf7b5`
|
|
- bound receipts: `7f765bf16b62466f579b3de00751a0e012fef1c788f229c8e9675a57caa18aad`
|
|
- package commands: `cfb232baa494ff59f6c8d65514a08c86332ee9354350b2a0392b6f932a7ee42c`
|
|
- manifest: `PENDING`
|
|
|
|
## Next Task
|
|
|
|
`M12-05F`: reject forged, stale, or cross-version runtime receipts before use.
|
|
|
|
## Rollback
|
|
|
|
Remove the binding protocol, generator/checker, bound receipt golden, unit test, manifest, and this
|
|
status entry. Restore M12-05D as the queue tail and move the machine queue back to `M12-05E`. No
|
|
parity ledger rollback is required.
|