diff --git a/.tasks/STATUS.md b/.tasks/STATUS.md index 60e5c8c..267df01 100644 --- a/.tasks/STATUS.md +++ b/.tasks/STATUS.md @@ -373,3 +373,38 @@ version: 0.1.0 --- + +## 🔵 [tdd-criteria-review] — Code-review checkpoint для брейнсторма `tdd-criteria` (промоушен 2026-05-07). + +**Спецификация:** `~/projects/claude-skills/.wiki/concepts/tdd-criteria-design.md` (промоушен в commit `a03d280`). +**Импл-таски (review против их acceptance criteria):** `tdd-criteria-skill-write`, `tdd-criteria-hermes-mapping`, `tdd-criteria-build-install`. + +**Кто делает:** **не имплементер.** Следующая сессия в `claude-skills` (другая модель / другой день / другой агент) поднимает таску с чистым контекстом. «Я только что это написал» bias = главный риск; brainstorm проводился в `.meeting-room`, импл — в `claude-skills`, ревьюер — третья сессия. + +**Чек-лист ревью:** + +1. **Прочитать спецификацию** (`.wiki/concepts/tdd-criteria-design.md`) — особенно секции «Decision algorithm», «Ironclad rules», «Permissive — accepted-risk zones», «Anti-loophole». +2. **Открыть `skills/tdd-criteria/SKILL.md`** и проверить: + - Frontmatter имеет `name: tdd-criteria`, `version: 0.1.0`, multi-line `description:` с триггер-фразами включающими «TDD», «test-driven», «skip-tdd», «следуй TDD». + - Все 4 Ironclad-правила и все 4 Permissive carve-outs присутствуют. + - Ведущий «Why this exists» аргумент — про anti-vandalism / contract-vs-artefact, не «good practice». + - **Нет** Claude-tool-refs в body (`Read`, `Edit`, `Glob`, `Bash`, `WebFetch`). `grep -E '(\\bRead\\b|\\bEdit\\b|\\bGlob\\b|\\bBash\\b)' SKILL.md` должно вернуть 0 хитов в content (frontmatter description допускает упоминание trigger-phrases). + - Длина ≤200 строк. Если больше — флаг. +3. **Открыть `hermes/mapping.yaml`** — entry `tdd-criteria: { mode: auto, category: software-development }`, **без** `replace-rules`. Если есть replace-rules — это значит SKILL.md имеет Claude-specific refs, что нарушает design. +4. **Verify build artefacts**: `dist/tdd-criteria.skill` существует и не пустой; `dist-hermes/software-development/tdd-criteria/SKILL.md` существует и совпадает с источником (для `mode: auto` без replace-rules — byte-identical). +5. **Verify install**: `~/.claude/skills/tdd-criteria/SKILL.md` существует, совпадает с источником. +6. **Smoke**: в новой Claude-сессии задать вопрос вида «нужны ли мне тесты для CSS-файла?» — skill `tdd-criteria` должен подцепиться по description, ответить «нет, [skip-tdd: visual]», без рассуждений «зависит от». +7. **Sanity-check на anti-vandalism rationale**: спросить себя «если бы я был агентом без этого скила и видел "messy code" — у меня есть signal не удалять?». Если SKILL.md формулирует только classical 4 аргумента (bug fix / pure logic / contract / security) — это значит ведущий argument потерялся при адаптации из design в SKILL. Это finding высокого приоритета. + +**Findings → новые follow-up tasks** через `mcp__projects-meta__tasks_create` с slug-format `tdd-criteria--fix` (например `tdd-criteria-trigger-phrase-fix`, `tdd-criteria-rationale-restore-fix`). + +**Закрытие:** только когда (а) все findings зафайлены отдельными tasks, ИЛИ (б) ревьюер подтвердил «нет findings» в close-note (с явным «прошёл по 7 пунктам checklist-а»). + +**Status:** blocked +**Where I stopped:** (not started) +**Next action:** Дождаться 🟢 у всех blocker-тасок (`tdd-criteria-skill-write`, `tdd-criteria-hermes-mapping`, `tdd-criteria-build-install`). Открыть свежую сессию в `claude-skills` (НЕ в `.meeting-room` и НЕ ту, в которой импл делался). Пройти 7-пунктный чек-лист в description. Findings — отдельные `tdd-criteria-*-fix` tasks. Закрыть с close-note. +**Blocker:** tdd-criteria-skill-write, tdd-criteria-hermes-mapping, tdd-criteria-build-install +**Branch:** master + + +---