# M12-03I Status status: done task: missing library preserves placeholder and original source reference updated: 2026-08-17 America/New_York enablingTask: false parityStateChange: false ## Scope Schema-1 missing-library requests match a linked source library by source identity, generation, and revision. Marking a matching reference missing changes only its status and adds a `MISSING_LIBRARY` placeholder. The original locator, source SHA-256, generation, revision, and every data-block ID remain attached to the reference; unrelated libraries remain unchanged. Stale generation/revision and source hash drift return a stable conflict without deleting or replacing the reference. Malformed fields, duplicate identities, and inconsistent placeholder data fail closed. ## Evidence - `npm --prefix web run test:library-linked-missing` passed 4/4 unit tests. - The matching case preserves original source metadata and data-block IDs while publishing only the placeholder status transition. - Stale, source-drift, undeclared-field, duplicate-identity, and invalid-placeholder cases publish no partial state. ## Artifact Hashes - protocol: `5833e8c943ef6bd866a93a0e1666c9521fa6d3e8358861df57b628874b679ec2` - unit: `4ab6d6ff4845b4ca963399e7eea214ceb412871dc1fdef5bac1ed0333596da4f` - manifest: `f5fa606161b93e9ee42e7ca8144d2a83379acf601c5045eb8cc76732f8dba431` - package commands: `cfb232baa494ff59f6c8d65514a08c86332ee9354350b2a0392b6f932a7ee42c` ## Next Task `M12-03J`: desktop override fixture records reference, local owner, and property override path. ## Rollback Remove the missing-library protocol, unit suite, manifest, package command, and this status entry. Restore M12-03H to pending and move the machine queue back to `M12-03I`. No parity ledger rollback is required.