Skip to content

Isolate integration dry-runs in disposable clones - #74

Merged
adampoit merged 2 commits into
mainfrom
isolation
Aug 15, 2026
Merged

Isolate integration dry-runs in disposable clones#74
adampoit merged 2 commits into
mainfrom
isolation

Conversation

@adampoit

Copy link
Copy Markdown
Owner

No description provided.

@not-adam

not-adam Bot commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

Mira PR Walkthrough

This PR isolates integration-sync dry runs from the caller’s working repository by cloning the repository into a disposable temporary directory, copying local branch refs, and running the sync inside that clone before cleanup. It adds coverage for both ordinary repositories and colocated Jujutsu working copies, ensuring HEADs, refs, remotes, working-tree state, and files remain untouched. The change also introduces a reproducible Nix development shell and updates CI and publishing workflows to run dependency installation, artifact/eval checks, and tests through that shell.

graph LR
sync["src/integration-sync.ts"] --> clone["temporary clone"]
clone --> refs["local branch refs"]
clone --> tests["tests/integration/sync.test.ts"]
flake["flake.nix"] --> ci[".github/workflows/ci.yml"]
flake --> publish[".github/workflows/publish.yml"]
Loading
Confidence: 4/5   ◉◉◉◉○   Safe with minor fixes
  • The isolation path is narrowly implemented and backed by focused integration tests, including a colocated Jujutsu case; the main residual risk is operational behavior of cloning/copying refs across unusual repository or remote configurations.

Blast Radius — 2 dependent repositories, 3 total references

adampoit/mira — 1 reference
adampoit/wezterm — 2 references

6 files reviewed


Comment @not-adam help to get the list of available commands and usage tips.

@adampoit
adampoit merged commit 51120be into main Aug 15, 2026
2 checks passed
@adampoit
adampoit deleted the isolation branch August 15, 2026 20:25
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