46 lines
2.0 KiB
Markdown
46 lines
2.0 KiB
Markdown
# M12-01E Status
|
|
|
|
status: done
|
|
task: define schema v2 behavior for a schema v1 reader
|
|
updated: 2026-08-17 America/New_York
|
|
enablingTask: true
|
|
parityStateChange: false
|
|
|
|
## Scope
|
|
|
|
A native schema v1 document remains `READY`. A valid schema v2 document exposed to a v1
|
|
reader yields a bounded `READ_ONLY` snapshot for metadata inspection, while catalog writes,
|
|
asset writes, and save all return `ASSET_SCHEMA_DOWNGRADE_BLOCKED`. Unknown future schema
|
|
versions return non-recoverable `PROTOCOL_MISMATCH` with no snapshot.
|
|
|
|
Every result binds a canonical source SHA-256. Inspection does not mutate or downgrade the
|
|
source document, and no write path can serialize the lossy read-only projection. This task
|
|
defines compatibility behavior only; it does not implement IndexedDB migration or catalog
|
|
mutation parity.
|
|
|
|
## Evidence
|
|
|
|
- `npm --prefix web run test:asset-catalog-legacy-reader` passed 4/4.
|
|
- Generated evidence covers v2 read-only metadata, all three write/save blocks, native v1
|
|
readiness, future-schema rejection, equal source hashes, and source object immutability.
|
|
- M12-01C/D regressions, typecheck, lint, and `git diff --check` passed.
|
|
|
|
## Artifact Hashes
|
|
|
|
- compatibility protocol: `5d51029b232e03f08fc0778d4933910b2a54818b4d653fbcc185c8d764641349`
|
|
- error contract: `309ab84d5c755a69466ddb73e4b54e87caf62cbcac0f10f34d904e9f6f4a5f34`
|
|
- generator: `208f568db092e1712095d77ab28db92d5a1eb11fe62813b237ce466f9268fd4e`
|
|
- unit suite: `f6477222412044e6784b64c1be83dc9bd6050fe6a955ba5430a4ea963b20dbb4`
|
|
- compatibility report: `3c2f9241b56ad5bd742dc4152dec703bdc56eef4e6d8d60e6edf163c4571ad54`
|
|
- manifest: `cf55ea1f9430df04fb55bf07c68c1b2099b044b0da0fdb07a7251b13c459724b`
|
|
|
|
## Next Task
|
|
|
|
`M12-01F`: add duplicate ID, cyclic parent catalog, overlong text, and unknown-field negatives.
|
|
|
|
## Rollback
|
|
|
|
Remove the compatibility protocol, generator, unit suite, M12-01E report/manifest, error code,
|
|
package command, and this status entry. Restore M12-01E to pending and `nextTask` to M12-01E.
|
|
No parity ledger rollback is required.
|