mirror of
https://github.com/Matysh/houseplan-card
synced 2026-10-06 22:49:16 +00:00
docs(reviews): record owner-authorized self-review for #793
Issue: #793 User-Visible: no
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
# Code review #793 — guard label pipe stability
|
||||
|
||||
Вердикт: зелёный · заход r1 · блокирующих циклов 0/2 · High: 0 · Medium: 0 · Low: 0.
|
||||
|
||||
## Основание и материал
|
||||
|
||||
Саморевью и ручное слияние разрешены владельцем 2026-10-05 ответом «да»
|
||||
на вопрос о таком исключении именно для #793. Это не результат модели CI:
|
||||
[автоматический раунд](https://github.com/Matysh/houseplan-card/actions/runs/37273206239)
|
||||
остановился без structured_output и не вынес вердикта.
|
||||
|
||||
- Issue: https://github.com/Matysh/houseplan-card/issues/793
|
||||
- Материал: `841bad4e79d2d6beecf87be61ffdad4008e58fff`.
|
||||
- База: `9ebc430983ec1d17d17a5f206aed653f6d818afa`.
|
||||
- Скоуп: `.github/workflows/_process.yml`, `test/review-doc-guard.test.mjs`.
|
||||
- Трек: show, инфраструктура; продуктовый код не затронут.
|
||||
|
||||
## Корректность и находки
|
||||
|
||||
Находок High/Medium/Low нет. Старый `grep -q` мог закрыть вход после первого
|
||||
совпадения; SIGPIPE у пишущего `printf` делает pipeline неуспешным при pipefail.
|
||||
Guard трактует это как снятие S7 и успешно заканчивает шаг с пустым stage.
|
||||
Новый `grep -Fx ... > /dev/null` дочитывает поток и сопоставляет полную метку
|
||||
буквально. Ошибка чтения/отсутствие метки не становятся разрешением запуска.
|
||||
|
||||
Тест исполняет извлечённый реальный шаг workflow с fake gh, а не копию логики
|
||||
guard. Большой снимок вынуждает проявиться прежней ошибке. Исходные восемь
|
||||
проверок выбора трека сохранены; улучшена только диагностика падения.
|
||||
Отрицательные случаи требуют отказа при отсутствии S7, похожей метке,
|
||||
blocked и review-4. Нет retry, отключения pipefail или ослабления oracle.
|
||||
|
||||
Ограничение вывода: точное планирование процессов, вызвавшее первоначальный
|
||||
сбой на двух коротких метках, повторно не получено. Подтверждены механизм
|
||||
уязвимости и тот же observable failure на расширенном снимке; это не обещание
|
||||
отсутствия всех возможных причин нестабильности suite.
|
||||
|
||||
## Доказательства
|
||||
|
||||
| AC | Чем доказан | Чем краснеет |
|
||||
|---|---|---|
|
||||
| Существующая S7 сохраняет stage=code, лимит и полный снимок меток | Новый #793 regression на настоящем bash с pipefail | До правки workflow выполнен FAIL: stage пуст при status 0; после правки PASS |
|
||||
| Отсутствие метки и блокировки не допускают ревью | Четыре отрицательных случая в новом тесте | Разрешённый stage или неверная причина не проходят точные assertions |
|
||||
| Приоритет треков и fail-closed compare не изменены | Исходные восемь вариантов r1 #695 | Прежние точные stage/limit/labels, включая ask, несколько треков и недоказанный compare |
|
||||
|
||||
| Проверка | Результат |
|
||||
|---|---|
|
||||
| `node --test --test-name-pattern=#793 test/review-doc-guard.test.mjs` до исправления workflow | FAIL по ожидаемому симптому; `C:/Temp/hp793-red.log` |
|
||||
| `node --test test/review-doc-guard.test.mjs` после исправления | 71/71 PASS, без пропусков; `C:/Temp/hp793-guard-green.log` |
|
||||
| `npm run gate:small`, WSL Ubuntu/ext4, Node 22.23.2, SHA материала | Все девять проверок PASS, 62 с; `C:/Temp/hp793-gate.log` |
|
||||
| [Validate 37272906621](https://github.com/Matysh/houseplan-card/actions/runs/37272906621) | success на точном SHA материала: typecheck, build, unit, бандл и предполётные проверки |
|
||||
| `node scripts/process-gate.mjs --range origin/dev..HEAD --issues --report` | PASS; ожидаемое сообщение об инфраструктурном диапазоне без класса A |
|
||||
| `git diff --check` | PASS |
|
||||
|
||||
Результаты исполнены при реализации и перепроверены по логам и SHA при
|
||||
саморевью; заново весь неизменный набор не запускался. Другой агент также
|
||||
прочитал окончательный дифф без находок и исполнил два новых теста: 2/2 PASS.
|
||||
|
||||
## Риски и непроверенное
|
||||
|
||||
Async/host: исправлено раннее закрытие pipe, свидетель работает в Linux/WSL.
|
||||
Данные/права: проверены блокировки, разрешения API не расширяются.
|
||||
Геометрия, визуал продукта, touch и runtime performance не меняются.
|
||||
Пользовательских величин, требующих единого источника, в диффе нет.
|
||||
|
||||
Golden, performance, полный browser suite, HA-harness и мутанты не запускались:
|
||||
эти поверхности не меняются; smoke-select не выбрал frontend-смоки. Проверки
|
||||
S4 отдельно не добавлены: общий has() разобран чтением, не отдельным запуском S4.
|
||||
Другие shell-обвязки из #766 остаются вне скоупа. Main-обёртки не меняются,
|
||||
зеркало не нужно. Changelog не нужен: User-Visible: no.
|
||||
|
||||
Рекомендация: слить проверенный материал в dev по разрешённому исключению,
|
||||
затем S8. Issue не закрывать до беты.
|
||||
|
||||
---
|
||||
|
||||
<!-- material-anchors: сгенерировано конвейером (#414) -->
|
||||
|
||||
## Материал раунда
|
||||
|
||||
- Ветка: `issue/793-guard-harness-stability`, коммит `841bad4e79d2` — ребейз его осиротит, и это нормально: ниже якоря, которые ребейз не меняет.
|
||||
- Дерево материала: `5d94375818d1a2ef164066224efed9f77c4374ce`
|
||||
```
|
||||
git log --all --format='%H %T' | grep 5d94375818d1
|
||||
```
|
||||
@@ -1,11 +1,12 @@
|
||||
# Индекс ревью
|
||||
|
||||
Генерируется `node scripts/reviews-index.mjs` (#635) — не редактировать руками. Документов: 294, issue: 146. Вердикт: 🟢 зелёный · 🟡 жёлтый · 🔴 красный · ⚪ не распознан (свободная форма старых документов). H/M — число High/Medium по строке вердикта или заголовкам находок. Файлы — пути, названные в находках; ищите по имени файла: `grep form-kit INDEX.md`.
|
||||
Генерируется `node scripts/reviews-index.mjs` (#635) — не редактировать руками. Документов: 295, issue: 147. Вердикт: 🟢 зелёный · 🟡 жёлтый · 🔴 красный · ⚪ не распознан (свободная форма старых документов). 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 | — | — |
|
||||
| #793 | [CODE-REVIEW-793-r1.md](CODE-REVIEW-793-r1.md) | code · r1 | 🟢 зелёный | 0 | 0 | — | — |
|
||||
| #791 | [CODE-REVIEW-791-r1.md](CODE-REVIEW-791-r1.md) | code · r1 | 🟢 зелёный | 0 | 0 | — | — |
|
||||
| #790 | [CODE-REVIEW-790-r1.md](CODE-REVIEW-790-r1.md) | code · r1 | 🟢 зелёный | 0 | 0 | — | — |
|
||||
| #789 | [SPEC-REVIEW-789-r1.md](SPEC-REVIEW-789-r1.md) | spec · r1 | 🟢 зелёный | 0 | 0 | — | — |
|
||||
|
||||
Reference in New Issue
Block a user