3.1 KiB
M12-06G Status
status: done task: GLB import/export cancellation, Worker restart, and OPFS quota recovery updated: 2026-08-18 America/New_York enablingTask: false parityStateChange: false
Scope
Schema-1 GLB recovery receipts now bind operation, worker generation, source/output SHA-256, revision, temporary bytes, live requests, commit state, and stable cancellation/restart/quota codes. Both import and export cancellation release all temporary bytes and publish no result. A new Worker repeats the same bounded GLB import with an identical semantic result hash.
The GLB asset persistence path uses the existing content-addressed OPFS store. A real Chromium origin quota of 64 KiB rejects a 128 KiB candidate, while the previously committed GLB remains readable after Storage Worker restart. Raising the quota allows a small follow-up asset to commit.
Evidence
node --test web/tests/unit/glb-recovery.test.mjspassed 2/2 for cancel, quota, commit, and generation transition invariants.CHROME_PATH=/usr/bin/google-chrome-stable WEB_TEST_PORT=5455 node_modules/.bin/playwright test --config playwright.config.ts --workers=1 tests/e2e/glb-recovery.spec.tspassed 2/2 in Chrome 150. The first real-quota run reached the expected browser failure but the assertion only accepted the injected error wording; the final run accepts both native and injected quota messages.node tools/web/check-glb-recovery.mjspassed withglb-recovery-ok cancelled=2 workerGeneration=2 quota=GLB_OPFS_QUOTA smallRecovery=true next=M12-07A.npm --prefix web run typecheck,node --check tools/web/check-glb-recovery.mjs, andgit diff --checkpassed. The package manifest remains unchanged.
Artifact Hashes
- parent manifest:
27b42da0683dab11a884553440088c30cf58d51364268fdaac86668786aaedd4 - recovery protocol:
da4e2a546d7598e80798cfebd105e52b7522c896acb545710c78bb8a5c3705aa - storage protocol/client/Worker:
2c8ce9e32fcae973e9262a024fd849221680104bcd427ec308f99ef25112d951/00cd35e4632479e4cd153314113e201c822fd209ae6c8e9fbeff5f1399728565/80bf4d2ac59cbf7998c2a72c8961ae38abe43685b60df564d0746e1a45e9e1bc - operation Worker/browser adapter:
947c4a768422725ff2f689b2eefa8068bee51bb7ff342af17e8d4a4d0a4a7ca2/2c753a04c153471c2bf7691073b836d968a1a1300e3da038f493983b46738cdf - unit/Chromium:
6dd48f62a85c5aaf3a04b6e572a47a7986b23cbec84a099ea510af81e8dd3a3a/7d95e992f44fb913f70c104f0d6b23bd76f47d48db4a21899e35ae1d188e2093 - checker/report:
b185248fdcd6b3cee84252bd68fcb6921bb6385bfa4a00486e93c58e94755cce/1a008a76590573468446ca6e5cbdfe0ea5a8b27493291590d937b90db90d6e42 - package:
cfb232baa494ff59f6c8d65514a08c86332ee9354350b2a0392b6f932a7ee42c - manifest:
1c732b8d9f1a0bdb502f44e2e843e91efea12e93483a35658f8a9c70a69a2430
Next Task
M12-07A: OBJ single-Mesh positive fixture covering position, normal, UV, and material group.
Rollback
Remove the GLB recovery receipt, quota fault option, Worker/browser adapter, tests, checker, report, manifest, and this status entry. Restore M12-06F as the queue tail and move the machine queue back to M12-06G. No parity ledger rollback is required.