docs: manual ship review for v1.79.0-beta.2

Owner-authorized fallback after the review model stopped before reading code. All 13 ship issues reviewed; High 0, Medium 0, Low 0.
This commit is contained in:
Matysh
2026-10-02 07:54:50 +03:00
parent 044f09a6a5
commit 11e9eb10df
2 changed files with 112 additions and 1 deletions
+2 -1
View File
@@ -1,9 +1,10 @@
# Индекс ревью
Генерируется `node scripts/reviews-index.mjs` (#635) — не редактировать руками. Документов: 281, issue: 139. Вердикт: 🟢 зелёный · 🟡 жёлтый · 🔴 красный · ⚪ не распознан (свободная форма старых документов). H/M — число High/Medium по строке вердикта или заголовкам находок. Файлы — пути, названные в находках; ищите по имени файла: `grep form-kit INDEX.md`.
Генерируется `node scripts/reviews-index.mjs` (#635) — не редактировать руками. Документов: 282, issue: 139. Вердикт: 🟢 зелёный · 🟡 жёлтый · 🔴 красный · ⚪ не распознан (свободная форма старых документов). H/M — число High/Medium по строке вердикта или заголовкам находок. Файлы — пути, названные в находках; ищите по имени файла: `grep form-kit INDEX.md`.
| Issue | Документ | Этап · раунд | Вердикт | H | M | Находки | Файлы |
|---|---|---|---|---:|---:|---|---|
| бета v1.79.0-beta.2 | [SHIP-REVIEW-v1.79.0-beta.2.md](SHIP-REVIEW-v1.79.0-beta.2.md) | пакетное ревью ship · — | ⚪ — | 0 | 0 | — | — |
| бета v1.79.0-beta.1 | [SHIP-REVIEW-v1.79.0-beta.1.md](SHIP-REVIEW-v1.79.0-beta.1.md) | пакетное ревью ship · — | ⚪ — | 0 | 0 | — | — |
| #775 | [CODE-REVIEW-775-r1.md](CODE-REVIEW-775-r1.md) | code · r1 | 🟢 зелёный | 0 | 0 | — | — |
| #772 | [CODE-REVIEW-772-r1.md](CODE-REVIEW-772-r1.md) | code · r1 | 🟢 зелёный | 0 | 0 | — | — |
+110
View File
@@ -0,0 +1,110 @@
# Пакетное ship-ревью v1.79.0-beta.2
Дата: 2026-10-02. Ревьюер: Codex, ручной разбор по разрешению владельца.
## Материал и исключение
Материал: `044f09a6a5eee277b3cdd4b3b1e9c1ef46232e79`, база
`v1.79.0-beta.1` (`dca0fd2876d318b84edb3d97889e19fb384b8139`).
Прочитаны все 13 ship-задач из детерминированного входа
[36965602182, attempt 3](https://github.com/Matysh/houseplan-card/actions/runs/36965602182).
SHA-256 `ship-issues.json`: `1c4cf2671f5b2dcc05b65dd8fc53a66909d6d306762dc98812e9169ab582d162`.
Патч-наборы в машинном блоке взяты из этого входа, не составлены вручную.
Штатная модель дважды закончила до чтения кода: `is_error=true`, один ход,
нулевой расход, нет `structured_output`. Отдельный повтор model-job также
не дошёл до модели из-за отсутствующего входного артефакта новой попытки.
Явного сообщения об исчерпании лимита в доступном логе нет. Владелец отдельно
разрешил самостоятельное ship-ревью при таком отказе и продолжение выпуска.
Этот документ — результат ручного ревью, а не зелёный результат упавшего CI.
## Итог
High: 0 · Medium: 0 · Low: 0. Пакет допустим к бете при зелёном полном
Validate финального SHA. Ни один из 14 коммитов пакета не меняет `src/**`,
Python или конфигурацию пользователя. Изменения соответствуют инфраструктурному
скоупу своих ТЗ; выходов за механические рамки ship не обнаружено.
## Разбор задач
| Задача, коммит | Проверено чтением и исполнением |
|---|---|
| #708 `bcff8c715` | Снимок лестницы перенесён за окончание предыдущей отложенной записи. Тайм-аут делает AC красным, а не успешным. Строгое сравнение всей лестницы, размер больше метра и отсутствие новой истории сохранены. `smoke_stairs` входит в релизный локальный набор. |
| #712 `f56342479`, `07d90be28` | Ожидание языка и разложенного диалога заменяет фиксированные кадры; открытие через фасад реального действия. Замер тумблера ждёт окончания CSS-анимаций. Порог геометрии и встроенная отрицательная проба со старым `content-box` сохранены. |
| #715 `a4af5a200` | Перед пробой фона ожидаются маркеры завершённого режима и отсутствие анимаций. Цвета не подставляются в состояние продукта, прежние проверки белого листа и отличия View сохранены. На кандидате учтена последующая общая обёртка ожидания из #754. |
| #717 `445a9a0cd` | Автообслуживание выключено только в временных git-фикстурах, включая bare origin. `finally` остаётся у каждого теста; повтор удаления ограничен. Проверки ребейза, отказа на продуктовый конфликт и чистоты дерева не менялись. |
| #719 `84ed38e3d` | Требуется ровно ноль сдвинутых оверлеев — контракт после #713, а не удаление проверки. Сохраняются положительное число поднятых корней, все виды оверлеев и проёмов, геометрический кеш и отсутствие структурных пересборок. |
| #720 `9e1cc9127` | Из трёх бюджетов удалена только `viewToggleMs`, по записанному решению владельца. Сама метрика продолжает собираться. Лимиты загрузки, смены этажа и одиночной долгой задачи сохранены и защищены юнитом. |
| #721 `e00f62dca` | Вместо абсолютных миллисекунд считаются чтения контуров относительно одной сборки кладки на том же этаже. Есть защита от ослепшего счётчика; порог меньше двух сборок. Соседний тест по-прежнему проверяет точную площадь 4.32 и один вызов на пространство. |
| #722 `bbcc88caf` | До и после создания второй карточки считаются запросы именно файла локали, по URL pathname. Запросы подложки больше не дают ложный отказ; повтор локали по-прежнему меняет счётчик. |
| #733 `40607aa37` | Обе стороны `isMainModule` канонизируются `realpathSync`; отсутствующий путь и некорректный URL не бросают наружу. Дочерний Node проверяет обычный запуск, junction/симлинк и отсутствие запуска main у импортированной библиотеки. Проверено также на Windows. |
| #734 `b3dd9444b` | Кадры до щипка и до первой заливки исключаются согласно ТЗ. Нужны минимум три кадра внутри жеста; пустой набор и белый жест целиком не проходят. Белый кадр после первой заливки даёт отказ, в том числе после окончания жеста. Не изменён порог 1% белых пикселей. |
| #758 `5a49c8c32` | AC15 явно ждёт ленивый чанк через `withMoon`, а не зависит от запуска другого теста. Оракулы луны не изменены. Изолированный запуск `--test-name-pattern=#718` проходит 6/6. |
| #759 `b84465e54` | В обеих ширинах ожидаются отсутствие `aria-busy`, нужный `lang` и разложенный футер конкретного вида диалога. Тайм-аут 5 с с именованной ошибкой. Не меняются 36 имён проверок, пороги ширины и запас локализации. |
| #760 `86a301f61` | Ветка `issue/*` получает предупреждение и при полном запуске. Release на dev, полный dev, PR и расписание сохраняют strict в реальных входах workflow (`github.ref_name`; у PR — номер/merge). Полный Validate не отключается. |
## Проверки и защитная сила
- `npm run bundle:release`: typecheck, сборка и синхронизация кандидата прошли в WSL.
- `npm test`: 3540 тестов, 3510 passed, 30 skipped, 0 failed. Первые два
локальных запуска отказали только из-за промежуточного Git-индекса собранных
чанков: тест читает manifest из HEAD, а список tracked из индекса. Индекс
возвращён к HEAD без изменения рабочего дерева; полный повтор зелёный.
- `node --test test/windows-portability.test.mjs`: Windows, 7/7 passed;
тот же файл исполнен в полном Linux-наборе.
- `node --test --test-name-pattern=#718 test/moon.test.mjs`: WSL, 6/6 passed.
- Браузерные смоки WSL, каждый `node demo/smoke_<имя>.mjs`: 20/20 прошли:
`warm_mode_adoption`, `warm_dialogs`, `nav_persist`, `moon`, `moon_static`,
`moon_status`, `room_fill_transitions`, `floor_geometry_cache`,
`iso_floor_switch`, `isometric_contract`, `isometric_live_touch`, `stairs`,
`lazy_editor_chunk`, `space_card`, `device_hit_capsules`,
`dialog_polish_603`, `backdrop`, `german_locale`, `daycycle_layer_budget`,
`dialog_footer_width`.
- `npm run benchmark:isometric-stage3-dense`: прошёл наблюдаемый контракт,
включая отсутствие nudged overlays и структурных пересборок на живых
обновлениях. Это диагностический локальный замер, не сравнение с base-SHA.
- `npm run docs:accept -- --identical`: все 11 кадров pixel-identical.
Обновлён только исходный fingerprint; PNG и golden-baselines не менялись.
- `node scripts/mutation-gate.mjs --check`: проверка реестра, без исполнения
мутантов. Мутант `summary-area-recomputes-walls-per-room` прямо убирает
передачу `shared.roomGeom, shared.multiWallNodes` и связан с тестом #721.
- Проверены диффы оракулов: #708, #712, #715, #722 и #759 сохраняют прежние
сравнения, а не заменяют их проверкой наступления ожидаемого результата.
#734 дополнительно запрещает пустой набор наблюдений; #719 проверяет ноль,
а не просто снимает прежнее требование. Для #733 и #760 отрицательные случаи
входят в исполненные юниты. Проба старого box model #712 встроена в смок.
- Серии нагрузочных повторов и временных подмен из комментариев авторов
прочитаны как их свидетельства, но не выданы за мои прогоны: #708
[отчёт](https://github.com/Matysh/houseplan-card/issues/708#issuecomment-5917008690),
#712 [отчёт](https://github.com/Matysh/houseplan-card/issues/712#issuecomment-5917016481),
#715 [отчёт](https://github.com/Matysh/houseplan-card/issues/715#issuecomment-5917010106),
#717 [отчёт](https://github.com/Matysh/houseplan-card/issues/717#issuecomment-5917011659),
#721 [отчёт](https://github.com/Matysh/houseplan-card/issues/721#issuecomment-5919586598),
#722 [отчёт](https://github.com/Matysh/houseplan-card/issues/722#issuecomment-5919587830),
#734 [отчёт](https://github.com/Matysh/houseplan-card/issues/734#issuecomment-5923813953),
#759 [отчёт](https://github.com/Matysh/houseplan-card/issues/759#issuecomment-5930933824).
## Границы вывода
Это пакетное чтение перечисленных ship-коммитов, не повторное ревью всех
58 задач линии. Полный HA-harness, весь набор golden и все смоки локально
не запускались: их судит обязательный полный Validate финального кандидата.
Мутанты не исполнялись (PROCESS §8/§11.7); реестр и отрицательные случаи
прочитаны. Локальный бенчмарк не заменяет Linux CI performance proof.
Настоящий Android WebView и телефон физически не проверялись.
<!-- hp-ship-review-anchors -->
### Материал пакетного ревью
```
tag v1.79.0-beta.2
candidate 044f09a6a5eee277b3cdd4b3b1e9c1ef46232e79
base v1.79.0-beta.1
issues 708,712,715,717,719,720,721,722,733,734,758,759,760
high 0
medium 0
low 0
run —
mode beta
patches 708:1e634d2522c16426f2f50fcd5e5e468ac686255a,712:465f7045630b3329629aaf0be9ba21cabe2e1820+8eb683821ada76dd2304259ac19ce9474fe68f8b,715:51b377898301c633eb82d9bf0e753bd99c696521,717:333c8dcc7b533252c7573e51f86d598c9fffd367,719:f2c698edfda3ed222b37579517a67144cd1ffce0,720:1e18ff83deb0e9297335574bfa2e3c74b812b98e,721:b4805c3793cc601d80e5c17b0e34b7ca22ee2f53,722:043f1f1cc463a59b6d7ee387844e0dfbe928cfe6,733:7602f7ef50b57fedc723631ba21f2be3c0f1cc2a,734:adbf3474020188fd892edc4b35bb862549163a61,758:4463bed635f7798a3813b8de38cec248d234016b,759:1c219f6950c3e145e8ac81690313cd83eb577aa5,760:3ecd39c173c0b4b4202e81b9aec2566d414c2733
```