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

51 lines
2.6 KiB
Markdown

# 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.