From 2606fffa979f6b5e565a5d720aafffeaa0d022f2 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 30 Sep 2026 18:29:31 +0300 Subject: [PATCH] docs: ship review for v1.79.0-beta.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Пакетное ревью задач track:ship перед бетой (PROCESS.md §11.7). Задачи: 693. Итог: High 0 · Medium 0 · Low 1. Опубликовано вручную по решению владельца: ship-review.yml нет в main, и запустить его нельзя (#716). Ревью — независимый агент без контекста реализации по промпту workflow, машинный блок — anchorBlock. Issue: #696 User-Visible: no --- docs/reviews/INDEX.md | 3 +- docs/reviews/SHIP-REVIEW-v1.79.0-beta.1.md | 73 ++++++++++++++++++++++ 2 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 docs/reviews/SHIP-REVIEW-v1.79.0-beta.1.md diff --git a/docs/reviews/INDEX.md b/docs/reviews/INDEX.md index a21c678c..18f811bd 100644 --- a/docs/reviews/INDEX.md +++ b/docs/reviews/INDEX.md @@ -1,9 +1,10 @@ # Индекс ревью -Генерируется `node scripts/reviews-index.mjs` (#635) — не редактировать руками. Документов: 197, issue: 94. Вердикт: 🟢 зелёный · 🟡 жёлтый · 🔴 красный · ⚪ не распознан (свободная форма старых документов). H/M — число High/Medium по строке вердикта или заголовкам находок. Файлы — пути, названные в находках; ищите по имени файла: `grep form-kit INDEX.md`. +Генерируется `node scripts/reviews-index.mjs` (#635) — не редактировать руками. Документов: 198, issue: 94. Вердикт: 🟢 зелёный · 🟡 жёлтый · 🔴 красный · ⚪ не распознан (свободная форма старых документов). H/M — число High/Medium по строке вердикта или заголовкам находок. Файлы — пути, названные в находках; ищите по имени файла: `grep form-kit INDEX.md`. | Issue | Документ | Этап · раунд | Вердикт | H | M | Находки | Файлы | |---|---|---|---|---:|---:|---|---| +| бета v1.79.0-beta.1 | [SHIP-REVIEW-v1.79.0-beta.1.md](SHIP-REVIEW-v1.79.0-beta.1.md) | пакетное ревью ship · — | ⚪ — | 0 | 0 | — | — | | #713 | [SPEC-REVIEW-713-r1.md](SPEC-REVIEW-713-r1.md) | spec · r1 | 🟡 жёлтый | 0 | 1 | К6 перечисляет три места переноса камеры между проекциями, но доказательство/AC покрыва… | `src/houseplan-card.ts` | | #713 | [SPEC-REVIEW-713-r2.md](SPEC-REVIEW-713-r2.md) | spec · r2 | 🟢 зелёный | 0 | 0 | — | — | | #713 | [CODE-REVIEW-713-r1.md](CODE-REVIEW-713-r1.md) | code · r1 | 🟢 зелёный | 0 | 0 | устаревший комментарий, не влияет на поведение | `src/houseplan-card.ts` | diff --git a/docs/reviews/SHIP-REVIEW-v1.79.0-beta.1.md b/docs/reviews/SHIP-REVIEW-v1.79.0-beta.1.md new file mode 100644 index 00000000..f9d24fc2 --- /dev/null +++ b/docs/reviews/SHIP-REVIEW-v1.79.0-beta.1.md @@ -0,0 +1,73 @@ +# Пакетное ревью ship v1.79.0-beta.1 + +Итог: High 0 · Medium 0 · Low 1 + +> Опубликовано вручную по решению владельца (30.09): `ship-review.yml` нет в `main`, GitHub его не зарегистрировал и запустить его нельзя ([#716](https://github.com/Matysh/houseplan-card/issues/716)). Шаги повторены локально: вход — `renderShipBrief` по данным issue, ревью — независимый агент без контекста реализации по промпту workflow, машинный блок — `anchorBlock`. + +- Кандидат: `8afaa63caf6769810aebcec88fa1dd5d4e097958`, диапазон `v1.78.0` (`7d4d75bd`)..кандидат. +- Задачи ship: 1 (#693), коммит `18c9f8e77c2605a6a6ffc5708c30d43a35cf32a0`. +- Правила: `docs/process/REVIEWER.md` «Пакетное ревью ship», `PROCESS.md` §5 и §11.7. +- После коммита `18c9f8e7` в диапазоне ни один из затронутых им файлов не менялся (`git log 18c9f8e7..8afaa63c -- <файлы>` пуст), поэтому кандидат несёт правку в том виде, в каком она слита. + +## #693 — View: над лестницей курсор move вместо pointer + +**Строка ТЗ.** В View у `.hp-stair-hit` нет курсора `move`: лестница-ссылка показывает `pointer`, лестница без действующей цели показывает курсор сцены; редактор плана сохраняет `move`. `pointer` только у ссылки. Проверка: `demo/smoke_stairs.mjs` (`viewLinkHitCursorIsPointer`, `viewStairWithoutTargetHasNoMoveOrPointer`, `editorStairBodyCursorIsMove`), юнит `#693` в `test/stairs.test.mjs`, мутант `view-stair-cursor-move-again`. + +**Что в коде.** Слой View (`src/stairs-view.ts:89`) добавляет группе класс `hp-stair-view`. Правило редактора сужено до `.hp-stair.input-enabled:not(.hp-stair-view) .hp-stair-hit { cursor: move; }` (`src/styles/plan.styles.ts:1642`). Раньше правило срабатывало и в View: слой View ставит `input-enabled`, чтобы получать клики, а область попадания лежит поверх контура, поэтому `pointer` группы-ссылки (`.hp-stair.navigable`, #683 AC12) не был виден никогда. Теперь в View область попадания наследует курсор группы. Кроме того, коммит добавляет три проверки в смоук, юнит каскада, мутант, абзац в `docs/STAIRS.md` и записи в оба changelog. + +### Что проверил + +| Проверка | Результат | +|---|---| +| `git show 18c9f8e7` — полный дифф | Правка делает заявленное и только его. Обработчики событий, `role`, `tabindex`, геометрия и слой редактора не тронуты | +| Рамки ship: `git show --numstat -- src/` | `src/stairs-view.ts` +1/−1, `src/styles/plan.styles.ts` +4/−1: 7 строк из 30. Новых файлов в `src/**`, ключей i18n, полей конфига и Python нет | +| Выход из ship по смыслу | Нет. `pointer` только у ссылки — контракт, уже записанный в #683 AC12 (правило `.hp-stair.navigable { cursor: pointer; }` и мутант `stairs-active-link-loses-pointer-cursor`). Правка делает его видимым, нового UX-контракта нет. Геометрии, конфига, перфа и touch правка не касается: курсор на touch не действует, класс ничего не стилизует, кроме `:not()` | +| Потребители класса и старой строки: `grep` по `src/`, `scripts/`, `test/`, `demo/` | На старый селектор или строку ` +### Материал пакетного ревью + +``` +tag v1.79.0-beta.1 +candidate 8afaa63caf6769810aebcec88fa1dd5d4e097958 +base v1.78.0 +issues 693 +high 0 +medium 0 +low 1 +run — +```