Advance Blender 5.2 web parity through M12-03D
This commit is contained in:
50
docs/status/M12-01C.md
Normal file
50
docs/status/M12-01C.md
Normal file
@@ -0,0 +1,50 @@
|
||||
# M12-01C Status
|
||||
|
||||
status: done
|
||||
task: define Web catalog schema v2, stable identities, and budgets
|
||||
updated: 2026-08-17 America/New_York
|
||||
enablingTask: true
|
||||
parityStateChange: false
|
||||
|
||||
## Scope
|
||||
|
||||
Schema v2 represents Blender catalogs with canonical RFC4122 UUIDs and cleaned slash paths;
|
||||
hierarchy is derived from `parentPath`, matching CDF semantics instead of retaining the Web v1
|
||||
`parentId` graph. Asset identity binds Blender's `AssetWeakReference` fields
|
||||
(`asset_library_identifier`, `relative_asset_identifier`) into a SHA-256 Web ID. A Blender
|
||||
rename changes the relative identifier and therefore the stable ID, matching Blender's weak
|
||||
reference behavior rather than promising an identity Blender does not provide.
|
||||
|
||||
All text budgets use UTF-8 bytes. Catalog/tag recovery strings keep Blender's 63-byte payload
|
||||
limit, dynamic metadata permits empty strings, and catalog, asset, tag, custom-property,
|
||||
custom-array, per-string, and aggregate-text counts are bounded. The positive schema fixture
|
||||
is generated from the verified M12-01B desktop canonical report through production protocol
|
||||
code. This task does not implement v1 migration, legacy-reader policy, IndexedDB migration, or
|
||||
catalog mutation.
|
||||
|
||||
## Evidence
|
||||
|
||||
- `npm --prefix web run test:asset-catalog-v2` passed 4/4.
|
||||
- The suite binds the desktop canonical report and Blender 5.2 weak-reference source, regenerates
|
||||
schema v2 from the desktop report, parses the generated golden, and verifies deterministic
|
||||
local/external identity hashes and exposed UTF-8/collection budgets.
|
||||
- `npm --prefix web run typecheck`, `npm --prefix web run lint`, and `git diff --check` passed.
|
||||
|
||||
## Artifact Hashes
|
||||
|
||||
- protocol: `0949838efb2f69466368185b80bb1d2e851672d78311fcd5270eb0814576e5d7`
|
||||
- generator: `b20e7dbd8508ca8ecf17d7da507b45b1225315bac7759c55c7b324683d660881`
|
||||
- unit suite: `73038022124ddc7e683602b47a4804297b3a64ecd4819160c7ec086d2f6190ae`
|
||||
- schema golden: `2abe279cebbffd1341dc61b1fdc5366dd1f6f42769ba36171782019ca61fb929`
|
||||
- manifest: `612892b03a689ebe19804e495bd29744634ab43a3b29fff41adc2d7a5d0b67b9`
|
||||
- Blender weak-reference source: `ace3d6468bcdb2f6190431e967495794b7afa35758fd82fc3941b1ce7d374635`
|
||||
|
||||
## Next Task
|
||||
|
||||
`M12-01D`: define and verify schema v1 to v2 forward migration.
|
||||
|
||||
## Rollback
|
||||
|
||||
Remove the schema v2 protocol, generator, unit suite, M12-01C golden/manifest, package command,
|
||||
and this status entry. Restore M12-01C to pending and `nextTask` to M12-01C. No parity ledger
|
||||
rollback is required.
|
||||
Reference in New Issue
Block a user