server-monitor-manager/agents/hermes/notes/salvage-2026-08-18/hermes-desktop-attachments/desktop-attachments/0.9.1-measurability.md
Ochenstarik 23eb3f5233 chore(agents): разбор рабочих папок с диска на 2026-08-18
Задания, отчёты и патчи, лежавшие в 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>
2026-08-18 14:19:54 +07:00

4.1 KiB
Raw Permalink Blame History

Реализация ADR-0008 и ADR-0016. Разделы ТЗ 41.1-41.6.

Репозиторий: https://github.com/ochenstarik-ui/kagent Зависит от задачи 0.9.0 (зелёный trunk).

Зачем

Статус поставки сейчас пишется исполнителем и никем не проверяется: этапы до 0.8 отмечены выполненными, при этом CI красный с версии 0.6, PostgreSQL не подключён к CRUD, часть модулей (services/nats, services/auth/src/totp.py) не импортируется ни одним файлом. Для платформы, которая разрабатывает себя сама, самоотчёт — главный дефект: он отключает обратную связь, на которую опираются все остальные механизмы.

Что сделать

Реестр возможностей и вычисляемый статус

  • машиночитаемый файл: этап -> возможности -> доказательства (eval-случаи, сквозной сценарий, обязательные проверки, артефакты);
  • генератор статуса roadmap из последнего прогона CI;
  • проверка, отклоняющая ручную правку сгенерированных блоков статуса.

Spec drift check в CI

Сборка падает при:

  • заявленной возможности без проходящего доказательства;
  • модуле в дереве, недостижимом ни из одной точки входа (сейчас это services/nats/src/events.py, services/auth/src/totp.py, services/control-plane/src/db.ts, packages/contracts/src/reasoning.ts);
  • задокументированном endpoint, отсутствующем в таблице маршрутов;
  • задокументированной переменной окружения, которая нигде не читается;
  • пользовательском изменении без записи в CHANGELOG.md;
  • архитектурном изменении без ADR.

Eval-suite платформы

  • набор сквозных задач на закреплённых снимках репозиториев с известным критерием приёмки, стратификация: feature, bugfix, refactor, dependency upgrade, security fix;
  • каждый случай фиксирует базовый коммит, контракт задачи, критерии приёмки;
  • детерминированность: без сети вне записанных фикстур, без зависимости от календарного времени;
  • метрики: autonomy rate, вмешательства на задачу, repair-циклы, rework rate, escape defects, стоимость интегрированного изменения, время до первого артефакта, попытки нарушения политик;
  • гейт релиза по регрессу autonomy rate и escape defects.

Правило честности

Агент, работающий над самим KAgent, не может добавлять, изменять или отключать eval-случаи в рамках продуктовой задачи. Это отдельное изменение с одобрением человека. Механизм: eval-каталог в forbidden_paths для продуктовых задач.

Критерий приёмки

  • roadmap.md генерируется, ручные галочки отклоняются проверкой;
  • drift-check находит все четыре перечисленных недостижимых модуля на текущем дереве и роняет сборку;
  • eval-suite запускается в CI в режиме replay и выдаёт отчёт с метриками.