Skip to content

Retain selected manifests for clean reopen - #200

Merged
piroyoung merged 1 commit into
mainfrom
186-clean-manifest-reopen
Aug 8, 2026
Merged

piroyoung merged 1 commit into
mainfrom
186-clean-manifest-reopen

Conversation

@piroyoung

Copy link
Copy Markdown
Contributor

Summary

  • retain the complete selected DatabaseManifest in domain typestate instead of reducing it to composition identity
  • move the RecoveryRequired lifecycle gate from memory/filesystem adapters into the domain binding transition
  • expose the exact selected manifest through generic adapter selections so the next clean-reopen phase can validate its certificate
  • preserve filesystem rejection of legacy child headers before WAL/page finalization or tail repair

Acceptance evidence

  • generic acquisition observes an exact Clean manifest without granting recovery authority
  • recovery-required acquisition rejects Clean through the domain binding error
  • legacy-child rejection leaves WAL and page-store bytes unchanged
  • full pinned Technical Governance suite passes on Rust/Cargo 1.97.1

Refs #186

Move the recovery-required lifecycle gate into domain typestate while preserving pre-repair stable-child rejection in the filesystem adapter. Expose the exact selected manifest through generic memory and filesystem selections for clean reopen validation.\n\nRefs #186\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>\nCopilot-Session: 9e85df59-6de2-4170-bc09-2afb36dee35f
@piroyoung
piroyoung merged commit b369af4 into main Aug 8, 2026
2 checks passed
@piroyoung
piroyoung deleted the 186-clean-manifest-reopen branch August 8, 2026 01:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant