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
|
- Issue: https://github.com/Matysh/houseplan-card/issues/399
|
||||||
- Приоритет: P2, infra; полный трек — класс B (конфигурация гейта, workflow,
|
- Приоритет: P2, infra; полный трек — класс B (конфигурация гейта, workflow,
|
||||||
тесты), три несвязанные поверхности в одном issue по решению аудита
|
тесты), три несвязанные поверхности в одном 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).
|
1. Пин фронтенда совпадает с ожидаемой версией закреплённого HA (AC1).
|
||||||
2. Списки деревьев в `include` и в шаге линта совпадают (AC2).
|
2. Списки деревьев в `include` и в шаге линта совпадают (AC2).
|
||||||
3. Синтетический workflow без обеих зацепок → проверка пинов краснеет (AC4).
|
3. Синтетический workflow без обеих зацепок → проверка пинов краснеет (AC4).
|
||||||
4. Явный список обходимых файлов зафиксирован; добавление нового файла в
|
4. Каталог `.github/workflows/*.yml` перебирается целиком: синтетический
|
||||||
workflows без обновления списка краснеет (AC5).
|
третий workflow с `pip install pytest` без версий краснеет **без** правки
|
||||||
|
каких-либо списков в тесте (AC5). Списка обходимых файлов в тесте нет и
|
||||||
|
быть не должно — файл, не ставящий python-зависимостей, распознаётся по
|
||||||
|
собственному содержимому.
|
||||||
|
5. Реальный каталог проверяется тем же кодом: девять workflow, установка
|
||||||
|
python-зависимостей найдена ровно в двух — это вывод проверки, а не
|
||||||
|
зафиксированное в ней ожидание (AC5).
|
||||||
|
|
||||||
**Мутанты** (`scripts/mutation-gate.mjs`):
|
**Мутанты** (`scripts/mutation-gate.mjs`):
|
||||||
|
|
||||||
@@ -161,6 +167,9 @@ include`) и/или шаг линта в `.github/workflows/validate.yml`,
|
|||||||
`validate-workflow.test.mjs` красный.
|
`validate-workflow.test.mjs` красный.
|
||||||
- `lint-scope-drifts`: добавить дерево в `include`, не тронув workflow →
|
- `lint-scope-drifts`: добавить дерево в `include`, не тронув workflow →
|
||||||
контракт скоупа красный.
|
контракт скоупа красный.
|
||||||
|
- `workflow-scan-hardcodes-the-list`: заменить перебор каталога на
|
||||||
|
фиксированный список имён → пункт 4 плана красный (иначе от снятой
|
||||||
|
конструкции ничто не удерживает).
|
||||||
|
|
||||||
## Риски
|
## Риски
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user