Skip to content

Add database close preparation gate - #198

Merged
piroyoung merged 1 commit into
mainfrom
186-database-close-gate
Aug 7, 2026
Merged

piroyoung merged 1 commit into
mainfrom
186-database-close-gate

Conversation

@piroyoung

Copy link
Copy Markdown
Contributor

Summary

  • consume LiveDatabase into a proof-bound ClosePendingDatabase while
    retaining all database and transaction owners
  • bind the fresh transaction close proof to the retained RecoveryRequired source
    manifest and construct the exact adjacent Clean Manifest V2
  • add explicit unclean abandonment plus a physically disjoint in-memory
    clean-close checkpoint candidate and deterministic fault coverage

Safety boundary

The gate preflights source-manifest identity, lifecycle, and generation before
invoking transaction candidate publication. Transaction and post-proof failures
remain terminal, retain exact ownership, expose no stale retry, and never
construct ClosedDatabase. Clean-manifest publication remains the next focused
#186 phase.

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

Refs #186

Consume live database ownership into a proof-bound ClosePending state, retain the exact adjacent clean manifest, model explicit abandonment, and add a disjoint memory clean-close checkpoint candidate.\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 a61aace into main Aug 7, 2026
2 checks passed
@piroyoung
piroyoung deleted the 186-database-close-gate branch August 7, 2026 23:57
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