Skip to content

Gate database Live ownership on recovery - #194

Merged
piroyoung merged 1 commit into
mainfrom
185-fail-closed-recovery-handoff
Aug 7, 2026
Merged

piroyoung merged 1 commit into
mainfrom
185-fail-closed-recovery-handoff

Conversation

@piroyoung

Copy link
Copy Markdown
Contributor

Summary

  • add the only RecoveryRequiredDatabase -> LiveDatabase gate and retain the exact recovery-complete transaction owner
  • compose filesystem and memory opens through generation-aware checkpoint selection, absent-checkpoint bootstrap, replay/repair, transaction restoration, restart completion, and WAL retention analysis
  • retain one exact CompatibilityContext, all database/child owners, and every failure-stage owner without automatic WAL reclamation or fallback from rejected checkpoints
  • add ADR 0066, dependency-graph enforcement, compile-fail coverage, exhaustive recovery-stage failure tests, all-lock contention tests, unpublished-candidate rejection, nonempty selected replay, and child-process crash/reopen coverage

Validation

  • cargo fmt --all -- --check
  • cargo test --workspace --all-features --locked
  • cargo clippy --workspace --all-targets --all-features --locked -- -D warnings
  • cargo run --locked -p ntsql-architecture-check
  • cargo run --locked -p ntsql-contract --bin ntsql-governance -- fixtures
  • cargo run --locked -p ntsql-contract --bin ntsql-governance -- provenance-offline
  • cargo run --locked -p ntsql-contract --bin ntsql-governance -- provenance-online
  • git diff --check

Closes #185
Refs #180

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 9e85df59-6de2-4170-bc09-2afb36dee35f
@piroyoung
piroyoung merged commit df82482 into main Aug 7, 2026
2 of 3 checks passed
@piroyoung
piroyoung deleted the 185-fail-closed-recovery-handoff branch August 7, 2026 20:29
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.

Open database fail-closed through recovery handoff

1 participant