2.2 KiB
M12-03B Status
status: done task: define source library identity, owner, read-only state, and invalidation tokens updated: 2026-08-17 America/New_York enablingTask: true parityStateChange: false
Scope
Schema 1 derives sourceLibraryId from a canonical source locator and source .blend SHA-256.
Each operation binding then fixes one source data-block, its operation-specific owner and read-only
state, source generation/revision, dependency-closure SHA-256, and a hash-derived invalidation token.
APPEND owns a writable local Main ID. LINK remains owned by the matching source library and is fully read-only. LIBRARY_OVERRIDE owns a writable local override while retaining a read-only linked reference and hierarchy root. This is a pure protocol task and does not mutate Blender Main.
Evidence
npm --prefix web run test:library-operation-identitypassed 6/6.- Stable source identity changes when either locator or source bytes change.
- APPEND/LINK/LIBRARY_OVERRIDE produce distinct invalidation tokens for the same source root and reject owner substitution, read-only drift, reference substitution, unknown fields, and forgery.
- Source library/hash, generation, revision, and dependency closure drift each return
REVISION_CONFLICT; the unchanged state revalidates the original binding exactly. - The one initial test expectation was corrected to the actual fail-fast exact-schema code, then the complete suite was rerun successfully.
Artifact Hashes
- protocol:
5371133bd98e05935cd75bab582abedec32a36559af8d212f0bc8a534ef19451 - golden bindings:
b39c0f26697ac688c1203ae4e3e27d8a02686c7c9da9afc438c89a0b4d69370f - unit suite:
0e5b2c82d481180eb8eb22de16ad8cdef5e58fa7423c26011faaffbac788e547 - manifest:
f388aedb9c0901932cf90c058f2f2b83259d9797cd6b144566a25e37a348c64b - package commands:
48cf41f0d0041bf4f497bc2a454cfa9469874eded1775cea50fe3249d4e0b59e
Next Task
M12-03C: create a desktop single-Object append fixture and record stable Object, Mesh, Material,
and Image mappings.
Rollback
Remove the library operation identity protocol, golden, unit suite, manifest, package command, and this status entry. Restore M12-03B to pending and the queue to M12-03B. No parity ledger rollback is required.