2.1 KiB
M12-01H Status
status: done task: preserve catalog order and asset identity across page and Worker restarts updated: 2026-08-17 America/New_York enablingTask: true parityStateChange: false
Scope
The production catalog index loader validates the stored schema v2 manifest, recomputes its canonical SHA-256, and compares it with the committed migration receipt before publishing a snapshot. The snapshot exposes persisted catalog order, asset order, stable asset IDs, Blender weak-reference components, revision, and manifest identity.
A page migrates the M12-01D v1 fixture, reloads, and reads the same database again. Two separate module Workers then open the database in sequence, with generation 1 terminated before generation 2 starts. All four contexts must return the same complete snapshot.
Evidence
WEB_TEST_PORT=5594 npm --prefix web run test:asset-catalog-restartpassed Node 5/5 and Chromium 2/2, including the full M12-01G abort/reopen regression.- Initial page, reloaded page, Worker generation 1, and Worker generation 2 returned exactly the same 3 catalog IDs in order, 2 asset IDs in order, weak-reference components, revision 7, and manifest SHA-256.
- A stored receipt whose target hash or revision drifts from the parsed v2 index is rejected as
ASSET_MANIFEST_INVALIDbefore a snapshot is published. - Typecheck, lint, and
git diff --checkpassed.
Artifact Hashes
- production IndexedDB reader:
283a08bccb5ea301bd2aef8f01d4496972e3962f75e340479336c50e3539ba57 - restart Worker:
e6007d352555be046b89d0becd719692652ee0418cc97087bf7599155f2a538e - browser suite:
7945ff38dd474a74c265594b66534a280eb69407509137e60d41f1bea3b3c19b - artifact unit:
eb22b5cc852fa47d9bdd30afec2977facfca0dfa554e7ce738dc1bf8c4bf2122 - manifest:
59138eb83d63ae0d397b152e587fbe005d02bc2d229ee484c279b452ea3f2eae
Next Task
M12-01I: bind the schema fixture, migration report, and hashes into M12-01 evidence.
Rollback
Remove the restart snapshot reader, Worker/browser/unit suites, M12-01H manifest, package
command, and this status entry. Restore M12-01H to pending and nextTask to M12-01H. No parity
ledger rollback is required.