2.3 KiB
M12-01D Status
status: done task: define and verify schema v1 to v2 forward migration updated: 2026-08-17 America/New_York enablingTask: true parityStateChange: false
Scope
The forward migration first validates the current production schema v1 manifest and rejects undeclared fields before conversion. Canonical UUIDs are preserved; legacy catalog IDs map deterministically through RFC 4122 UUIDv5 with a fixed namespace. The v1 parent graph becomes Blender cleaned slash paths, and assets receive SHA-256 IDs from Blender weak-reference identity.
Logical revision is preserved. Author/license/tag/source bindings, optional source paths, preview receipts, and the complete library dependency graph survive migration. Metadata absent from v1 receives explicit defaults recorded in the migration report. The report binds canonical source/target hashes and every legacy-to-v2 catalog/asset identity mapping.
Evidence
npm --prefix web run test:asset-catalog-migrationpassed 3/3.- A schema v1 fixture with three catalogs, two asset kinds, one preview, two source bindings, and two dependent libraries migrated to the checked-in schema v2 golden and exact report.
- Repeating the migration on a cloned source produced byte-equivalent semantic objects and the same source/target SHA-256 values. A canonical source UUID remained unchanged.
- M12-01C regression, typecheck, lint, and
git diff --checkpassed.
Artifact Hashes
- migration protocol:
6d74bc5605f94e05208eda82830192d38f88066dfc409058555a8876c785f226 - generator:
954d15c02d68e3f644b57c8c4c136ce09bd037a0af2012bf74b97f681c77dd60 - unit suite:
6b927e7a8238e4e0a77cc0fdf783b099d8add22c5f875df2299012eb32730186 - v1 fixture:
1cc43d181afefd63b53cb9c3626bb58195fad20187d6e534adc1ecbe65f75da5 - v2 fixture:
38e5d1771b3d2d63ce5e10268eac4513f2043b0cbf71ab1799c1868bc2aa97fb - migration report:
57b972c1bbb9ae326c3f264c225c21546682442ff3194fbc343e1c46a2cd410a - manifest:
fea9e01b51f64a7e9c15dcfc521b3e84636525ffbe0a849f7a6f1b0be2b02e9d
Next Task
M12-01E: define the read-only/block policy when a schema v1 reader encounters schema v2.
Rollback
Remove the migration protocol, generator, unit suite, M12-01D fixtures/report/manifest, package
command, and this status entry. Restore M12-01D to pending and nextTask to M12-01D. No parity
ledger rollback is required.