DB.FlowExp_WorkStatistics/_recommendations.md

24 lines
5.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Актуальные рекомендации kit-dev-flow (обновлено: 2026-11-05)
Полная версия с таблицей сверки метрик А1–Г3 и источниками:
[recommendations/2026-11-05-рекомендации.md](recommendations/2026-11-05-рекомендации.md)
Контекст недели: карточек в петле 0 (flow_stats.py по трём выборкам);
анализ по baseline (93 до-петлевых прогона, 3 проекта, все generated).
## TOP-рекомендации
| # | Рекомендация | Тип | Доказательство (кратко) | Как проверить |
|---|---|---|---|---|
| R1 | Закрепить запись карточки механизмом (хук/финальная стадия workflow), не памятью агента — петля пуста и не собирает данные | семантическая | карточек 0; авто-записи нет ни в одном из 93 скриптов (grep «flow_exp» — 0); прецедент хука PostToolUse есть в sys-qa-interactive | следующий прогон → карточка в runs/, flow_stats «Карточек: ≥1»; через 2 недели снова 0 ⇒ эскалация владельцу |
| R2 | Канонизировать словарь kind: README «db» vs SKILL.md «БД» при точном фильтре --kind делит классы и теряет карточки | механическая | README: `kind: db`; SKILL.md:127 — «БД»; flow_stats.py:93 — строгое равенство | карточка `kind: БД` попадает в выборку `--kind db`; в отчёте один класс db |
| R3 | Расширить поля карточки: findings, findings_high, redo, tokens; определить revisions; внести в whitelist парсера | механическая | А1 (находки 53→2) не попадает в карточку, хотя findings[] есть в каждом ране; Б3 без токенов; revisions — коллизия А1/Б2 | карточка-фикстура не теряет новые поля; в _summary.md среднее findings по kind=этап-модуля |
| R4 | Доработать пресеты до модального паттерна (зоны → интегратор-гейт → ревизор → контрольный гейт) либо не форсировать их приоритет | семантическая | 0 пресетных из 93 прогонов; в пресетах нет ролей интегратора/ревизора; модальный паттерн = эталон dx-flow «факт-в-факт» | grep ролей в kit-dev-process.dwf.ts; первый пресетный прогон → карточка form: preset; обе ветки в таблице «форма» |
| R5 | Исполнить сработавшие триггеры Б1 (док-коммиты 70→56 % при цели ≤40 %, две итерации >50 %) и В4 (docChanges до 4 этапов): каскад статусов в одно место, легализация на каждом замыкании — через ретроспективу | семантическая | Б1: И1 ~70 %, И2 ~56 % — триггер «упрощать каскад» сработал, метрика 🟡; В4: до 4 этапов при цели ≤1 итерации | замер git log проекта: доля док-коммитов ≤50 % к следующей итерации (цель ≤40 %); возраст docChanges ≤1 итерации |
| R6 | Исполнить триггер А2 (псевдо-якоря = 2 при цели 0): приём «якоря — живым запросом (dx-dev-8), числа — пересчётом» в dx-flow | семантическая | И3-э1: 2 псевдо-якоря, 🟡; в таблице приёмов dx-flow отдельного приёма нет | приём с числом-прецедентом в dx-flow; на следующем этапе А2 = 0 |
| R7 | Починить механику журнала: битая ссылка `../../readme.md` в dx-flow.md:8, пустая таблица форм в _summary.md при 0 карточек, обрезка «#» в значениях шапки (flow_stats.py:60) | механическая | ссылка из корня журнала ведёт вне репозитория; пустая таблица наблюдена в текущем _summary.md; split(" #") режет значения | ссылка ведёт в осмысленное место/заменена путём; отчёт без пустой таблицы; значения читаются целиком |
Правило отбора: метрика хуже цели dx-flow (А1 high, А2, А3, А4, Б1, Б2,
В2, В4 — все 🟡) → кандидат; ранжировано по стоимости для петли.
Метрики в цели (Б3, В1, В3, Г1–Г3 — 🟢) действий не требуют.