feat(instrument): reload persisted releases after restart - #171
feat(instrument): reload persisted releases after restart#171cursor[bot] wants to merge 3 commits into
Conversation
After process restart, load the stored locale, digest, item set, and publication state before starting a new session. A Published snapshot may start sessions on that exact form. Missing identity is absent. Duplicate stored item versions fail closed. Exact persist replay stays Duplicate. Publication evidence is not invented on reload. Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
There was a problem hiding this comment.
Assessment
load_instrument_release / from_persisted_snapshot is the right slice: any stored publication state reloads, missing identity is None, duplicate item versions fail closed, exact persist replay stays Duplicate, and reactivation still requires rebound evidence. Session start stays on #164. Do not merge this head in parallel with #164.
Blocking honesty issue
InstrumentReleasePersistenceError::InconsistentEvidence says the durable row "cannot reconstruct the published snapshot." This loader reconstructs Draft, Review, Published, Suspended, and Retired. An operator seeing that message on a Draft or Suspended form would treat the adapter as published-only and skip a catalog/admin decision that this slice exists to support.
Successor #179 (25b5516) renames that error to a stored-snapshot reconstruction failure and proves a reconstructed Review release still cannot Publish without rebound evidence. Prefer #179 over this head. Do not self-approve. Do not merge until exact-head checks and an independent last-push review pass.
Sent by Cursor Automation: Fix Issues


Superseded
This persisted instrument-release reload slice is fully contained in #179. Do not merge this predecessor.
Fresh exact ancestry evidence immediately before closure:
e6785a2f78e26f9edc1c8b9d4a958da0dd1f9ba187123079430065b88cd8c34e8850c83d07de0e46#179 retains generic persisted-release reconstruction/load behavior and adds honest stored-snapshot corruption semantics plus Review-state rebound-evidence coverage. #179 remains Draft and subject to unchanged exact-head CI/security/review gates. The separate stored-session-start lane (#164/#180) is not claimed superseded by this closure. Closing this PR does not promote successor behavior to protected-main truth.