mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-30 11:49:16 +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
24 lines
4.1 KiB
Markdown
24 lines
4.1 KiB
Markdown
# Уроки
|
||
|
||
Датированные выводы, пережившие свою задачу (#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 |
|