chore(agents): единая структура заданий и приёмки #1
23 changed files with 150 additions and 0 deletions
34
AGENTS.md
Normal file
34
AGENTS.md
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
# Правила работы агентов — finance-telegram-bot
|
||||
|
||||
Документ адресован любому исполнителю: человеку или агенту. Он описывает не
|
||||
устройство проекта, а порядок работы над ним.
|
||||
|
||||
## 1. Границы задачи
|
||||
|
||||
Задание определяет область. Выход за неё запрещён, даже когда исправление
|
||||
очевидно и занимает минуту: перемешанные изменения нельзя ни отревьюить, ни
|
||||
откатить по отдельности. Замеченное рядом — списком в отчёт, отдельными
|
||||
предложениями задач.
|
||||
|
||||
## 2. Факты и догадки
|
||||
|
||||
Выдумывать нельзя. Если решение не принято, версия неизвестна, а поведение не
|
||||
проверено — так и пишем. Правдоподобная выдумка дороже честного «не определено»:
|
||||
по ней начнут работать.
|
||||
|
||||
## 3. Проверка
|
||||
|
||||
«Работает» — не результат проверки. В отчёт идёт команда и её фактический
|
||||
вывод. Если проверка не запускалась, это пишется прямо.
|
||||
|
||||
## 4. Задания и результаты
|
||||
|
||||
Задания и отчёты живут в `agents/`. Схема одинакова во всех репозиториях
|
||||
рабочего пространства `Agent_projects`, полные правила — в `agents/README.md`.
|
||||
|
||||
Коротко: задание — в `agents/<твой-id>/inbox/`, результат — в
|
||||
`agents/<твой-id>/done/`, черновики — в `agents/<твой-id>/notes/`. Задание,
|
||||
пришедшее в чате, агент сначала записывает в свой `inbox/`, и только потом
|
||||
работает. Своих папок за пределами `agents/<твой-id>/` не заводить.
|
||||
|
||||
Принимает работу и пушит в `main` только главный агент.
|
||||
62
agents/README.md
Normal file
62
agents/README.md
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
# Задания агентов — finance-telegram-bot
|
||||
|
||||
Единая схема для всех репозиториев в `Agent_projects`. Смысл один: задание,
|
||||
результат и приёмка лежат в репозитории, а не в переписке и не в личных папках
|
||||
агента на диске. Через месяц найти работу можно только так.
|
||||
|
||||
## Правило, из-за которого всё это заведено
|
||||
|
||||
Агент не создаёт папок за пределами `agents/<свой-id>/`. Черновики, логи
|
||||
прогонов, промежуточные заметки — в `notes/`. Если своей папки не хватило,
|
||||
это повод изменить схему в этом файле, а не завести `my_review/` в корне.
|
||||
|
||||
## Кто есть кто
|
||||
|
||||
| id | Агент | Папка | Префикс ветки |
|
||||
|----|-------|-------|---------------|
|
||||
| `claude` | Claude | `agents/claude/` | `claude/` |
|
||||
| `codex` | Codex | `agents/codex/` | `codex/` |
|
||||
| `antigravity` | Antigravity | `agents/antigravity/` | `antigravity/` |
|
||||
| `hermes` | Hermes | `agents/hermes/` | `hermes/` |
|
||||
| `grok` | Grok | `agents/grok/` | `grok/` |
|
||||
| `opencode` | OpenCode | `agents/opencode/` | `opencode/` |
|
||||
|
||||
Внутри каждой папки:
|
||||
|
||||
- `inbox/` — задания агенту;
|
||||
- `done/` — готовые результаты и отчёты;
|
||||
- `notes/` — рабочие черновики агента.
|
||||
|
||||
## Маршрут задания
|
||||
|
||||
1. **Задание попадает в `<agent>/inbox/`** файлом `ГГГГ-ММ-ДД-краткое-имя.md`
|
||||
по шаблону [TASK-TEMPLATE.md](TASK-TEMPLATE.md). Если задание пришло голосом
|
||||
или в чате — агент сам записывает его в свой inbox **до** начала работы.
|
||||
Незаписанного задания не существует: его нельзя ни проверить, ни повторить.
|
||||
2. **Агент работает.** Черновики — в `<agent>/notes/`. Ветка — с префиксом
|
||||
из таблицы выше.
|
||||
3. **Результат — в `<agent>/done/`** файлом с тем же именем, что и задание,
|
||||
по шаблону [REPORT-TEMPLATE.md](REPORT-TEMPLATE.md). Задание остаётся
|
||||
в inbox до приёмки: пара «задание — отчёт» должна читаться рядом.
|
||||
4. **Главный агент принимает работу:** сверяет отчёт с тем, что реально
|
||||
изменилось, объединяет результаты разных агентов, переносит пару файлов
|
||||
в `agents/_accepted/ГГГГ-ММ-ДД-краткое-имя/` и только после этого пушит.
|
||||
|
||||
Пункт 4 выполняет только главный агент. Остальные в `main` не пушат — иначе
|
||||
приёмка превращается в разбор того, что уже влито.
|
||||
|
||||
## Что обязано быть в отчёте
|
||||
|
||||
- что сделано и какими файлами;
|
||||
- как это проверено — команда и её вывод, а не «протестировано»;
|
||||
- что не сделано и почему; незакрытая часть в отчёте лучше, чем найденная
|
||||
при приёмке;
|
||||
- замеченные рядом дефекты — списком, отдельными предложениями задач, без
|
||||
самовольного исправления.
|
||||
|
||||
## Чего делать нельзя
|
||||
|
||||
- Класть результат в `inbox/`, а задание в `done/`.
|
||||
- Править чужой отчёт в `done/`. Возражения — отдельным файлом в своём
|
||||
`done/` со ссылкой на разбираемый отчёт.
|
||||
- Удалять принятое из `_accepted/`. Это архив приёмки.
|
||||
27
agents/REPORT-TEMPLATE.md
Normal file
27
agents/REPORT-TEMPLATE.md
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
# Отчёт: заголовок задания
|
||||
|
||||
- **Задание:** `../inbox/` — файл с тем же именем
|
||||
- **Агент:** id агента
|
||||
- **Дата:** ГГГГ-ММ-ДД
|
||||
- **Ветка / коммиты:** ветка и хеши
|
||||
|
||||
## Что сделано
|
||||
|
||||
Списком, с указанием файлов.
|
||||
|
||||
## Как проверено
|
||||
|
||||
Команда и её фактический вывод. Если проверка не запускалась — так и написать.
|
||||
|
||||
## Что не сделано
|
||||
|
||||
Незакрытая часть задания и причина. Пусто — тоже ответ, но осознанный.
|
||||
|
||||
## Замечено рядом
|
||||
|
||||
Дефекты и улучшения за границами задачи — предложениями отдельных задач,
|
||||
без самовольного исправления.
|
||||
|
||||
## Вопросы к приёмке
|
||||
|
||||
Места, где решение спорное и нужен взгляд главного агента.
|
||||
27
agents/TASK-TEMPLATE.md
Normal file
27
agents/TASK-TEMPLATE.md
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
# Заголовок задания
|
||||
|
||||
- **Кому:** id агента из таблицы в README
|
||||
- **Дата:** ГГГГ-ММ-ДД
|
||||
- **От кого:** владелец проекта / главный агент
|
||||
- **Ветка:** `<префикс-агента>/краткое-имя`
|
||||
- **Файл отчёта:** `../done/` с тем же именем, что у этого файла
|
||||
|
||||
## Что нужно сделать
|
||||
|
||||
Одна задача — один файл. Если задач две, это два файла: иначе половину примут,
|
||||
а половину нет, и состояние станет непонятным.
|
||||
|
||||
## Границы
|
||||
|
||||
Чего в этой задаче делать не нужно, даже если исправление очевидно и занимает
|
||||
минуту. Замеченное рядом — в отчёт списком.
|
||||
|
||||
## Как проверить результат
|
||||
|
||||
Команды, которые должны пройти, и что считается доказательством. «Работает» —
|
||||
не критерий приёмки.
|
||||
|
||||
## Контекст и ограничения
|
||||
|
||||
Файлы, документы, решения, которые нельзя нарушать. Если чего-то не знаешь —
|
||||
пиши «не определено», а не правдоподобную выдумку.
|
||||
0
agents/_accepted/.gitkeep
Normal file
0
agents/_accepted/.gitkeep
Normal file
0
agents/antigravity/done/.gitkeep
Normal file
0
agents/antigravity/done/.gitkeep
Normal file
0
agents/antigravity/inbox/.gitkeep
Normal file
0
agents/antigravity/inbox/.gitkeep
Normal file
0
agents/antigravity/notes/.gitkeep
Normal file
0
agents/antigravity/notes/.gitkeep
Normal file
0
agents/claude/done/.gitkeep
Normal file
0
agents/claude/done/.gitkeep
Normal file
0
agents/claude/inbox/.gitkeep
Normal file
0
agents/claude/inbox/.gitkeep
Normal file
0
agents/claude/notes/.gitkeep
Normal file
0
agents/claude/notes/.gitkeep
Normal file
0
agents/codex/done/.gitkeep
Normal file
0
agents/codex/done/.gitkeep
Normal file
0
agents/codex/inbox/.gitkeep
Normal file
0
agents/codex/inbox/.gitkeep
Normal file
0
agents/codex/notes/.gitkeep
Normal file
0
agents/codex/notes/.gitkeep
Normal file
0
agents/grok/done/.gitkeep
Normal file
0
agents/grok/done/.gitkeep
Normal file
0
agents/grok/inbox/.gitkeep
Normal file
0
agents/grok/inbox/.gitkeep
Normal file
0
agents/grok/notes/.gitkeep
Normal file
0
agents/grok/notes/.gitkeep
Normal file
0
agents/hermes/done/.gitkeep
Normal file
0
agents/hermes/done/.gitkeep
Normal file
0
agents/hermes/inbox/.gitkeep
Normal file
0
agents/hermes/inbox/.gitkeep
Normal file
0
agents/hermes/notes/.gitkeep
Normal file
0
agents/hermes/notes/.gitkeep
Normal file
0
agents/opencode/done/.gitkeep
Normal file
0
agents/opencode/done/.gitkeep
Normal file
0
agents/opencode/inbox/.gitkeep
Normal file
0
agents/opencode/inbox/.gitkeep
Normal file
0
agents/opencode/notes/.gitkeep
Normal file
0
agents/opencode/notes/.gitkeep
Normal file
Loading…
Reference in a new issue