fix: preserve area relocation state

Issue: #403
User-Visible: yes
This commit is contained in:
Sergey Matyunin
2026-09-01 14:53:37 +00:00
committed by claude[bot]
parent 6b5158003a
commit 71bbc95309
28 changed files with 550 additions and 190 deletions
+8 -5
View File
@@ -3,7 +3,7 @@
- Issue: https://github.com/Matysh/houseplan-card/issues/403
- Приоритет: P1, bug; полный трек — класс A, две находки на одной поверхности
(свежий код #126)
- Ревизия: 2 (2026-09-01; H1/L1 из SPEC-REVIEW-403-r1)
- Ревизия: 3 (2026-09-01; техническое уточнение AC7 при реализации)
## Сценарий
@@ -171,10 +171,13 @@ best-effort контракт на touch из `docs/TOUCH-SUPPORT.md` и разд
Доказательство: смок.
- **AC6**. Записи переехавшего устройства из истории удалены — Undo не вернёт
его в комнату, которой у него больше нет. Доказательство: тот же смок.
- **AC7**. Существующее поведение #126 не сломано: ручная перестановка после
переезда переживает три rebuild-тика, delete-first echo не воскрешает точку.
Доказательство: `demo/smoke_area_relocation.mjs` остаётся зелёным без
правок его утверждений.
- **AC7**. Существующее успешное поведение #126 не сломано: ручная перестановка
после переезда переживает три rebuild-тика, delete-first echo не воскрешает
точку. Доказательство: `demo/smoke_area_relocation.mjs` остаётся зелёным;
единственное прежнее утверждение `failedConfigRetryable`, которое прямо
требовало состояние исходного бага (`layout` уже удалён после отказа
`config/set`), заменяется witness нового AC1 — позиция восстановлена, а
повтор остаётся возможен. Остальные утверждения смока не меняются.
## План автотестов