Files
workinf_Blender_Wasm/docs/status/M12-02D.md
mes123456 5a11045ca5
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
Advance Blender 5.2 web parity through M12-03D
2026-08-17 17:30:27 -04:00

2.4 KiB

M12-02D Status

status: done task: commit a catalog preview reference only after verified OPFS persistence updated: 2026-08-17 America/New_York enablingTask: true parityStateChange: false

Scope

The production coordinator first runs the M12-02C pre-decode gate, writes the content-addressed preview to OPFS, reads it back, and repeats identity verification. Only then may one IndexedDB transaction advance the catalog revision and write both the v2 preview reference and an M12-02D head receipt. The receipt binds project, asset, base/current revision, base/current manifest hash, preview identity, payload identity, and OPFS path.

The transaction rereads and compares the complete source catalog row before publication. A stale revision or changed row returns REVISION_CONFLICT; OPFS and transaction faults return STORAGE_TRANSACTION. An OPFS payload left by a failure is unreferenced, never presented as a committed catalog preview.

Evidence

  • WEB_TEST_PORT=5596 npm --prefix web run test:asset-preview-opfs-commit passed the artifact unit test 1/1 and the real Chromium OPFS/IndexedDB test 1/1.
  • BEFORE_OPFS_WRITE, AFTER_OPFS_WRITE, and AFTER_CATALOG_PUT faults all preserved the complete revision 7 catalog and left no commit receipt. Only the latter two left an unreferenced payload.
  • Success persisted and reread the 513-byte payload before advancing the catalog to revision 8; closing and reopening IndexedDB reproduced the same preview and receipt and rehashed OPFS bytes.
  • npm --prefix web run typecheck, npm --prefix web run lint, and git diff --check passed.

Artifact Hashes

  • commit coordinator: 36418e480b108eb885b5d8da6633174ed1face1fa62742a64372a45280e727a2
  • Chromium suite: 043b9b06d4c0275938cc1d4f9837df95f58f281130f3c0f2b90c10540244592e
  • unit suite: f489a1d9a4c5fb24a99bce6d31841534c7cf3981b53076a0d9e19d106e9d0d74
  • manifest: 34fe6c6ab097e58f7b648dd84cb919ecb407a5742e387c513bb3ed53db50eed6
  • package commands: 7363a8a03cb5f6b1d6bf40d8eabc90b9d48e91aeb4787b175deb4f242c676243

Next Task

M12-02E: deduplicate identical preview content without allowing different asset metadata to overwrite the shared payload.

Rollback

Remove the OPFS/catalog commit coordinator, Chromium and unit suites, M12-02D manifest, package command, and this status entry. Restore M12-02D to pending and nextTask to M12-02D. No parity ledger rollback is required.