51 lines
2.6 KiB
Markdown
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.
|