Files
claude-skills/skills/ralph-loop-execution/SKILL.md
vitya 255dbc777f feat(skill): add ralph-loop-execution — agent inner loop with verifier oracle
Verifier field (exit-code oracle) + Attempts tracking + re-queue on fail.
Design: OpeItcLoc03/workshop/.brainstorm/ralph-loop-inner-execution.md
2026-06-15 22:51:16 +03:00

2.6 KiB
Raw Blame History

ralph-loop-execution

When to Use

Когда задача содержит поле **Verifier:** <command> — это ralph-loop задача. Активируй этот скил в начале работы.

Algorithm

  1. Прочитай задачу. Извлеки:

    • **Verifier:** <cmd> — oracle-команда
    • **Attempts:** N — текущий счётчик (0 если отсутствует)
    • **Max-Attempts:** M — потолок (если отсутствует, дефолт 5)
  2. Выполни работу (code, tests, edits — всё что требует задача).

  3. Запусти verifier:

    <Verifier command>
    
  4. Если exit 0 → задача выполнена. Закрой задачу штатно (**Status:** done). Готово.

  5. Если exit ≠ 0:

    a. Вычисли новый номер попытки: N_new = N + 1

    b. Если N_new >= M (бюджет исчерпан):

    **Attempts:** <N_new>
    **Status:** failed
    

    Добавь в конец description:

    ## Attempt <N_new> (final) — budget exhausted
    <stdout+stderr verifier>
    

    Завершай сессию.

    c. Иначе (попытки ещё есть):

    **Attempts:** <N_new>
    **Status:** ready
    

    Добавь в конец description:

    ## Attempt <N_new> failure
    <stdout+stderr verifier>
    
    ### Что попробовал:
    <краткое резюме что делал в этой итерации>
    

    Завершай сессию. Поллер подберёт задачу заново.

Reading Attempt History

Когда клеймишь ralph-loop задачу с **Attempts:** N > 0 — прочитай все секции ## Attempt K failure в description. Это память о том, что уже не сработало. Не повторяй те же подходы.

Interactive Mode (/loop)

В интерактивном /loop контексте: тот же алгоритм, но цикл внутренний (контекстное окно сохраняется). Запускай verifier в конце каждой итерации. Max-Attempts работает так же.

Key Invariant

Verifier — единственный критерий готовности. Не закрывай задачу без exit 0 от verifier, даже если субъективно кажется что всё правильно.