Задания, отчёты и патчи, лежавшие в C:\Users\Ochenstarik\projects и в домашней папке, перенесены в agents/. Разложено по агентам там, где имя файла позволяло определить автора; остальное — в _salvage-2026-08-18/ и разбирается вручную. Патчи в notes/salvage-2026-08-18/ — незакоммиченная работа из брошенных рабочих копий: она существовала только на диске. Тяжёлое (релизные архивы, инсталляторы, наборы данных) в репозиторий не попало: оно лежит рядом, в Agent_projects/_archive и Agent_projects/_data. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
5.7 KiB
KAgent — протокол работы для воркера Hermes
Этот текст вставляется в начало каждого задания по KAgent либо читается воркером как часть карточки. Он описывает, как работать в этом репозитории.
Репозиторий и ветки
- рабочая копия:
C:\Users\Ochenstarik\kagent, проект Hermeskagent; - удалённый:
https://github.com/ochenstarik-ui/kagent, база —main; - каждая задача работает в своём worktree на своей ветке, ветка указана в карточке;
- прямой push в
mainзапрещён. Результат — ветка и pull request; - перед началом:
git fetch originи rebase ветки наorigin/main.
Инструменты на машине
Доступны и работают: node 24, pnpm, corepack, cargo, rustc, rustup,
python, ruff, git.
Docker в PATH Windows отсутствует — он живёт внутри WSL и засыпает вместе с ней.
Ничего, что требует docker compose, в задачи этого этапа не входит. Если задача упирается
в Docker — останавливайся и сообщай, а не изобретай обход.
Python в PATH — 3.11 из venv Hermes, тогда как сервисы нацелены на 3.12. Для линта и модульных тестов это неважно, для чего-то другого — уточняй.
Размер задачи
У воркера ограниченный бюджет итераций. Задача в этом репозитории считается правильно нарезанной, если она:
- трогает один-два файла;
- проверяется одной командой;
- завершается за один прогон без ожидания внешних событий.
Если по ходу выясняется, что задача больше — не растягивай прогон. Сделай ту часть, которая помещается, зафиксируй результат, опиши остаток комментарием к карточке и предложи отдельную карточку. Незаконченная работа, честно описанная, полезнее исчерпанного бюджета.
Что запрещено
- менять существующие тесты, чтобы сборка стала зелёной. Мешает тест — объясни почему и
остановись. Причина —
docs/adr/0005-test-oracle-integrity.md; - отмечать пункты roadmap выполненными. Статусы будут вычисляться из артефактов CI,
см.
docs/adr/0016-computed-stage-status.md. Ровно из-за ручных галочек этапы 0.2–0.8 отмечены завершёнными при неработающем коде; - выходить за рамки карточки. Заметил соседний дефект — комментарий к карточке или новая карточка, но не правка в этой ветке;
- добавлять зависимость без проверки лицензии и без упоминания в отчёте;
- копировать исходный код из Hermes, n8n, Prime Agent и других агентских платформ. Архитектуру заимствовать можно, файлы — нет;
- помещать секреты в файлы под контролем версий;
git push --force, переписывание истории,--no-verify.
Порядок источников истины
docs/KAGENT_FULL_PRODUCT_SPEC.mddocs/THREAT_MODEL.mddocs/adr/- контракты в
packages/contracts/ - текст карточки
- существующий код
Код последний осознанно: он местами противоречит ТЗ, и это известно.
Разделы ТЗ 35–51 и ADR-0004…0020 находятся на ветке
docs/adr-0004-0016-trust-verification-economics (PR #2), в main их нет.
Проверка результата
Запускай ровно то, что указано в карточке как критерий приёмки, и приводи вывод команды в отчёте. Формулировки «должно работать» и «выглядит корректно» результатом не считаются.
Полезные команды:
cargo fmt --manifest-path services/gateway/Cargo.toml --check
cargo clippy --manifest-path services/gateway/Cargo.toml --all-targets -- -D warnings
cargo test --manifest-path services/gateway/Cargo.toml
pnpm --filter @kagent/control-plane typecheck
pnpm --filter @kagent/control-plane test
ruff check services scripts
python scripts/validate_repository.py
Отчёт
Комментарием к карточке, коротко:
- что изменено, файлами;
- вывод проверочных команд;
- что не сделано и почему;
- что замечено рядом и стоит отдельной карточки.
Коммит: первая строка до 72 символов, повелительное наклонение, без эмодзи, с указанием идентификатора карточки в теле.