mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-29 11:18:48 +00:00
Сверка PROCESS.md, ролевых выжимок, AGENTS.md, TESTING.md, CONTRIBUTING.md и скриптов по 26 найденным расхождениям (D1–D26): трейлеры по классам изменений, gate:small как единственный источник состава, пороги ревью, путь реестра мутантов, golden по ci:golden, порядок чтения промпта ревью. - scripts/change-classes.mjs: классы A/B/C/D — один модуль для process-gate и проверки трейлеров. - commit-msg: коммит только с файлами класса C (документация) трейлеров не требует; указанные трейлеры по-прежнему проверяются. - Маршрут автора без docs/STATUS.md: 5345 → 4703 слова. - Промпт ревью читает SCOPE → AGENTS → REVIEWER, как ROUTES.reviewer. Issue: #701 User-Visible: no Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018qZfe7YS4rqEMKoVeS3GKd
4.1 KiB
4.1 KiB
Уроки
Датированные выводы, пережившие свою задачу (#635). Каждый — одной мыслью, со
ссылкой на источник: документ ревью, issue, аудит. Полный след решений — в
docs/reviews/INDEX.md и комментариях issue; здесь только то, что меняет
поведение на следующей задаче. Читается перед задачей в затронутой подсистеме
вместе с её строками в docs/reviews/INDEX.md (PROCESS.md, «Индекс документов
ревью»); конспекты ролей сюда не ведут — урок, ставший правилом, живёт в каноне.
| Дата | Урок | Источник |
|---|---|---|
| 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. С #697 — только у задачи с ci:golden; сдвиг остальных принимает бот на dev перед бетой. |
CODE-REVIEW-598-r1 H1, #697 |
| 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 |