feat(templates): deliver on a branch in the current checkout, not a worktree - #24
Merged
Conversation
…orktree The worktree existed for one case — several sessions at once on one repo — and that is the user's own setup, not a step every single-session run should pay for: a directory to create, one to switch into, one to remember to remove, and a stale checkout left behind whenever a run died before the last step. What survives is the line it was really carrying: leave the checkout back on `main` and clean, because that is where the next unit of work starts. delivery.md becomes `git switch -c <type>/<slug>`, with the parallel-session worktree named once as the user's to set up. `plan-run` asks three kickoff questions instead of four, and `worktree:` stops being a frontmatter answer: it leaves loopValues, checkLoopAnswers and the `map brief` line. A plan that already recorded `worktree: per-group` keeps validating — the key is ignored, not rejected — and simply stops being displayed. Template set 14 -> 15. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ECsTMymG9rUZWKdFvU6wMz
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
The worktree is out of the implementation procedure. It existed for one case — several Claude Code sessions at once on one repo — and that is the user's own setup, not a step every single-session run should pay for: a directory to create, one to switch into, one to remember to remove, and a stale checkout left behind whenever a run died before the last step.
What survives is the one line the worktree was really carrying: leave the checkout back on
mainand clean, because that is where the next unit of work starts.rules/delivery.md— nowDelivery — branch, PR, and the step isgit switch -c <type>/<slug>in the checkout you are in. The parallel-session worktree is named once, as the user's to set up. Still 62 lines, inside its grandfathered cap.skills/plan-run/SKILL.md— three kickoff questions instead of four. Out go theworktreerow, thein-placecost bullet, step 8 ("remove the worktree"), and the debris paragraph in Resuming, which now asks which branch to read rather than which checkout.commands/scc-plan-run.md,agents/code-review.md,agents/security-review.md— the two review agents' "in a worktree, read that path" guard is gone; it protected against nothing scc creates any more.worktreeleavesloopValues/checkLoopAnswers(internal/validate/plan.go) and themap brieffrontmatter line (internal/cli/map.go).orchestration.md§6 (with the removed key recorded and why), §8 and §9;plan.md,plan-format-v2.md,research.mdaligned.Compatibility
A plan that already recorded
worktree: per-groupkeeps validating. The validator only checks keys it knows, so the key is ignored rather than rejected — it just stops appearing inmap brief.How it was verified
make check—gofmt -l,go vet, and the full suite with-race.TestPlanLoopAnswersnow expects two findings;TestSetFrontmatterKeepsTheOrderAskeduseslangin place of the removed key.TestFreshArtifactsPassTheirOwnValidatorsandTestRulesStayShortEnoughToBePreloadedare the two gates that cover the template edits, and both pass.🤖 Generated with Claude Code
https://claude.ai/code/session_01ECsTMymG9rUZWKdFvU6wMz