mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-28 19:01:34 +00:00
docs: #399 spec revision 3 per SPEC-REVIEW-399-r2
User-Visible: no Issue: #399
This commit is contained in:
@@ -3,8 +3,8 @@
|
||||
- Issue: https://github.com/Matysh/houseplan-card/issues/399
|
||||
- Приоритет: P2, infra; полный трек — класс B (конфигурация гейта, workflow,
|
||||
тесты), три несвязанные поверхности в одном issue по решению аудита
|
||||
- Ревизия: 2 (2026-08-31) — по SPEC-REVIEW-399-r1 (Medium: перебор по каталогу,
|
||||
а не по паре имён)
|
||||
- Ревизия: 3 (2026-08-31) — по SPEC-REVIEW-399-r2 (Medium: план тестов повторял
|
||||
снятую формулировку AC5)
|
||||
|
||||
## Сценарий
|
||||
|
||||
@@ -152,8 +152,14 @@ include`) и/или шаг линта в `.github/workflows/validate.yml`,
|
||||
1. Пин фронтенда совпадает с ожидаемой версией закреплённого HA (AC1).
|
||||
2. Списки деревьев в `include` и в шаге линта совпадают (AC2).
|
||||
3. Синтетический workflow без обеих зацепок → проверка пинов краснеет (AC4).
|
||||
4. Явный список обходимых файлов зафиксирован; добавление нового файла в
|
||||
workflows без обновления списка краснеет (AC5).
|
||||
4. Каталог `.github/workflows/*.yml` перебирается целиком: синтетический
|
||||
третий workflow с `pip install pytest` без версий краснеет **без** правки
|
||||
каких-либо списков в тесте (AC5). Списка обходимых файлов в тесте нет и
|
||||
быть не должно — файл, не ставящий python-зависимостей, распознаётся по
|
||||
собственному содержимому.
|
||||
5. Реальный каталог проверяется тем же кодом: девять workflow, установка
|
||||
python-зависимостей найдена ровно в двух — это вывод проверки, а не
|
||||
зафиксированное в ней ожидание (AC5).
|
||||
|
||||
**Мутанты** (`scripts/mutation-gate.mjs`):
|
||||
|
||||
@@ -161,6 +167,9 @@ include`) и/или шаг линта в `.github/workflows/validate.yml`,
|
||||
`validate-workflow.test.mjs` красный.
|
||||
- `lint-scope-drifts`: добавить дерево в `include`, не тронув workflow →
|
||||
контракт скоупа красный.
|
||||
- `workflow-scan-hardcodes-the-list`: заменить перебор каталога на
|
||||
фиксированный список имён → пункт 4 плана красный (иначе от снятой
|
||||
конструкции ничто не удерживает).
|
||||
|
||||
## Риски
|
||||
|
||||
|
||||
Reference in New Issue
Block a user