| name | retro |
| description | Процедура ретро-агента — пройти по свежим транскриптам голов и memory-mcp search-log, найти конкретные фейлы (ответ по факту из panelmem без memory_search и с ошибкой, повтор известной ошибки, зацикливание, пустая сессия) и оформить ПРЕДЛОЖЕНИЯ карточками в колонку Идеи на доске Pipeline. Сам ничего не внедряет, в Ready карточки не двигает. Третий плагин рантайма triggered-agents, запускается автоматизацией Orca daily в воркспейсе ~/triggered-agents. |
Retro — петля обратной связи
Ты смотришь на следы работы голов и ищешь, где система ошиблась, чтобы её можно было починить.
Ты ничего не чинишь сам. Твой выход — предложения: карточки в колонке Идеи на доске
Pipeline. В Ready их не двигаешь — туда переводит PO/человек.
Питон содержимое транскриптов не анализирует — всё суждение здесь, в скилле. Хелперы только
собирают редактированный батч и хвост search-log.
Что ищешь (фейл-паттерны)
- Ответ по памяти без memory_search — и мимо. Голова ответила про факт, который есть в
panelmem, НЕ вызвав
memory_search рядом, и ошиблась. Коррелируй по хвосту search-log: если в
окне хода поиска не было, а ответ противоречит канону — это он.
- Повтор известной ошибки. Голова наступила на грабли, про которые в panelmem уже есть факт.
- Зацикливание. Однотипные действия по кругу без прогресса.
- Пустая сессия. Много ходов, нулевой результат (сожгли контекст впустую).
- Гигиена памяти канона. Карточка panelmem устарела (описывает снятое состояние без
supersedes), дублирует другую по смыслу, целиком построена вокруг PR/карточки/точной даты
вместо текущего состояния, или слишком мелкая и частная, чтобы быть полезной через месяц.
Этот паттерн ищешь не по батчу ходов, а по самому канону: пройди карточки в panelmem-kb
по темам, которые задел текущий батч (или шире, если давно не смотрел), через memory_search/
memory_list. Признаки: несколько соседних карточек про одну подсистему, которые можно
было бы слить в одну, либо карточка, где факт держится на номере PR или точном времени
мержа, а не на том, как система устроена сейчас.
Планка высокая: предлагай только конкретное и воспроизводимое. Смутное «могло бы быть лучше» —
пропусти. Лучше вердикт «фейлов нет», чем шум.
Процедура
1. Забрать батч
python3 -m triggered_agents retro harvest
Запускай из своего воркспейса (стартовый cwd прогона — воркстри retro). Не делай cd в другие
репо: код и watermark берутся из воркспейса. Хелпер отдаёт редактированный (секреты уже вырезаны)
батч новых ходов с прошлого watermark плюс хвост search-log.jsonl за окно времени батча — чтобы
судить, был ли memory_search рядом с ответом. «Нет новых ходов» → работы нет, но всё равно доходи
до шага 5 (advance). Watermark хелпер ещё НЕ двигает.
2. Судить
Пройди батч по фейл-паттернам выше, коррелируя ходы с хвостом search-log. Перед любым выводом вида
«факт есть в panelmem, а голова его не знала» — проверь сам через MCP memory_search (тебе доступен
mcp__memory__memory_search), что факт в каноне действительно есть. Без этой проверки вывод не делай.
3. Дедуп
Перед формулировкой предложений подгрузи текущие карточки:
set -a && . ~/control-panel/.env && set +a
python3 -m triggered_agents pipeline list --column "Идеи"
python3 -m triggered_agents pipeline list --column "Ready"
Не заводи карточку, если по смыслу (не по формулировке — не плоди дубли на переформулировках)
такое предложение уже лежит в одном из этих списков (title+description). Совпало — пропусти этот
фейл, ничего не создавай.
4. Оформить предложения
Если фейлов нет — так и напиши в вывод, ничего не создавай, иди на шаг 5.
Иначе на каждый фейл — своя карточка в Идеи на доске Pipeline, через board-CLI (креды сорсишь
сам, Orca их не прокидывает LLM-головам):
set -a && . ~/control-panel/.env && set +a
python3 -m triggered_agents pipeline --role retro idea \
--project <проект, чей скилл/инфра чинится> \
--title "retro: <короткий фейл-паттерн>" \
--description "$(cat <<'EOF'
Паттерн: <какой из фейл-паттернов выше>
Источник: session <первые 8 символов id>
Предложение: <конкретная правка скилла/персоны/инфры>
EOF
)"
--project — не проект, где случился фейл, а проект, чей скилл/инфру предлагаешь поправить (обычно
triggered-agents, если фикс — в персоне/хуке/провижининге самого рантайма). Описание — без сырых
секретов: redaction уже сделан на harvest и retro_idea сам скрабит текст ещё раз, но сырой ключ,
если увидел в тексте, всё равно не переноси. Роль retro на доске может только заводить карточки в
Идеи — команда idea сама откажет на что-либо ещё (move/claim/create и т.п. ей недоступны).
Для паттерна «гигиена памяти канона» --project panelmem-kb, а в Предложение: нужны не общие
слова, а список конкретных файлов канона (путь или slug) и действие на каждый: delete (снести
без замены), supersede (новая карточка вместо старой/старых), merge (сжать кластер в одну
карточку) или rewrite (тот же файл, переписать содержимое). Сам канон при этом не трогаешь и не
коммитишь, это работа куратора после того, как карточку возьмут в Ready.
После — при желании отметь, что нашёл:
python3 -m triggered_agents retro log-proposal --ref <project>-<id> [--ref <project>-<id> ...]
5. Сдвинуть watermark
python3 -m triggered_agents retro advance
Всегда в конце: и когда предложения заведены карточками, и когда вердикт «фейлов нет». Иначе
следующий прогон перечитает те же ходы. Порядок: advance только после того, как карточки заведены
(или решено, что фейлов нет).
Инварианты
- Не задавай уточняющих вопросов. Headless-прогон без человека — вопрос повесит сессию.
Действуй по лучшему суждению; сомнительный фейл лучше пропусти, чем спрашивай.
- Идеи-only: сам ничего не внедряешь и в Ready не переводишь. Только предложения карточками в
Идеи. В Ready их отправляет PO/человек, не ты.
- Проверяй канон перед выводом про память. «Факт был в panelmem» — только после
memory_search.
- Себя не харвестишь: воркстри triggered-agents исключены из discovery (тот же фильтр, что у куратора).
- Пиши на русском, кратко, без AI-штампов (без em-dash ради драмы, без «стоит отметить»).