docs/specs/README.md kept a "Статус ТЗ" column with its own vocabulary — draft, in implementation, done — next to the labels that already hold the status. Two dictionaries for one fact drift apart, and these had: the column still called issues "in implementation" that were closed weeks ago. The table now says only which issue a spec belongs to. AGENTS.md was telling agents that PROCESS.md §1 does not cover package.json and the rest of the configuration, and to report it as missing. It covers them now. The same paragraph gained the rule that D beats A where paths overlap, which is what keeps the built bundle under custom_components/houseplan/frontend/ from reading as product source. Issue: #119 User-Visible: no
Спецификации задач P1 и P2
Актуально на 2026-08-12.
GitHub Issues и GitHub Projects (v2) остаются единственным каноническим backlog проекта. Этот каталог содержит развёрнутые ТЗ: каждое ТЗ ссылается на issue, а issue — на соответствующий файл. Статус, приоритет и факт завершения меняются только в GitHub.
Статусы ТЗ:
- готово к реализации — продуктовые решения зафиксированы, остаётся техническая работа;
- черновик решения — в ТЗ дана рекомендация, но перед реализацией требуется принять отмеченные продуктовые решения;
- в реализации — работа уже ведётся в рамках текущего этапа;
- реализовано — ТЗ сохранено как проверяемый acceptance contract.
Обязательные release-артефакты номерного ТЗ
Если задача меняет пользовательское поведение, её ТЗ обязано явно перечислить:
- записи в
docs/CHANGELOG.mdиdocs/CHANGELOG.ru.md; - затронутую пользовательскую документацию;
- требуемые screenshots/golden и способ их review, если меняется визуал;
- release/performance/security artifacts, если они входят в acceptance gate.
Отсутствие этого раздела не означает, что документация необязательна. Для чистого refactoring ТЗ должно прямо зафиксировать отсутствие пользовательских изменений и перечислить технические доказательства безопасного поведения.
P1
| Issue | ТЗ |
|---|---|
| #6 Vacuum XCME path segments | 006-vacuum-xcme-path.md |
| #7 Valetudo room outlines | 007-vacuum-valetudo-room-outlines.md |
| #8 Vacuum support docs and XCME hint | 008-vacuum-support-docs-xcme-hint.md |
| #27 External vacuum source picker | 027-vacuum-external-source-picker.md |
| #28 Room View card | 028-room-view-card.md |
| #29 Device inbox lifecycle | 029-device-inbox-lifecycle.md |
| #30 Dialog information architecture | 030-dialog-information-architecture.md |
| #31 View accessibility | 031-view-accessibility.md |
| #32 Unified danger confirmation | 032-unified-danger-confirmation.md |
| #33 Config schema lifecycle | 033-config-schema-lifecycle.md |
| #34 Frontend decomposition | 034-frontend-decomposition.md |
| #35 Current UX documentation | 035-current-ux-docs.md |
| #50 Экспорт и импорт конфигурации | 050-config-export-import.md |
| #58 Vacuum integration coverage — Stage 1 | 058-vacuum-stage1.md |
| #89 Опциональный объёмный 2.5D/изометрический вид | 089-isometric-view.md |
| #89 Этап 1: объёмный вид за флагом Labs | 089-isometric-view-stage1.md |
| #98 Единая система пульсаций и активностей устройства | 098-device-pulse-system.md |
P2
Правило актуализации
При изменении продуктового решения сначала обновляется соответствующее issue, затем ТЗ. Реализация не считается завершённой только по наличию кода: нужны выполненные acceptance criteria, предусмотренная ТЗ проверка и актуальный статус Project v2.