Files
workinf_Blender_Wasm/docs/status/M12-07J.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.6 KiB

M12-07J Status

status: done
task: three-format cancellation, OOM, Worker restart, and small-file recovery
updated: 2026-08-18 America/New_York
enablingTask: false
parityStateChange: false

Scope

OBJ, STL, and PLY now share a schema-1 recovery receipt. Each bounded production Worker run binds format, input hash, base/candidate revision, Worker generation, output hash, temporary bytes, live requests, published result count, and commit state. Cancellation clears temporary state and publishes no result; over-budget/OOM input returns IO_FORMAT_OOM; a generation-2 rerun and a generation-3 small-file run reproduce the generation-1 output hash. This is recovery evidence for the bounded format workers, not a general file-picker or full Blender IO claim.

Evidence

  • node --test web/tests/unit/io-format-recovery.test.mjs passed 2/2 for cancellation/OOM cleanup, commit identity, generation recovery, and stale-generation blocking.
  • UPDATE_IO_FORMAT_RECOVERY_REPORT=1 CHROME_PATH=/usr/bin/google-chrome-stable WEB_TEST_PORT=5492 node_modules/.bin/playwright test --config playwright.config.ts --workers=1 tests/e2e/io-format-recovery.spec.ts passed 1/1. The report covers OBJ, STL, and PLY separately: three cancellations, three OOM budget faults, three Worker-generation restarts, and three small recovery commits; all output SHA-256 values are stable.
  • A second run without report update passed against the same golden, proving deterministic operation IDs and receipt output. node tools/web/check-io-format-recovery.mjs passed: io-format-recovery-ok formats=OBJ,STL,PLY cancelled=3 oom=3 restart=3 smallRecovery=3 deterministic=true next=M13-01A.
  • npm --prefix web run typecheck and git diff --check passed.

Artifact Hashes

  • protocol: 7e352539e3300969c7409c34d6056eb6ad31055431ffce84b1b0a459c335480a
  • worker/testing adapter: 63b78fbf25132cad28147ef68731f2cd212a26c96b464fdec349a13ebaa1174f / cfcebb6ec38936a66983957b0dede716871cfbfbea3cb53cddc16f3e24fb19b0
  • unit/e2e: aaed1f2abe4789b084c8a6a60bcce8595d38220d7e6678a93924cd05c5716b4f / 5c1750fa408e1297fc43f2e5749be3e9ac08a16b86265d22f0f06053f52b3bd7
  • checker: 6ef6bc4a168f8675a4933a06c296f61076b9ea64cec25b295e961a9b610ab1a2
  • report: 35d4fe10d8a4fa84d6e05a85f20ca50975d93a86df41e73c7bbc5875edc4fc70

Next Task

M13-01A: begin the next machine-queued milestone task.

Rollback

Remove the IO recovery protocol, worker, adapter, tests, checker, report, manifest, and this status entry. Restore M12-07I as the queue tail and move the machine queue back to M12-07J. No parity ledger rollback is required.