2.1 KiB
M12-02E Status
status: done task: deduplicate identical preview content without merging asset metadata updated: 2026-08-17 America/New_York enablingTask: true parityStateChange: false
Scope
Two catalog assets with distinct Blender weak-reference identities and distinct catalog metadata may bind the same verified preview content. The M12-02D coordinator keys OPFS storage only by the content SHA-256, while catalog entries and preview identity hashes remain asset-specific. A second commit of identical bytes reuses the existing payload after a full readback/hash check.
No catalog metadata is derived from or stored inside the shared payload record. Each transaction updates only its targeted asset's preview field and advances the guarded catalog revision.
Evidence
WEB_TEST_PORT=5597 npm --prefix web run test:asset-preview-deduppassed the artifact unit test 1/1 and real Chromium OPFS/IndexedDB test 1/1.- Two distinct asset/identity hashes committed at revisions 8 and 9; the second commit reported
deduplicated=trueand the OPFS content directory contained exactly one final file. - Both catalog entries referenced the same 513-byte/hash payload while their complete non-preview metadata remained byte-for-byte equal to their different baseline records.
- Database reopen reproduced revision 9, the second asset head receipt, and the shared preview; stored payload bytes rehashed to the declared content digest.
Artifact Hashes
- Chromium suite:
4e53b7a35eb109b152bd6dc0c3348dcb08879d17619968d37fc761c67aa38b40 - unit suite:
e023fdd33e0f40c1331dfdd73cd287dc684256b9d134971ab17db8cfe2a83835 - manifest:
7d25f1d8335481795257c643c8589d1607a865634b27a7e5d145a57ce2a92a62 - package commands:
5a83676e821bb768f6d3e282ea4728413cf84c5f3d57672fc664fac3883873e5
Next Task
M12-02F: quarantine corrupt preview content while keeping asset metadata readable.
Rollback
Remove the deduplication Chromium/unit suites, M12-02E manifest, package command, and this status
entry. Restore M12-02E to pending and nextTask to M12-02E. The shared coordinator and parity
ledger do not require rollback.