Round 2 of feedback on Step 4.1: the previous version always branched
from `origin/<base>`, which silently dropped unpushed commits the user
intended for the new feature branch (the "forgot to branch first"
workflow). Local git state cannot distinguish that intent from
stale-base contamination — the unpushed commits look identical and
shared `user.email` makes authorship unreliable across multi-agent
sessions.
Step 4.1 now asks the user when `origin/<base>..HEAD` is non-empty:
carry the commits onto the new branch (HEAD) or leave them on local
`<base>` (origin/`<base>`). The user is the only reliable source of
intent here.
Step 4.1's prose has accumulated three conditional branches across two
review rounds (fetch, unpushed-commits, checkout overwrite). Extracted
the full decision flow to `references/branch-creation.md` per the
extraction guidance for conditional content; Step 4.1 in SKILL.md is
now a 1-line stub. The round-1 stash-retry-pop fallback is preserved
in the reference file.
Stable/Beta sync: not propagating — no `-beta` counterpart exists for
`ce-commit-push-pr`.
Addresses Codex review feedback on #708.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Step 4.1 only fell back when `git fetch` failed, but `git checkout -b
<name> origin/<base>` can also abort with "Your local changes would be
overwritten" when uncommitted edits collide with the local-base-vs-
origin-base diff — exactly the contamination scenario the previous
commit aimed to protect against. The skill would strand users with
their work and no path forward.
Now stashes with `git stash push -u`, retries the checkout from
`origin/<base>`, then `git stash pop` onto the new branch. If the pop
conflicts (rare same-files case), surfaces the conflict and stash ref
so the user can resolve manually.
Addresses Codex review feedback on #708.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Step 4 of ce-commit-push-pr now creates feature branches from `origin/<base>`
after a `git fetch`, instead of from local `<base>` directly. This prevents
new branches from silently inheriting unpushed local commits when another
session (Claude Code, Cursor, Codex, or a human) has advanced local
default beyond the remote — a real failure mode reported in #707 that
previously required force-push surgery to fix at PR review time.
Falls back to the prior `git checkout -b <name>` form if the fetch fails
(offline, restricted network, expired auth) and surfaces the fallback in
the user-facing summary so freshness is not silently assumed.
Also adds docs/solutions/workflow/stale-local-base-contamination.md
documenting the failure mode, the rejected detection approaches
(authorship-based misses same-user contamination; reachability-based
inverts under stacked PRs) and why prevention at branch creation
generalizes cleanly to stacked-PR workflows.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Agents spawned from LFG were blocking forever at the AskUserQuestion
prompt with no user present to respond. In mode:pipeline, default to
headless and skip step 2 entirely.
Bump 3.0.6 -> 3.0.7
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Port scan (find_free_port) only runs when PIPELINE_MODE=1
- Dev server auto-start only runs in pipeline mode; manual invocations
print a help message and stop
- LFG step 6 now passes mode:pipeline to ce-test-browser so parallel
agents claim non-colliding ports automatically
- Bump version 3.0.5 -> 3.0.6
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Always verify preferred port is free; scan upward until finding one
- Auto-start dev server (bin/dev / rails server / npm run dev) on the
claimed port if nothing is listening — no more "please start your server"
- Pass PORT= explicitly so parallel agents on the same machine never
collide on 3000
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add ce-commit-push-pr as step 7 so LFG ends with a pushed branch and open PR
- Remove optional ralph-loop step (step 1) -- simplifies the pipeline
- Renumber all steps and fix cross-references accordingly
- Bump version 3.0.3 -> 3.0.4
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>