mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-28 19:01:34 +00:00
scripts/reviews-index.mjs собирает docs/reviews/INDEX.md: одна строка на документ — issue, этап, раунд, вердикт (явная строка, раздел «Вердикт», свободная форма хвоста; 936 из 986 распознаны), High/Medium по строке вердикта или заголовкам находок, до шести заголовков находок. Индекс детерминирован, не индексирует сам себя, перечисляет файлы вне схемы имён; `--check` — гейт свежести. process.yml публикует INDEX.md тем же коммитом, что документ ревью. docs/LESSONS.md — датированные уроки со ссылками на источники (12 записей из аудитов и разборов недели). PROCESS.md §2.10 — где искать решения. Тесты: разбор имён, вердиктов, счётчиков, находок; фикстурный каталог; живой каталог (100 % покрытие, >90 % вердиктов); контракт шага конвейера. Мутанты reviews-index-skips-self-check, reviews-index-verdict-substring. Issue: #635 User-Visible: no
3.7 KiB
3.7 KiB
Уроки
Датированные выводы, пережившие свою задачу (#635). Каждый — одной мыслью, со
ссылкой на источник: документ ревью, issue, аудит. Полный след решений — в
docs/reviews/INDEX.md и комментариях issue; здесь только то, что меняет
поведение на следующей задаче. Конспекты ролей (#634) и промпт ревьюера
ссылаются сюда.
| Дата | Урок | Источник |
|---|---|---|
| 2026-08-23 | Одно число, видимое пользователю дважды (превью/факт, подпись/запись), обязано иметь один источник. | аудит 23.08, #233/#234, тест single-source-numbers |
| 2026-09-06 | Число смоков/тестов не живёт в тексте: считается командой (npm run inventory). |
#472, PROCESS.md |
| 2026-09-09 | Мутанты по диффу — на кандидате, не на каждом push: 48 из 56 часов job-минут за два дня ушли в отменённые прогоны. | #510 |
| 2026-09-13 | Ненулевой exit гарда ≠ «мутант пойман»: setup-failure, invalid-mutation и survived различаются; засчитывается только assertion-killed. | #558, #568 |
| 2026-09-18 | Ревью на не принятых эталонах — потерянный цикл: golden:verify ревьюер гоняет лично, эталоны принимаются до S7. |
CODE-REVIEW-598-r1 H1 |
| 2026-09-20 | Стенд ≠ Home Assistant: нативный <dialog> и ha-dialog — разные ветки; свидетель для реального HA — фикстура #505, а не golden стенда. |
аудит 22.09 A/H1, #607, #609 |
| 2026-09-20 | Контролируемое поле без live() показывает не то число, что в состоянии; клампить на коммите (change), не на каждом символе. |
аудит 22.09 A/H2, #608 |
| 2026-09-21 | Лог без итоговой строки — обрыв, а не «ok»: отчёт судит по маркеру завершения и исходу шага, не по отсутствию FAIL. |
#604 |
| 2026-09-21 | На main после fast-forward merge-base(dev, HEAD) = HEAD: пустой дифф пропускает тяжёлые job, а гейт, судящий только самый свежий прогон, объявляет релиз красным. |
аудит 22.09 D, #619 |
| 2026-09-22 | Обвязка процесса тоже рождает P1: дефекты #595/#596 нашлись в бою, а не тестами обвязки — тесты по тексту YAML и регэкспам исходников не заменяют фикстурного прогона. | аудит 22.09 |
| 2026-09-23 | Смена события коммита в общем контроле (input → change) краснит смоки, которые набор контролов не называют: связь символ → смок должна быть явной в smoke-links, иначе краснота доживает до ночи. |
#639 |
| 2026-09-23 | Ожидание другого workflow внутри job — занятый раннер и потолок бюджета стадии; ждать должно событие (workflow_run) с маркером ожидания, а будить без маркера нельзя — это второй вызов модели. |
#636 |