diff --git a/.claude/agents/healthlog-review-reimpl.md b/.claude/agents/healthlog-review-reimpl.md index f5270ba..bbf6e66 100644 --- a/.claude/agents/healthlog-review-reimpl.md +++ b/.claude/agents/healthlog-review-reimpl.md @@ -2,7 +2,7 @@ name: healthlog-review-reimpl description: "Самый дорогой и самый ценный generative-проход ревью healthlog — получает спеку и контракты, пишет собственную реализацию в tmp/, НЕ ОТКРЫВАЯ существующую, и только потом диффит по решениям (декомпозиция, где обрабатываются ошибки, что вынесено в интерфейс, владение данными точки, протяжка context, модель конкурентности). Единственный проход, который системно достаёт «не знаю, чего не знаю». Существующий код не меняет." tools: Read, Grep, Glob, Bash, Write -model: fable +model: opus color: purple --- diff --git a/.claude/agents/healthlog-review-rubric.md b/.claude/agents/healthlog-review-rubric.md index 9cbb2aa..be0a854 100644 --- a/.claude/agents/healthlog-review-rubric.md +++ b/.claude/agents/healthlog-review-rubric.md @@ -2,7 +2,7 @@ name: healthlog-review-rubric description: "Generative-проход ревью healthlog — сперва, НЕ ВИДЯ КОДА, порождает 8–12 проверяемых свойств, по которым сильный Go-инженер судит узел такого назначения (разбор пакета HAE, HTTP-хендлер приёма, обработчик Read API, репозиторий часовых объектов, файловый архив с ретеншеном, CLI-команда import/reindex, адаптер MCP), и только потом читает код и оценивает по этой рубрике. Достаёт слой, которого нет ни в одной конвенции. Годится и до кода (профиль design) — тогда рубрика становится приёмочными критериями. Только чтение." tools: Read, Grep, Glob, Bash -model: fable +model: opus color: purple --- diff --git a/.claude/skills/healthlog-review-pipeline/SKILL.md b/.claude/skills/healthlog-review-pipeline/SKILL.md index de26803..65fa7ef 100644 --- a/.claude/skills/healthlog-review-pipeline/SKILL.md +++ b/.claude/skills/healthlog-review-pipeline/SKILL.md @@ -57,8 +57,31 @@ description: Конвейер ревью изменений healthlog — дет | Модель | Проходы | Почему | |---|---|---| | `sonnet` | gate, code, ops | вход структурный, критерий записан заранее | -| `opus` | specs, idiom, negative, adversary | суждение без опоры на инструмент | -| `fable` | rubric, reimpl, architecture, triage | качество порождённого и есть вся ценность | +| `opus` | specs, idiom, negative, adversary, rubric, reimpl | суждение без опоры на инструмент | +| `fable` | triage, architecture | ошибка распространяется дальше самой находки | + +**Fable — только двум проходам, и это калибровка, а не осторожность.** Первый +прогон конвейера (ревью дизайна `razbor-metrik-v-obekty`) показал, что самые +ценные находки дали **opus**-проходы: `idiom` поставил три эксперимента +(`SQLITE_BUSY_SNAPSHOT` 517 против `_txlock=immediate`, куча `map[string]any` +против `json.RawMessage`, потери `json.Marshal` без `UseNumber`), `specs` дал +13 находок с оракулами. Разницы в пользу более дорогой модели на опиниативных +проходах не обнаружилось — значит платить за неё там не за что. + +Двое, у кого fable остаётся, отобраны по одному признаку: **их ошибка +распространяется дальше собственной находки.** + +- `triage` — через него проходит всё, что оркестратор реализует **молча**: + ложноположительная находка становится кодом, потерянный `critical` — + дефектом. Ошибка триажа дороже ошибки любого отдельного прохода. +- `architecture` — запускается редко (только `deep` и `design`), потолок в + 3 находки делает его дешёвым по выходу, а находка на предложении стоит + абзаца против переписывания на готовом коде. Дёшево × высокое плечо. + +`reimpl` намеренно **не** в этом списке, хотя он самый ценный из generative: +его стоимость определяется объёмом вывода (он пишет реализацию целиком), так +что дорогая модель множит самый большой счёт. Ценность же его — в +**независимости** взгляда, а не в мощности модели. **Haiku не используется ни на одном проходе, и это не экономия наоборот.** Дешёвая модель на опиниативном проходе даёт правдоподобные находки, которые