chore(agents): единая структура заданий и приёмки #1

Open
ochenstarik-ui wants to merge 4 commits from chore/agents-workspace into main
25 changed files with 258 additions and 0 deletions

34
AGENTS.md Normal file
View file

@ -0,0 +1,34 @@
# Правила работы агентов — agent-control-center
Документ адресован любому исполнителю: человеку или агенту. Он описывает не
устройство проекта, а порядок работы над ним.
## 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
View file

@ -0,0 +1,62 @@
# Задания агентов — agent-control-center
Единая схема для всех репозиториев в `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
View file

@ -0,0 +1,27 @@
# Отчёт: заголовок задания
- **Задание:** `../inbox/` — файл с тем же именем
- **Агент:** id агента
- **Дата:** ГГГГ-ММ-ДД
- **Ветка / коммиты:** ветка и хеши
## Что сделано
Списком, с указанием файлов.
## Как проверено
Команда и её фактический вывод. Если проверка не запускалась — так и написать.
## Что не сделано
Незакрытая часть задания и причина. Пусто — тоже ответ, но осознанный.
## Замечено рядом
Дефекты и улучшения за границами задачи — предложениями отдельных задач,
без самовольного исправления.
## Вопросы к приёмке
Места, где решение спорное и нужен взгляд главного агента.

27
agents/TASK-TEMPLATE.md Normal file
View file

@ -0,0 +1,27 @@
# Заголовок задания
- **Кому:** id агента из таблицы в README
- **Дата:** ГГГГ-ММ-ДД
- **От кого:** владелец проекта / главный агент
- **Ветка:** `<префикс-агента>/краткое-имя`
- **Файл отчёта:** `../done/` с тем же именем, что у этого файла
## Что нужно сделать
Одна задача — один файл. Если задач две, это два файла: иначе половину примут,
а половину нет, и состояние станет непонятным.
## Границы
Чего в этой задаче делать не нужно, даже если исправление очевидно и занимает
минуту. Замеченное рядом — в отчёт списком.
## Как проверить результат
Команды, которые должны пройти, и что считается доказательством. «Работает» —
не критерий приёмки.
## Контекст и ограничения
Файлы, документы, решения, которые нельзя нарушать. Если чего-то не знаешь —
пиши «не определено», а не правдоподобную выдумку.

View file

View file

@ -0,0 +1,7 @@
Set oShell = CreateObject("WScript.Shell")
Set oLink = oShell.CreateShortcut(oShell.SpecialFolders("Desktop") & "\Agent Control Center.lnk")
oLink.TargetPath = oShell.ExpandEnvironmentStrings("%LOCALAPPDATA%") & "\hermes\hermes-agent\node_modules\.bin\electron.cmd"
oLink.Arguments = oShell.ExpandEnvironmentStrings("%USERPROFILE%") & "\acc-desktop"
oLink.WorkingDirectory = oShell.ExpandEnvironmentStrings("%USERPROFILE%") & "\acc-desktop"
oLink.Description = "Agent Control Center — управление ИИ-агентами"
oLink.Save

View file

View file

View file

@ -0,0 +1,101 @@
# Развернуть рабочее пространство Agent_projects на этой машине
- **Кому:** antigravity
- **Дата:** 2026-08-18
- **От кого:** владелец проекта (через Claude)
- **Ветка:** ветка не нужна, работа идёт только на диске
- **Файл отчёта:** `../done/2026-08-18-консолидация-рабочего-пространства.md`
## Что нужно сделать
Собрать в `C:\Users\Ochenstarik\Agent_projects` клоны всех проектов и
убедиться, что в каждом есть папка `agents/`. Ничего разбирать, переносить и
удалять не нужно — только выгрузка из git и проверка структуры.
### 1. Каталог
Создать `C:\Users\Ochenstarik\Agent_projects`, если его нет. Все проекты
живут здесь и только здесь.
### 2. Выгрузить репозитории
Владелец — `ochenstarik-ui`. Проверить, что `gh auth status` показывает
именно его, и склонировать 17 репозиториев:
```bash
cd "C:/Users/Ochenstarik/Agent_projects"
for r in business-platform kagent hermes-config-backup server-monitor-manager \
randomayzer trade-signal-platform trading-knowledge-base \
finance-telegram-bot agent-control-center agent-control-center-server \
lightweight-server safetest-platform agent-engineering-quality-system \
hermes-lossless-context-layer hermes-task-inbox singbox-ai-router \
trade-signal-bot-legacy; do
gh repo clone "ochenstarik-ui/$r" "$r"
done
```
Часть репозиториев приватные — без авторизованного `gh` они не склонируются.
Если какой-то не выгрузился, это в отчёт, а не «пропустил и пошёл дальше».
### 3. Структура agents/
Структура уже лежит в самих репозиториях, отдельно её создавать не надо.
На 2026-08-18 она находится в ветке `chore/agents-workspace` и ждёт приёмки в
открытом PR. Поэтому в каждом клоне:
```bash
git fetch origin
git checkout chore/agents-workspace 2>/dev/null || git checkout main
```
Если к моменту выполнения PR уже смержены — структура будет в `main`, и
переключаться никуда не нужно.
Проверить, что в каждом проекте есть:
```
agents/
README.md TASK-TEMPLATE.md REPORT-TEMPLATE.md
claude/ codex/ antigravity/ hermes/ grok/ opencode/
inbox/ done/ notes/
_accepted/
```
Если в каком-то репозитории `agents/` не оказалось ни в `main`, ни в
`chore/agents-workspace` — не выдумывать структуру самому: записать в отчёт,
какой это репозиторий.
### 4. Как здесь работать дальше
Коротко, полные правила — в `agents/README.md` внутри любого проекта:
задание — в `agents/antigravity/inbox/`, черновики — в `notes/`, результат —
в `done/`. Задание, пришедшее в чате, сначала записывается в `inbox/`, и
только потом начинается работа. Своих папок за пределами
`agents/antigravity/` не заводить — из-за этого всё и разъехалось.
## Границы
- Ничего не удалять и не переносить с диска. Эта задача — только выгрузка.
- В `main` не пушить, PR не мержить.
- Существующие папки с проектами вне `Agent_projects` не трогать: что с ними
делать, решается отдельной задачей.
## Что здесь ломается
- **Длинные пути Windows.** Часть репозиториев имеет глубокую вложенность и
падает с `Filename too long`. Лечится `git config --global core.longpaths true`
до клонирования.
- **Ветка по умолчанию.** У `agent-control-center-server` это `master`, а не
`main`. Не считать `main` данностью.
- **Занятые файлы.** Если клон не создаётся из-за занятого файла — значит, в
этой папке работает другой процесс. Не ломать, записать в отчёт.
## Как проверить результат
Считается сделанным, когда:
1. в `Agent_projects` лежат все 17 клонов;
2. в каждом есть `agents/` с полным набором папок;
3. в отчёте приведён вывод проверки — по строке на репозиторий: имя, текущая
ветка, наличие `agents/`;
4. на диске за пределами `Agent_projects` ничего не изменилось.

View file

View file

View file

View file

View file

View file

View file

View file

View file

View file

View file

View file

View file

View file

View file

View file