healthcheck: у судей документов появился свой скилл и свой момент

doc-consistency и doc-code-drift звались шагом сессии между спринтами.
Сессия стала грумингом, груминг судит задачи, а не документы, и звать
чужих агентов не вправе — они в av-dev-docs. На живом проекте их не
звал бы никто, кроме разовых adopt и upgrade.

Момент назван у владельца. Разрез с canon check проверяемый: машина
сверяет форму, healthcheck — утверждения.

Почему скилл, а не просто описания агентов: двоим нужна оркестровка —
позвать обоих на весь канон разом, передать doc-code-drift раздел
запретов, разобрать урожай порциями, назвать границы покрытия и кого
именно позвал. Этого агент о себе не знает.

doc-wording внутрь не взят: ему оркестровка не нужна, и ритм другой —
он нужен там, где текст только что писали.

Заодно из shared/plugin-boundary.md и README убран счётчик скиллов: он
протух дважды за день.
This commit is contained in:
av
2026-08-09 16:58:51 +03:00
parent df5af47dc3
commit 4354cc4146
14 changed files with 218 additions and 41 deletions
+8 -5
View File
@@ -15,9 +15,12 @@
- `canon` — привести проект к канону документов: `check` / `adopt` /
`upgrade`, плюс скрипт `docs.py`. Там же лежит копия языка проектных
текстов — информационный стиль, англицизмы, жаргон; дом у него общий,
`shared/language.md`. Смысловую часть, которой скрипт не видит, судят три
агента: `doc-consistency` (документы между собой и с openspec),
`doc-code-drift` (документы против кода) и `doc-wording` (язык документов);
`shared/language.md`;
- `healthcheck` — здоровье документации **судом, а не машиной**: не разошлись
ли документы между собой и с кодом. Зовёт двух агентов на весь канон разом —
`doc-consistency` (документы между собой и с openspec) и `doc-code-drift`
(факты против кода) — и разбирает урожай порциями. Дорого, поэтому не на
каждой задаче; язык документов вычитывает отдельный агент `doc-wording`;
- `docs` — содержимое канона по ходу разработки: ADR из архивного
`design.md`, промоут конвенций, запись в разведку и журнал ревью, чистка
архитектуры.
@@ -93,8 +96,8 @@ flowchart TB
Зависимости **односторонние: `av-dev-code` знает про `av-dev-docs` и
`av-dev-tasks`, обратно — нет.** Между собой эти двое тоже не связаны жёстко:
каждый работает без другого. Как именно зовут соседа и что делают, когда вызов не
разрешился, — `shared/plugin-boundary.md`: правило нужно шести скиллам в двух
плагинах, и ни один им не владеет. То, что нужно нескольким дословно — граница
разрешился, — `shared/plugin-boundary.md`: правило нужно большинству скиллов, и
ни один плагин им не владеет. То, что нужно нескольким дословно — граница
плагинов, язык проектных текстов, словарь сопровождения, — живёт домом в
`shared/` и уезжает в каждый плагин помеченной копией.