Skip to content

fix(rewind): edit a message while another turn works in the folder - #599

Merged
klNuno merged 10 commits into
mainfrom
boite/edit-after-stop
Oct 19, 2026
Merged

klNuno merged 10 commits into
mainfrom
boite/edit-after-stop

Conversation

@klNuno

@klNuno klNuno commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

Note

Clanker Claude Opus 5.5 is responding on behalf of meetsu

editing a message right after Stop no longer fails with "another turn is working in this project": the messages rewind, and the files stay as they are while another agent still works in the folder.

what changed

  • a rewind beside a working turn in an overlapping folder cuts the messages and answers files.busy instead of refusing (code-checkpoints.ts).
  • nested folders overlap only when the outer snapshot's git ls-files lists one of their files (overlap in checkpoint-files.ts).
  • the same rule marks concurrent checkpoints, so .boite/worktrees/* turns no longer spoil the main checkout's.
  • the composer names the busy case (strings.en.ts, strings.fr.ts).

to question

Stop also stops sub-agents, which share the folder and finish after the parent. Their turns already make the removed checkpoint concurrent, so waiting would restore nothing more.

verified

  • bun test test/rewind-files.test.ts: 32 pass; the two new cases fail on main.
  • rewind, scheduler, thread-move and delegation tests: 149 pass.
  • vitest run src/lib/store-rewind.test.ts: 7 pass; bun run check: exit 0.
  • GPT-6.1 Sol (high): a nested repo tracked by the outer index and a fixture needing a git identity, both fixed in 359de4c1.
  • size: +574 core bytes and +296 UI bytes, under the 0.1 % growth the Bundle size job allows; no limit file to edit since ci: check bundle growth against the base, not a shared budgets file #611.
  • not verified: a real Stop then edit in the app.
  • no capture: only the text of the existing error toast changes, and the fake client cannot produce a busy rewind.

@github-actions github-actions Bot added documentation Improvements or additions to documentation core packages/core and packages/contracts ui packages/ui labels Oct 18, 2026
@coderabbitai

coderabbitai Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 55 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Repository: beboite/boite/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 2b86632b-70c5-4aa6-b88d-71f0e41f4cc8
📥 Commits

Reviewing files that changed from the base of the PR and between 9ea83fd and 177e956.

📒 Files selected for processing: 9
  • docs/context.md
  • packages/contracts/src/threads.ts
  • packages/core/src/threads/checkpoint-files.ts
  • packages/core/src/threads/code-checkpoints.ts
  • packages/core/test/rewind-files.test.ts
  • packages/ui/src/lib/store-rewind.test.ts
  • packages/ui/src/lib/store/threads.svelte.ts
  • packages/ui/src/lib/strings/en/composer.ts
  • packages/ui/src/lib/strings/fr/composer.ts
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added the ci Workflows and CI scripts label Oct 18, 2026
# Conflicts:
#	docs/ci.md
#	scripts/ci/budgets.json
# Conflicts:
#	docs/ci.md
#	scripts/ci/budgets.json
# Conflicts:
#	docs/ci.md
#	scripts/ci/budgets.json
# Conflicts:
#	docs/ci.md
#	scripts/ci/budgets.json
@klNuno

klNuno commented Oct 19, 2026

Copy link
Copy Markdown
Contributor Author

Note

Clanker Claude Opus 5.5 is responding on behalf of meetsu

#614 split strings.en.ts and strings.fr.ts into one file per part. When git merge origin/main stops on them, run bun scripts/migrate/split-catalogues.ts: it replays this branch's catalogue edits onto main's parts and stages them. A part both sides changed on the same lines keeps conflict markers.

# Conflicts:
#	packages/ui/src/lib/strings.en.ts
#	packages/ui/src/lib/strings.fr.ts
#	scripts/ci/budgets.json
# Conflicts:
#	docs/ci.md
#	scripts/ci/budgets.json
@klNuno

klNuno commented Oct 19, 2026

Copy link
Copy Markdown
Contributor Author

Note

Clanker Claude Opus 5.5 is responding on behalf of meetsu

#621 split packages/contracts/src/index.ts into one file per domain. When git merge origin/main stops on it, run bun scripts/migrate/split-contracts.ts: it replays this branch's contract edits onto main's domain files, rewrites their imports and stages them. A domain both sides changed on the same lines keeps conflict markers.

# Conflicts:
#	packages/contracts/src/index.ts
@klNuno
klNuno merged commit ee8bfa9 into main Oct 19, 2026
49 of 53 checks passed
@klNuno
klNuno deleted the boite/edit-after-stop branch October 19, 2026 08:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci Workflows and CI scripts core packages/core and packages/contracts documentation Improvements or additions to documentation ui packages/ui

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant