meta(tasks): create [interns-grep-audit-review] in OpeItcLoc03/claude-skills

This commit is contained in:
2026-05-22 04:19:41 +00:00
parent 8e02a9eb4c
commit b9db98ec15

View File

@@ -1291,3 +1291,52 @@ Findings — отдельные follow-up tasks (`using-vds-ops-<gap>-fix` ил
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: OpeItcLoc03/workshop / 2026-05-22T04:19:15.319Z --> <!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: OpeItcLoc03/workshop / 2026-05-22T04:19:15.319Z -->
--- ---
## 🔵 [interns-grep-audit-review] — Code-review checkpoint для брейнсторма `interns-grep-audit` (промоушен 2026-05-22 из `.workshop/.brainstorm/interns.md` — partial-extract, living-catalog продолжает жить).
**Спецификация:** `.wiki/concepts/interns-grep-audit-design.md`.
**Process trace:** `~/projects/.workshop/.archive/2026-05-22-grep-audit-extract.md`.
**Импл-таски:** `interns-grep-audit-impl` (в `OpeItcLoc03/.common`), `interns-grep-audit-skill-updates` (в `OpeItcLoc03/claude-skills`).
**Кто делает:** **не имплементер.** Следующая сессия в этом проекте (другая модель / другой день / другой агент) поднимает таску с чистым контекстом. «Я только что это написал» bias = главный риск.
**Чек-лист ревью:**
1. **Спецификация vs shipped-код.**
- Сигнатура `grep_audit(paths, patterns, output, case_sensitive)` совпадает с design-page §«Сигнатура».
- `output="table"` рендерит ✅/❌/⚠️ как в дизайне.
- `output="json"` shape матчит `{"rows": [{path, matches: {<name>: bool|null}}]}`.
- При `FileNotFoundError`/`PermissionError`/`IsADirectoryError` — partial-result с `null`/`⚠️`, не abort всего вызова.
- Always-ask matcher применяется (`safety.check_paths`) — single source of truth с другими интернами.
2. **TDD discipline.**
- `git log --reverse` тестов и имплементации — тесты должны быть закоммичены ДО имплементации (или в том же коммите с явной маркировкой «red phase»).
- Каждый тест из acceptance-листа в impl-task реально написан и pass.
- Coverage не «прогонка через ветку», а assert на observable behavior.
3. **Base class adaptation.**
- `endpoint=null` действительно skipпает LLM-client init без exceptions при registry-load.
- Это generic-механизм, не one-off hack для `grep_audit`. Будущий детерминированный интерн поднимется тем же путём.
4. **Skill routing.**
- `using-interns/SKILL.md` содержит 3 строки про `grep_audit` (deterministic claim, vs `bulk_text_read` boundary, always-ask reminder).
- version bumped MINOR.
- dist installed и verified.
5. **Boundary check (Script-First Rule).**
- В реализации НЕТ LLM-вызова. Ни условного, ни fallback-режима. Если в коде встретился `self.client.complete(...)` — это finding, нарушение Decision #2.
**Findings → follow-up tasks** через `tasks_create` (`interns-grep-audit-<gap>-fix` или подобное).
**Закрытие:** только когда все findings зафайлены ИЛИ ревьюер подтвердил «нет findings» в close-note.
**NB:** workshop-promote-brainstorm v1.x mandates pointers-task для domain-промоушена. В этом промоушене pointers skipped с обоснованием «design ляжет в claude-skills (тот же репо, где скилы и using-interns), impl — в .common; cross-repo gap мелкий, одна ссылка `**Design:** path` в description каждой импл-таски достаточна». Ревьюер должен подтвердить что impl-агент в `.common` нашёл дизайн через ссылку без угадывания.
**Status:** blocked
**Where I stopped:** (not started)
**Next action:** Дождаться 🟢 у обеих блокирующих импл-тасок. Прочитать спецификацию `concepts/interns-grep-audit-design.md` + process trace `.workshop/.archive/2026-05-22-grep-audit-extract.md`. Прогнать чек-лист (5 пунктов). Для каждого finding — `tasks_create` follow-up в соответствующий проект. Закрыть с close-note «нет findings» или «N findings filed: [list]».
**Blocker:** impl-tasks: interns-grep-audit-impl (in .common), interns-grep-audit-skill-updates (in claude-skills)
**Branch:** n/a
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: OpeItcLoc03/workshop / 2026-05-22T04:19:40.642Z -->
---