diff --git a/docs/specs/220-space-tab-reorder.md b/docs/specs/220-space-tab-reorder.md index 534b48d2..f7cfcba6 100644 --- a/docs/specs/220-space-tab-reorder.md +++ b/docs/specs/220-space-tab-reorder.md @@ -265,10 +265,18 @@ Safety floor §69 того же документа соблюдён по пос 2. **Механика вставки** — вставка перетаскиваемой вкладки перед той, над серединой которой отпущена мышь. Альтернатива (обмен местами) отвергнута: при переносе через несколько позиций она даёт неожиданный результат. -3. **Материализация привязки** (§8.3) выполняется в том же `config/set`, что и - порядок, а не отдельной записью: две записи дали бы окно, в котором порядок - уже новый, а привязка ещё старая. Ревизия r2: прежняя редакция предлагала - якорь в `settings` — отвергнута по M2 ревью r1 как новое поле конфигурации. +3. **Атомарность записи предположением не является.** Требование «порядок и + материализация уходят одним `config/set`» — норматив §8.3, его проверяет AC3 + и стережёт мутант `reorder-skips-materialization`. Разносить запись на две + нельзя: между ними возникает окно, где порядок уже новый, а привязка ещё + старая — ровно тот риск, ради которого §8.3 написан. Здесь пункт оставлен + только как указатель: свободно меняется всё остальное в этом разделе, но не + это (находка M3 ревью r2; прежняя редакция §17 держала норматив под + заголовком «менять свободно»). + + Историческая справка к §8.3: первая редакция предлагала хранить якорь + `firstSpaceId` в `settings` — отвергнута по M2 ревью r1 как новое поле + конфигурации. 4. **Тост о числовом `floor`** показывается всегда, а не только когда числовой `floor` действительно где-то используется: карточка не видит чужие панели, поэтому условие проверить нечем.