Files
workinf_Blender_Wasm/docs/status/M11-10.md
mes123456 0fe8d2bb56
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
Advance M8-M11 parity workflows
2026-08-17 04:37:07 -04:00

3.2 KiB

M11-10 Status

status: done task: bind long-media proxy/cache entries to source hash and runtime decode capability updated: 2026-08-17 America/New_York

Scope

Schema 1 proxy-cache manifests bind the complete movie source identity, the source-bound M11-09 READY decode receipt, an explicit SRGB8/STRAIGHT RGBA8 profile, and the source frame into one deterministic SHA-256 cache identity. The proxy payload has an independent byte length and SHA-256. Source drift, decode-capability drift, identity tampering, and payload tampering therefore fail with separate stable codes.

The production browser adapter verifies the movie bytes before decode, captures only the initial decoded HTMLMedia frame, and stores verified copies in a 64 MiB-bounded LRU. The Chromium gate persists the RGBA8 payload and its manifest through the content-addressed Storage Worker path, creates a new Storage Worker, and verifies the reopened bytes against the current runtime receipt. This task does not claim frame-accurate proxy generation, seek/scrub publication, waveform generation, A/V synchronization, or final encoding.

Evidence

  • WEB_TEST_PORT=5573 npm --prefix web run test:sequencer-media-cache: unit 3/3 and Chromium 1/1 passed. The real 16x16 H.264 fixture produced one 8x8/256-byte RGBA8 proxy; its cache identity is 68a3af14865841e81f69bd75f2605461de4819fe025d158ac3723fa0cdf31525.
  • A one-frame cache budget admitted frame 0, returned a copied hit, then evicted it when frame 1 was inserted. clear() released exactly 256 bytes and left zero entries.
  • Source hash drift, READY receipt metadata drift, payload mutation, and bad source bytes returned SEQUENCER_CACHE_SOURCE_MISMATCH, SEQUENCER_CACHE_CAPABILITY_MISMATCH, or SEQUENCER_CACHE_HASH_MISMATCH as appropriate. Blocked receipts, undeclared profile fields, oversized RGBA8 profiles, and upscaled profiles were rejected before cache insertion.
  • The first unit run was 2/3 because the test incorrectly treated exactly 64 MiB as over budget; the corrected 64 MiB plus one-row case passed. The first Chromium run completed all business operations but sampled statsBeforeClear after clear(); the sampling order was fixed and the full command rerun on ports 5572 and 5573.
  • Regression passed: M11-09 unit 3/3 plus Chromium 1/1, one-million-frame long-media 1/1, Sequencer Main reader, full Node 179/179, typecheck, lint, and production build (75 modules).

Artifact Hashes

  • protocol: 1dd5ee8cade2642723bac6f0c8e34d09cf178d000beba6eb63626284ee35fd5e
  • browser adapter: 57070b1a42129afdfb8121ec11a48b0792b3de9d84f7e8a78017c7d6e12343aa
  • app protocol exports: 8ca82257c758580f5fe91a3a5cd21f8ae9e9ce10f9fa71fcd7cf1f30e0b6367b
  • unit: f4cc1171dd6875bf079e242beed846409a1d1f53b9497882aa475bd2773b43c7
  • Chromium spec: 6d9d26e3639a74b173f77ec5d67e53e5ec42b88dd6e34bda54c8168b8251423e
  • golden: 39a71f8d97f0045da6ec913b6a0231ac3363f67a420eea5ab3fabaa8f1d47c33
  • package: 2c7fb9f8657155088e4a080443b8a0ba9c13aae9f46f1807ff3b8820640c44c4

Rollback

Remove the proxy-cache protocol/runtime/tests/golden and package command, restore M11 to 9/14, and remove the new N-021 completed slice. Keep M11-09 runtime codec probes and the V1 long-media index/cache evidence unchanged.