Skip to content

feat(native): add durable persistent data enrollment foundation - #235

Closed
roodboi wants to merge 2 commits into
nextfrom
feat/native-persistent-data-enrollment
Closed

roodboi wants to merge 2 commits into
nextfrom
feat/native-persistent-data-enrollment

Conversation

@roodboi

@roodboi roodboi commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Persistent data needs a stable owner across independent compute generations. This adds an inactive enrollment layer over the closed owner codec: it synchronizes an exclusive pending intent before one original-create attempt, captures that attempt's exact volume identity, and promotes only after fresh guest/volume and private root/lock/record fences. Existing names, pending attempts, replacements and incomplete staging refuse. Existing-only retained reads preserve the original record and never create, adopt, repair or delete data.

The sealed transport requires atomic exclusive creation; Docker's idempotent volume-create API cannot provide that guarantee by itself. Only a stand-in implements the transport here. No CLI/runtime/provider activation is included. Failure after enrolled rename or directory synchronization remains uncertain, and a later data-only comparison does not prove the failed invocation completed or authorize effects. SQL retention, guest rollover, initializer lifecycle and full NC05 acceptance remain open.

This draft is stacked on #233's codec and targets next. The finite model is registered with the maintained checker and distinguishes original-create, pending, publication, synchronization, failure and compute retirement; it does not qualify real durability or application data.

Validation:

  • Pinned Rust 1.97.1: 15 focused tests passed (9 enrollment filesystem/stand-in controls and 6 codec controls), formatting, and default/all-feature all-target Clippy with warnings denied.
  • Pinned TLC: exhausted 38 states; four deliberate faults hit the expected invariant/action witnesses. Five registry verifier tests passed with 57 assertions.
  • Scoped strict TypeScript, changed-file lint, privacy, diff and Conventional Commit checks passed.
  • Independent source review approved the owner and model. Current-head hosted CI remains a separate gate. No live engine/provider or SQL qualification was performed.

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

@blacksmith-sh

blacksmith-sh Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Found 1 test failure on Blacksmith runners:

Failure

Test View Logs
native-compose-adoption-job-worktrees (32.9s) — Completed-job worktree acceptance refus
ed; values omitted./
native-compose-adoption-job-worktrees (32.9s) — Completed-job worktree acceptance refus
ed; values omitted.
View Logs

Fix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

@roodboi

roodboi commented Oct 9, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #245, merged into next as d19cdd3. This exact branch head is an ancestor of the independently reviewed #245 head e1e6da9; its inactive persistent-storage groundwork is included in that cumulative change. Live guest delivery, retirement and ordinary persistent SQL remain open under NC05.

@roodboi roodboi closed this Oct 9, 2026
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