diff --git a/docs/reviews/SPEC-REVIEW-489-r1.md b/docs/reviews/SPEC-REVIEW-489-r1.md new file mode 100644 index 00000000..39b58042 --- /dev/null +++ b/docs/reviews/SPEC-REVIEW-489-r1.md @@ -0,0 +1,236 @@ +# SPEC-REVIEW-489-r1 + +- **Issue:** https://github.com/Matysh/houseplan-card/issues/489 +- **Этап:** ТЗ на ревью (PROCESS.md §2.4) +- **Материал:** `docs/specs/489-data-hp-contract.md` на SHA `9cf10bdde7696e13c049fe83b4dc284622386127` + (commit `9cf10bdd`, ветка `issue/489-data-hp-contract`), плюс тело issue #489 и + комментарии аналитики/автора. +- **Трек:** полный (обоснование в комментарии аналитики: несколько поверхностей + + новый публичный DOM-контракт — корректно, критерий `small` не пройден). +- **Заход:** r1 (первый). + +## Скоуп разбора + +Первый цикл — разбор полный: прочитаны `docs/SCOPE.md`, `AGENTS.md`, `PROCESS.md` +целиком, тело issue #489 и оба комментария, действующий `docs/STYLING-HOOKS.md`, +и сам ТЗ-документ целиком. Каждый раздел §6 (контракт поведения) сверен построчно +с текущим исходником: `src/houseplan-card.ts` (`_booting`, `_mode`, header +`.hdr`/`.zoomctl`/`.tabs`/`tabadd`/`.tabedit`, пустые/fixed-floor ветки, +`toast`), `src/houseplan-editor-runtime.ts` (`_renderMarkupBar`, +`_renderDevicesBar`, `_renderDecorBar`, `.editbar`/`.barclose`), `src/hp-dialog.ts` +(host, fallback `.close`, отсутствие текущего понятия «kind»), 33 call site +` + +## Материал раунда + +- Ветка: `issue/489-data-hp-contract`, коммит `9cf10bdde769` — ребейз его осиротит, и это нормально: ниже якоря, которые ребейз не меняет. +- Дерево материала: `aa85b7b01e6fe7a4dce55220b63b6da33f725eb8` + ``` + git log --all --format='%H %T' | grep aa85b7b01e6f + ``` +- ТЗ `docs/specs/489-data-hp-contract.md`, блоб `b90694718d571ad77abea4fc592a5e641a0c3d19` + ``` + git log --all --find-object=b90694718d571ad77abea4fc592a5e641a0c3d19 -- docs/specs/489-data-hp-contract.md + ```