Address PR #685 review feedback:
- walkthrough.md: add a "No suggested_fix (Apply suppressed)" adaptation
so the entry-point menu omits Apply for findings without a concrete
suggested_fix. Stage 5 step 6b already maps these to a Defer
recommendation; this matches the suppression applied during the
post-run "Walk through these one at a time" re-entry path so the
same handling applies regardless of which entry path the user came
in through.
- SKILL.md Step 3: extend the homogeneous queue contract with a
defensive backstop. If a no-suggested_fix finding ever slips into
the walk-through Apply set, the fixer routes it to failed with
reason "no fix proposed by reviewer", mirroring the heterogeneous
queue's apply-or-fail handling. Autofix and headless callers are
unaffected (they only ever process safe_auto items).
- SKILL.md Step 3: update the "Best-judgment path is single-pass"
paragraph to reference Step 2 option B's two-branch ordering
(failed empty -> emit report directly; non-empty -> question first,
then execute, then report). Removes a contradiction the prior
reconciliation commit (530560a3) didn't catch.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The interactive routing option B was labeled "LFG" in user-facing prose
and "the LFG path" in skill internals. That name collides with the /lfg
macro skill in this repo, creating confusion when an agent reads the
ce-code-review skill while also having /lfg in scope.
Rename:
- User-facing menu (option B): "LFG. Apply the agent's best-judgment
action per finding" -> "Auto-resolve with best judgment -- apply
per-finding fixes the agent can defend, surface the rest"
- User-facing per-finding option D: "LFG the rest" -> "Auto-resolve
with best judgment on the rest"
- Internal naming: "LFG path" / "LFG routing (option B)" ->
"best-judgment path" / "best-judgment routing (option B)"
- Routing tables, Step 3 fixer queue prose, completion-report bucket
list, and other internal references updated to match
- Test assertions updated against the new labels
The user-facing label leads with "Auto-resolve" so the action is clear
on scan; "with best judgment" qualifies how decisions are made. The
internal name uses "best-judgment" (not "auto-resolve") to avoid
lexical collision with the existing mode:autofix flag, since the two
do different things and live at different structural levels --
autofix is a top-level mode while best-judgment is a routing option
within interactive mode.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Address PR #685 review feedback:
- Step 3 fixer queue contract previously defined behavior for
gated_auto/manual WITH suggested_fix and manual WITHOUT, but left
gated_auto WITHOUT suggested_fix undefined. Extend the no-fix branch
to cover both gated_auto and manual so they route to failed instead
of being silently skipped, preserving the apply-or-fail contract.
- walkthrough.md still documented LFG-the-rest -> Proceed/Cancel and
end-of-loop dispatch semantics from the removed bulk-preview path.
Reconcile: scope end-of-walk-through dispatch to the run-to-completion
path and explicitly point to the LFG-the-rest bullet for that path's
single-dispatch semantics. Remove stale Proceed/Cancel framings and
the bulk-preview reference in the no-sink adaptation.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
LFG previously routed too many findings to ticket-filing when the
agent could propose concrete fixes from review context. Stage 5b
validation and bulk-preview approval ran before any action, requiring
upfront research the user already opted out of by picking LFG.
Push personas to commit to a `suggested_fix` whenever any defensible
code change is reachable from the diff -- imperfect information is
not grounds for omission. `manual` findings with `suggested_fix` now
recommend Apply (was Defer). Drop Stage 5b and bulk-preview on the
LFG path; dispatch the fixer immediately on the full pending set.
Items that fail to apply or lack a proposed fix surface in a `failed`
bucket with a one-line reason; one post-run question (file tickets /
walk through / ignore) handles them only when the bucket is
non-empty, fired before the completion report so it reflects final
state.
Walk-through option A inherits the action-derivation change
automatically -- per-finding recommendations flip from Defer to Apply
when the persona proposed a fix. `LFG the rest` from inside the
walk-through dispatches one fixer pass on the union of accumulated
Apply set and remaining undecided findings, preserving the
"one fixer, consistent tree" contract.
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>