fix(ce-work): stop asking about branches before starting work - #1397
Conversation
Apply the ce-debug principle from #1385 to ce-work's setup step: branch creation and a local rename are reversible, so do them and say so instead of asking. On the default branch, create a feature branch named from the plan. On a feature branch, continue; rename an opaque auto-generated name only when the branch has no upstream. A dirty tree rides along on the branch move untouched; the one surviving question is when a unit edits a file the user already had dirty, asked once at the first commit that would include it (never in return-to-caller mode, which reports it in the envelope instead). Claude-Session: https://claude.ai/code/session_015USMWYow4KB4LvG8GmGf91
PR SummaryCursor Bugbot is generating a summary for commit fe15601. Configure here. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fe15601b40
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
- lfg reads pre_existing_edits_committed and records it in the run-report comment and PR context - "leave uncommitted" is an exclusion carried through the shipping handoff - default-branch fallback resolves main/master locally, not just origin/main; a bare main/master name counts as default - detached HEAD takes the create-a-feature-branch path Claude-Session: https://claude.ai/code/session_015USMWYow4KB4LvG8GmGf91
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c6be1ce60e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
- path-limit incremental commits so pre-staged user work stays out of unit commits
- rename only unpublished branches (remote lookup, not @{upstream})
- default-branch fallback checks origin main/master before local
- ce-commit and ce-commit-push-pr honor exclude:<paths> from callers
- lfg reads pre_existing_edits_committed regardless of behavior_change
Claude-Session: https://claude.ai/code/session_015USMWYow4KB4LvG8GmGf91
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 19b826ec16
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
- rename only on a positive never-published probe (ls-remote --exit-code == 2); failed probes keep the name - ce-commit and ce-commit-push-pr path-limit the commit so pre-staged index entries and exclude: paths stay out Claude-Session: https://claude.ai/code/session_015USMWYow4KB4LvG8GmGf91
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e87832a674
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
- replace the default-branch bash procedure with the condition and safe direction (unknown default => branch) - branch from HEAD; a Phase 4 gate keeps pre-existing unpushed commits local (ce-commit) instead of publishing them - stack construction honors exclude: paths and path-limits layer commits Claude-Session: https://claude.ai/code/session_015USMWYow4KB4LvG8GmGf91
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6140383fc6
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
- return-to-caller mode blocks on overlapping pre-existing edits instead of committing them; drop the lfg field plumbing that no longer applies - feature branch with a plainly unrelated open PR branches from the remote default instead - quote the branch name in the publication probe - stack construction never saves/moves/restores excluded files Claude-Session: https://claude.ai/code/session_015USMWYow4KB4LvG8GmGf91
- return-to-caller mode blocks before editing a file that was dirty at start, so the WIP is never mixed - different-PR branch move fetches the remote default and stops cleanly if dirty files block the switch Claude-Session: https://claude.ai/code/session_015USMWYow4KB4LvG8GmGf91
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 203d96d115
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
- ship handoff passes every uncommitted pre-work file as exclude: so the callee's dirty scan skips user WIP - pre-work snapshot enumerates untracked files individually Claude-Session: https://claude.ai/code/session_015USMWYow4KB4LvG8GmGf91
- return-to-caller mode returns status: blocked when the different-PR branch move cannot proceed Claude-Session: https://claude.ai/code/session_015USMWYow4KB4LvG8GmGf91
…auto-rename Eight review rounds had turned Step 2 into a list of git-mechanics cases (rename publication probes, exit codes, quoting, per-mode fallbacks). Restate it as the two conditions that must hold — work lands on a feature branch; nothing unoffered is committed or published — and the mechanisms that enforce them. Auto-rename is removed: it was cosmetic and the source of most cases. Claude-Session: https://claude.ai/code/session_015USMWYow4KB4LvG8GmGf91
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b103b390d8
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
- base the new feature branch on the fresh remote default when the local default is not ahead Claude-Session: https://claude.ai/code/session_015USMWYow4KB4LvG8GmGf91
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 73ada5e. Configure here.
- key the fresh-base choice on whether HEAD is ahead of the remote default, not the local default Claude-Session: https://claude.ai/code/session_015USMWYow4KB4LvG8GmGf91
* fix(ce-commit-push-pr): root PR stacks on the parent PR the user named (EveryInc#1365) * fix(ce-babysit-pr): decode gh output as UTF-8 on Windows (EveryInc#1368) * fix(ce-prototype): cover decisions settled by seeing, not just driving (EveryInc#1369) * perf(tests): cut suite wall time by splitting the largest test file (EveryInc#1370) * fix(tests): stop the cross-model routes test reading the working tree (EveryInc#1371) * fix(ce-doc-review): ask only where a real choice exists, batch the rest (EveryInc#1373) * chore(orca): re-pin upstream provenance baseline to 421a337 Co-authored-by: Cursor <cursoragent@cursor.com> * fix(ce-doc-review): align Orca ownership wording with Apply routing Co-authored-by: Cursor <cursoragent@cursor.com> * feat(ce-prototype): add a seeing-mode craft floor and durable storage (EveryInc#1374) * fix(ce-pov): stop the panel guessing the cross-model host argument (EveryInc#1375) * chore(cross-model): pin the Grok peer to 4.6 (EveryInc#1376) * docs(skills): rewrite user skill pages for accuracy and clearer use (EveryInc#1377) * fix(commit): append known plan unit ids to commit subjects (EveryInc#1379) * fix(ce-work): stop sandboxed workers committing in linked worktrees (EveryInc#1382) * fix(ce-doc-review): edit HTML plans in native format (EveryInc#1381) * fix(ce-code-review): cover adversarial after quota or auth no-review (EveryInc#1380) * fix(skills): correct a rejected dispatch instead of spending the fallback (EveryInc#1383) * fix(ce-compound): find Claude sessions started outside the repo root (EveryInc#1378) * ci(windows-native): retry peer-job-runner smoke on ctypes flake (EveryInc#1384) * fix(ce-debug): stop asking at the handoff, stop shipping unoffered work (EveryInc#1385) * docs(solutions): record why skill gates state conditions, not git commands (EveryInc#1386) * fix(skills): drop the residual-findings record file for real sinks (EveryInc#1387) * fix(ce-doc-review): run the cross-model pass when CROSS_MODEL_PEERS is unset (EveryInc#1389) * fix(ce-proof): sync with current Proof v3 contract (EveryInc#1390) * fix(skill-authoring): make goal-first the default when authoring and reviewing skills (EveryInc#1391) * fix(cross-model): let reviews run on Fable and pin model/effort from CE config (EveryInc#1392) * docs(cross-model): point superseded peer benchmarks at the luna/xhigh decision (EveryInc#1393) * fix(cross-model): discover the Codex.app-bundled codex CLI and name the peer-CLI requirement (EveryInc#1395) * feat(cross-model): add cross_model_review_mode checkout egress gate (EveryInc#1396) * fix(ce-compound-refresh): compare knowledge-track learnings against guidance they name (EveryInc#1399) * docs(solutions): capture the named-guidance contradiction-check learning (EveryInc#1400) * fix(ce-compound): prefer the repo's own frontmatter vocabulary over the Rails-era enums (EveryInc#1394) * fix(ce-work): stop asking about branches before starting work (EveryInc#1397) * fix(review): answer covered cases on skill prose with the condition, not a patch (EveryInc#1401) * fix(scratch): fall back to $TMPDIR when /tmp cannot host the scratch root (EveryInc#1398) * feat(ce-skill-work): repo-local skill for authoring, editing, reviewing, and responding to review on skills (EveryInc#1402) * fix(ce-pov): reject non-final peer positions instead of folding them in (EveryInc#1403) * feat(manifest): add Agent Plugins v1.0.0 manifest support (EveryInc#1345) * chore: release main (EveryInc#1354) * fix(ce-work): run cross-model verification on warm checkouts (EveryInc#1404) * fix(orca): reconcile upstream skill contracts * fix(orca): preserve additive Codex session roots --------- Co-authored-by: Trevin Chow <trevin@trevinchow.com> Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

Summary
ce-workno longer stops to ask about branches before it starts implementing. It applies the same rule #1385 gavece-debug: a branch move that is reversible in one command gets done and announced, not asked about. Previously the setup step could ask three questions before writing a line — rename this opaque branch?, continue here or start a new branch?, and a new-branch / worktree / stay-on-default menu.Step 2 is now stated as the two conditions that must hold, plus the mechanisms that enforce them:
HEADnamed from the plan and say so (a spare branch is the safe direction). Otherwise continue on the branch you were invoked on. No rename, no menu; a worktree or the default branch only when the user asked this session.exclude:); pre-existing unpushed commits keep the ship local viace-commit, mirroringce-debug. The one surviving question is a unit that must edit a file the user already had dirty — asked once, at the first commit that would include it. In return-to-caller mode (lfg) that case blocks before the edit instead of asking.Supporting changes in the callees:
ce-commitandce-commit-push-prhonorexclude:<paths>and commit with a trailing path list so pre-staged index entries never ride into a commit; stack construction does the same.Validation
bun run test: 3117 pass, 0 fail. The change is skill prose plus the calleeexclude:/ path-limited commit contract; no test pinned the old menu.Security Disclosure
No security-relevant changes.
Agent Disclosure
Claude Code · claude-fable-5