Commit graph

2 commits

Author SHA1 Message Date
Khalim Conn-Kowlessar
db76a9f361 fix(ralph-loop): single-pr autopromote across DAG; env vs ticket failures
Two issues found running /ralph-loop end-to-end on a real project:

1. single-pr mode mirrored the toolkit's autopromote rule (blockers must
   be `Done`), which halts after each phase since tickets stay
   `In progress` until the final PR merges. That contradicts the
   README's "one PR for the whole DAG" semantics. Now `single-pr`
   counts a blocker resolved at status `In progress | In review | Done`
   so the loop completes the whole DAG in one invocation. `per-ticket`
   keeps the strict `Done` rule.

2. v1 failure handling treated all failures as ticket-failures and
   parked the issue as `Needs human` with a failure comment — wrong
   for environmental failures (Claude usage limit, network, interrupt)
   where the issue itself is fine. Now distinguished: env failures
   reset issue to `Ready` + un-assign; ticket failures park as before.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-05 13:51:37 +00:00
Khalim Conn-Kowlessar
3f27d10fb6 feat: add /ralph-loop skill (subscription-based runner)
Subscription-based counterpart to `agentic-toolkit run`. Instead of
sandcastle + Docker + Anthropic API, dispatches each ready ticket to
a fresh Claude Code subagent (general-purpose) — same fresh-context
property as per-container sandcastle runs, but zero infra.

Trade-off: no sandbox isolation. Recommend running on a clean checkout.

Mirrors the CLI runner's project schema, phase logic, branch naming,
status transitions, and idempotency. v1 fails on first error (no retry
state machine yet) — failure-handler.ts parity is future work.

README updated with two-path workflow diagram and comparison table.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-05 11:08:31 +00:00