From b9db98ec159374e373968afe3dbf662e69eacd3e Mon Sep 17 00:00:00 2001 From: OpeItcLoc03 Date: Fri, 22 May 2026 04:19:41 +0000 Subject: [PATCH] meta(tasks): create [interns-grep-audit-review] in OpeItcLoc03/claude-skills --- .tasks/STATUS.md | 49 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/.tasks/STATUS.md b/.tasks/STATUS.md index 2a5b03c..2777a3c 100644 --- a/.tasks/STATUS.md +++ b/.tasks/STATUS.md @@ -1291,3 +1291,52 @@ Findings — отдельные follow-up tasks (`using-vds-ops--fix` ил --- + +## 🔵 [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: {: 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--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 + + +---