48 lines
2.1 KiB
Markdown
48 lines
2.1 KiB
Markdown
# 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-restart` passed 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_INVALID` before a snapshot is published.
|
|
- Typecheck, lint, and `git diff --check` passed.
|
|
|
|
## 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.
|