resolver-cow 0.4.3 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/docs/design.md CHANGED
@@ -144,7 +144,7 @@
144
144
  6. Роль reviewer в режиме ревью тестов проверяет: у каждого сценария есть тест, тест проверяет именно то, что написано в сценарии, тест не дублирует продуктовую логику, соблюдены правило именования и соглашения проекта. Находки уходят тестировщику на автоисправление, цикл повторяется до чистого ревью или до лимита возвратов.
145
145
  7. Если гейт `tests` включён, человек утверждает тесты. Иначе фаза завершается по чистому ИИ-ревью.
146
146
 
147
- По завершении фазы CLI записывает список тестовых файлов в `change.yaml` как защищённые. Реализатор не получает права записи в них, а после каждого запуска реализатора CLI сверяет диф с защищённым списком. Изменение защищённого файла откатывается, запуск считается неуспешным. Реализатор может добавлять в продуктовый код идентификаторы и хуки, которые предусмотрел дизайн.
147
+ По завершении фазы CLI записывает в `change.yaml` шаблоны защищённых файлов и снимок их содержимого (путь и sha256), независимо от того, закоммичены ли они. Реализатор не получает права записи в них, а после каждого запуска реализатора CLI сверяет текущее содержимое со снимком: изменённый, удалённый или добавленный файл под защитой отклоняет отчёт. Реализатор может добавлять в продуктовый код идентификаторы и хуки, которые предусмотрел дизайн.
148
148
 
149
149
  Если реализатор считает тест неверным, он возвращает блокер категории `тесты` с доказательством. Тестировщик правит тест, ИИ-ревью повторяется, и при включённом гейте `tests` человек утверждает тесты заново, потому что критерий готовности поменялся.
150
150
 
@@ -453,6 +453,12 @@ runs:
453
453
 
454
454
  Папка `.cow/wiki/` хранит долговечные знания о коде, которые не помещаются в категории выше: механизмы, инварианты, подводные камни по областям. Страницы имеют тот же фронтматтер, роутер `cow route --path | --query` возвращает план чтения из одной-двух страниц, линтер проверяет структуру. Роль distiller после мержа переносит записи `[CODE]` и `[RULE]` из `log.md` в wiki по правилам допуска: запись должна отвечать на повторяющийся вопрос и предотвращать класс ошибок, а не пересказывать один файл.
455
455
 
456
+ Первый шаг wiki реализован без роутера: индекс всех страниц (summary, read_when, source_roots) входит в пакет каждой роли, роль читает страницы с подходящим read_when. Роутер и дистилляция появятся по мере роста числа страниц.
457
+
458
+ ### Метрики решателя
459
+
460
+ Команда `cow metrics` считает по `change.yaml` и receipt запусков: время агентов по фазам, ожидание человека на гейтах, число запусков, стоимость (для headless-запусков), возвраты и отклонения отчётов, вмешательства (отклонённые гейты, `resume`, вопросы к человеку, отклонённые отчёты), признак автономного прохождения и оценку результата человеком (`cow change rate`). Сводка по всем изменениям даёт долю автономных, медианы времени и запусков, среднюю оценку и число вмешательств на изменение. Ничего не хранится отдельно: метрики восстанавливаются из файлов изменения.
461
+
456
462
  ### Как контекст попадает к агенту
457
463
 
458
464
  CLI собирает пакет для роли из пяти источников: исходный запрос и артефакты изменения, категории документации по таблице ролей, действующие правила из `decisions/` по области изменения, спецификации затронутых capability, план чтения wiki по путям из evidence. В пакет входят пути и краткие выдержки, а не полные файлы. Роль читает файлы сама по допущенному списку. Размер пакета ограничен конфигом.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "resolver-cow",
3
- "version": "0.4.3",
3
+ "version": "0.5.1",
4
4
  "description": "cow: автономная реализация продуктовых фич ИИ-агентами",
5
5
  "type": "module",
6
6
  "license": "MIT",