2.0 KiB
M12-03G Status
status: done task: block every linked data writer before Main mutation updated: 2026-08-17 America/New_York enablingTask: false parityStateChange: false
Scope
The schema-1 linked mutation gate covers object transforms, mesh geometry, mesh material slots,
material properties, material image nodes, and packed image data. Every request must identify a
SOURCE_LIBRARY owner with linkedLibrary=true and readOnly=true. A current linked request is
blocked with LINKED_DATA_MUTATION_BLOCKED before any Main writer can run; stale revisions remain
REVISION_CONFLICT, and malformed or ownership-substituted requests fail closed.
This task does not claim a linked writer, reload, relocation, missing-library recovery, or full N-023 Link parity. The desktop linked ownership contract is the M12-03F input to this gate.
Evidence
npm --prefix web run test:library-linked-mutationpassed 3/3 unit tests.- All six linked writer operations return
BLOCKEDwith exactlyLINKED_DATA_MUTATION_BLOCKED,recoverable=false, and no Main mutation path. The test also verifies the schema round-trip for each operation. - A stale revision returns
REVISION_CONFLICT; an unknown field, unsupported operation, or owner / read-only substitution returnsTASK_VALIDATION_FAILEDorLINKED_DATA_MUTATION_BLOCKEDbefore any writer invocation.
Artifact Hashes
- protocol:
f629e0e7e04dc1f5437b6e2ca62fbe35484fc238830fa47e8358bcab46b7e104 - unit:
f19d47cefe89daf6123062e045ec717e6ffe60977e8a4b20c996dd62e49da211 - manifest:
890891fda5c91b08d157927170fb33190ae0d8a49f8962b88c8554307c0c06a8 - package commands:
cfb232baa494ff59f6c8d65514a08c86332ee9354350b2a0392b6f932a7ee42c
Next Task
M12-03H: library reload replaces only the matching linked generation snapshot.
Rollback
Remove the linked mutation protocol, unit suite, manifest, package command, and this status entry.
Restore M12-03F to pending and move the machine queue back to M12-03F. No parity ledger rollback
is required.