Files
workinf_Blender_Wasm/docs/status/M11-11.md
mes123456 0fe8d2bb56
Some checks failed
M6 deployable RC / quick (push) Has been cancelled
M6 deployable RC / chromium (push) Has been cancelled
M6 deployable RC / release (push) Has been cancelled
Advance M8-M11 parity workflows
2026-08-17 04:37:07 -04:00

2.8 KiB

M11-11 Status

status: done task: revision-gate late seek, scrub, and decode results before publication updated: 2026-08-17 America/New_York

Scope

Schema 1 uses one request identity for SEEK, SCRUB, and DECODE. Every request binds a timeline ID, timeline revision, monotonically increasing request revision, operation, and frame. A completed result must echo that identity and add a bounded source frame and payload SHA-256. Publication is allowed only when both the timeline revision and latest request revision still match the controller state.

The production controller advances one shared request revision across all three operation types. Replacing a timeline invalidates every pending request before a new request begins, and same-timeline revisions must advance monotonically. The publish callback is invoked only after the pure gate returns PUBLISH, so stale results cannot update the visible frame or write a decoded payload into cache. This task does not claim frame-accurate WebCodecs seeking or the M11-14 cancellation/restart resource lifecycle.

Evidence

  • WEB_TEST_PORT=5576 npm --prefix web run test:sequencer-media-revision: unit 4/4 and Chromium 1/1 passed on the first complete run.
  • Chromium scheduled SEEK revision 1 behind SCRUB revision 2. SCRUB published first and the late SEEK returned STALE/REVISION_CONFLICT. A real H.264 runtime decode started at timeline revision 7, completed after replacement with revision 8, and was rejected before publish/cache. The revision-8 DECODE published; a forged result identity stayed stale.
  • The machine sequence is frozen in tests/golden/M11-11/sequencer-media-revision.json: only SCRUB@2 and DECODE@5 publish, and only DECODE@5 reaches the cache-write callback.
  • Regression passed: M11-10 unit 3/3 plus Chromium 1/1, M11-09 unit 3/3 plus Chromium 1/1, one-million-frame long-media 1/1, full Node 183/183, typecheck, lint, and production build (75 modules).

Artifact Hashes

  • protocol: 326f1525f50af3b2c4132ff58508ed6174ba3aa4a5075b2a6660e549c280826a
  • production controller: 29a44404bb28e46d67439eec0622a69ce4cd7264ce45da77a3f320c8687b7006
  • app protocol exports: be2eca8482a60e437878b99f69d3178f47fee61618886d141760320e3a3ed1e1
  • unit: 2099f738120897dfbb8662741831774b5f9150d51924dfa7832907177de5e7
  • Chromium spec: e47f105360ce0e2d4d561d3cf790ceec9f41dd6bac7361965914ada307db843c
  • golden: 672b4fde6e27f8b15cd51d839cacb5efb128c0d0f4c7f6aa4e184c713f9b45e5
  • package: 5d17b17d67ee587191552c3dfe226cd8f2e5a872791224d8e6c22aafa1177ebe

Rollback

Remove the media revision protocol/controller/tests/golden and package command, restore M11 to 10/14, and remove the N-021 revision-gate slice. Keep M11-09 runtime probes, M11-10 proxy-cache identity, and the V1 long-media generation behavior unchanged.