Files
workinf_Blender_Wasm/docs/status/M12-05F.md
mes123456 380cbed4ff
Some checks are pending
M6 deployable RC / quick (push) Waiting to run
M6 deployable RC / chromium (push) Blocked by required conditions
M6 deployable RC / release (push) Blocked by required conditions
Checkpoint web parity through Chromium input tasks
2026-08-19 10:39:03 -04:00

2.9 KiB

M12-05F Status

status: done task: reject forged, stale, or cross-version runtime receipts before use updated: 2026-08-18 America/New_York enablingTask: false parityStateChange: false

Scope

The schema-1 freshness envelope is derived from the M12-05E bound receipt set. It carries the M12-05E byte identity, a canonical digest of the complete bound receipt set, and a canonical digest of the pinned Blender runtime identity. Before a route can be used, the parent binding hash, inventory hash, runtime identity, runtime hash, and receipt-set hash must all match the trusted expectation. The route resolver re-validates this gate on every use and only then returns READY.

Forged receipt content returns RECEIPT_FORGED; an older parent or inventory returns RECEIPT_STALE; a different Blender version/build identity returns RECEIPT_CROSS_VERSION. Malformed or unavailable routes remain fail-closed as IO_FORMAT_UNSUPPORTED. The App GLB export and format-tagged operator search now consume the freshness envelope rather than the unbound M12-05D set.

Evidence

  • node --test web/tests/unit/io-format-receipt-freshness.test.mjs passed 4/4: exact trusted route, canonical digest verification, forged content, stale parent, and cross-version negatives.
  • node tools/web/check-io-format-receipt-freshness.mjs passed; 14 receipts, App artifact parity, independent canonical digest verification, deterministic regeneration, and all three negative classes passed.
  • Existing M12-05D/M12-05E unit and checker commands passed unchanged.
  • npm --prefix web run typecheck and npm --prefix web run build passed; git diff --check passed.

Artifact Hashes

  • parent manifest: 2fbaaf39c6acd9f55fbdbadccc0b027e9e7763bf069c954a96ca49b193648990
  • protocol: 111a630c7beccd31989dc4f78932b7d7b741fb6bef03e45cb39a8139f774d235
  • generator: 6a1e798ce46e1d14d833091d4d7ae452dccb13efe583594277785465eb725bbf
  • checker: 7a8fe69ea1aa2c1e121be008a9fb60fc236f7ef776d2088a7b00b14f46fe3fba
  • unit: cd1c2adca81653f98f9a1c6c7d104ad0e3052283213fb7166dac827c956928fe
  • freshness receipts: 0187ad0d9ea05fc4b152b7abd4945191dbe9ec24dfde4ca7dbe4aadfd1230efe
  • App freshness receipts: 0187ad0d9ea05fc4b152b7abd4945191dbe9ec24dfde4ca7dbe4aadfd1230efe
  • App expected identity: 8d65f78aa774ff252871cb1cc09e69b4ff04fbb45e61200eaf67534c9d2651b2
  • App: 043ff3a2f39ef3a1303791081b80851b427e7db5dfd9af2161926dd6f1ea9ca4
  • package commands: cfb232baa494ff59f6c8d65514a08c86332ee9354350b2a0392b6f932a7ee42c
  • manifest: 63e1506801ddee2f1eaf64cad68a9d5c918405f642ca237c6a1ec249ff297623

Next Task

M12-06A: desktop generate the bounded Mesh/PBR/UV/skin/animation GLB fixture group.

Rollback

Remove the freshness protocol, generator/checker, freshness artifacts, unit test, App imports/route gate, manifest, and this status entry. Restore M12-05E as the queue tail and move the machine queue back to M12-05F. No parity ledger rollback is required.