* fix(ralph-loop): skip user messages in transcript completion detection (#622) The transcript-based completion detection was searching the entire JSONL file for <promise>DONE</promise>, including user message entries. The RALPH_LOOP_TEMPLATE instructional text contains this literal pattern, which gets recorded as a user message, causing false positive completion detection on every iteration. This made the loop always terminate at iteration 1. Fix: Parse JSONL entries line-by-line and skip entries with type 'user' so only tool_result/assistant entries are checked for the completion promise. Also remove the hardcoded <promise>DONE</promise> from the template exit conditions as defense-in-depth. * chore: changes by sisyphus-dev-ai --------- Co-authored-by: sisyphus-dev-ai <sisyphus-dev-ai@users.noreply.github.com>
This commit is contained in:
@@ -17,7 +17,7 @@ export const RALPH_LOOP_TEMPLATE = `You are starting a Ralph Loop - a self-refer
|
||||
|
||||
## Exit Conditions
|
||||
|
||||
1. **Completion**: Output \`<promise>DONE</promise>\` (or custom promise text) when fully complete
|
||||
1. **Completion**: Output your completion promise tag when fully complete
|
||||
2. **Max Iterations**: Loop stops automatically at limit
|
||||
3. **Cancel**: User runs \`/cancel-ralph\` command
|
||||
|
||||
|
||||
Reference in New Issue
Block a user