Skip to content

Publish clean database manifests - #199

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

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

Conversation

@piroyoung

Copy link
Copy Markdown
Contributor

Summary

  • add a one-use domain permit and exact receipt for ClosePending -> Closed clean-manifest publication
  • retain every database and transaction owner in terminal failure results, with explicit durable-state classification and no same-owner retry authority
  • model selected, candidate, and synchronized manifests with all memory fault timings
  • publish filesystem Manifest V2 through a locked candidate, candidate sync, atomic replacement, inode/byte verification, and parent-directory sync
  • publish clean-close checkpoint evidence in a physically disjoint sibling slot without changing the recovery-selected checkpoint
  • reject Clean manifests at the recovery-required acquisition boundary while keeping generic manifest observation available for the next clean-open phase
  • record the boundary and ordering in ADR 0070

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
Refs #180

Add one-use clean-manifest publication authority, terminal owner-retaining failures, and exact Closed transition evidence across domain, memory, and filesystem adapters. Model and test every publication durability boundary while keeping clean-close checkpoint candidates disjoint from recovery selection.\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 4db46d9 into main Aug 8, 2026
2 checks passed
@piroyoung
piroyoung deleted the 186-clean-manifest-publication branch August 8, 2026 01:00
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