Skip to content

(engine) Make multi-file rename application transactional - #427

Merged
tcballard merged 1 commit into
codex/engine-confine-rename-writesfrom
codex/engine-transactional-rename
Aug 3, 2026
Merged

(engine) Make multi-file rename application transactional#427
tcballard merged 1 commit into
codex/engine-confine-rename-writesfrom
codex/engine-transactional-rename

Conversation

@tcballard

Copy link
Copy Markdown
Collaborator

Summary

  • make decided rename --apply transactional across the identity file and inbound references
  • preflight every affected file for containment, permissions, staleness, and rendered output before any replacement
  • stage rendered files as exclusive sibling files, commit via sibling backups, and roll back in reverse order on failure
  • document the recovery contract in ADR-130 and the CLI/port contract docs

This is stacked on the root-confinement fix in #426 and closes #408.

Validation

  • cargo test --workspace
  • cargo clippy -p asdecided-core --all-targets -- -D warnings
  • cargo build --release --bin decided --bin decided-mcp
  • live corpus: decided validate decisions --json — 449/449 checked, 0 invalid, OKF conformant
  • live corpus: decided sentry decisions --full --json — OK, no findings

@tcballard
tcballard force-pushed the codex/engine-transactional-rename branch from 1730673 to 25a33c3 Compare August 3, 2026 03:58
@tcballard
tcballard force-pushed the codex/engine-confine-rename-writes branch from b4443d6 to 3f5c91e Compare August 3, 2026 03:58
@tcballard
tcballard marked this pull request as ready for review August 3, 2026 05:58
@tcballard
tcballard merged commit 0895893 into codex/engine-confine-rename-writes Aug 3, 2026
10 of 15 checks passed
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