44 lines
1.8 KiB
Markdown
44 lines
1.8 KiB
Markdown
# M12-03H Status
|
|
|
|
status: done
|
|
task: library reload replaces only the matching linked generation snapshot
|
|
updated: 2026-08-17 America/New_York
|
|
enablingTask: false
|
|
parityStateChange: false
|
|
|
|
## Scope
|
|
|
|
Schema-1 reload requests identify one `SOURCE_LIBRARY` and an expected generation/revision. The
|
|
replacement must keep the same library identity, advance exactly one generation, advance the source
|
|
revision, and retain a read-only source-library data-block closure. Only the unique matching snapshot
|
|
is replaced; other libraries and other generations remain unchanged.
|
|
|
|
Malformed requests, duplicate state identities, owner substitution, skipped generations, and stale
|
|
generation/revision requests fail closed before any Main mutation. A stale request returns
|
|
`REVISION_CONFLICT` and an unchanged state.
|
|
|
|
## Evidence
|
|
|
|
- `npm --prefix web run test:library-linked-reload` passed 4/4 unit tests.
|
|
- The matching-generation case replaces one snapshot atomically while preserving a future generation
|
|
and an unrelated library; the input state remains immutable.
|
|
- Stale, malformed, duplicate, owner-substituted, and non-adjacent reload cases are rejected without
|
|
publishing a partial state.
|
|
|
|
## Artifact Hashes
|
|
|
|
- protocol: `8be6f0b2abe36cd566ea7447d1b7de44c0e6a9a7351b863dfdd1372c1761060e`
|
|
- unit: `dff866291468cc01e775fe3b3b95c632f5c0742566f79b956a0193bfd8fd43d2`
|
|
- manifest: `dd96702dcb064779de3fc33ce1200d75615e7b75a3418a45a309e0e612fdb7df`
|
|
- package commands: `cfb232baa494ff59f6c8d65514a08c86332ee9354350b2a0392b6f932a7ee42c`
|
|
|
|
## Next Task
|
|
|
|
`M12-03I`: missing library preserves a placeholder and the original source reference.
|
|
|
|
## Rollback
|
|
|
|
Remove the linked reload protocol, unit suite, manifest, package command, and this status entry.
|
|
Restore M12-03G to pending and move the machine queue back to `M12-03H`. No parity ledger rollback
|
|
is required.
|