24 lines
5.1 KiB
Markdown
24 lines
5.1 KiB
Markdown
# Актуальные рекомендации 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 — 🟢) действий не требуют.
|