From eec61d6a5760e904adb50946e08595b45ae61f97 Mon Sep 17 00:00:00 2001 From: Andrey Epifancev Date: Wed, 28 Oct 2026 23:59:43 +0400 Subject: [PATCH] =?UTF-8?q?docs(openspec):=20aurora-1850=20=E2=80=94=20?= =?UTF-8?q?=D1=80=D0=B5=D1=88=D0=B5=D0=BD=D0=B8=D1=8F=20Task=204=20(T4.4)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- openspec/changes/aurora-1850-upd-form-cells-subtree/design.md | 1 + 1 file changed, 1 insertion(+) diff --git a/openspec/changes/aurora-1850-upd-form-cells-subtree/design.md b/openspec/changes/aurora-1850-upd-form-cells-subtree/design.md index 96285ef..bc0ef01 100644 --- a/openspec/changes/aurora-1850-upd-form-cells-subtree/design.md +++ b/openspec/changes/aurora-1850-upd-form-cells-subtree/design.md @@ -285,3 +285,4 @@ | 2026-10-28 | Контроллер (R-14): подпись коммитов `Co-Authored-By: Claude Opus 5.5` по плану и правилам волны 2, хотя системное напоминание сессии называет Sonnet 5.5 | Явная инструкция пользователя приоритетнее напоминания | Неверное имя модели в трейлере коммитов | | 2026-10-28 | Исполнитель Task 1 (T1.2): посев снимка GET создаёт строки FORM_1 AHR/CAP и для Support, и для Development; снимок включает и фикстурные формы 1 и 4 | `expense_item.direction` везде Support, иначе ветка Development в снимке пуста | Снимок содержит чуть больше строк, чем описано в плане; на проверку корректности не влияет | | 2026-10-28 | Исполнитель Task 3 (T3.1): ранг скелета присоединяется внешним `JOIN sk` поверх `UNION` построителя, а не внутри веток; ключ скелета один bigint (узел = `-id`, строка = `lid`) | Вариант с `JOIN sk` в каждой ветке обрушил оценку строк, планировщик выбрал nested loop, GET AHR вырос со 105 до 203 мс; внешний JOIN даёт около 114 мс (+8 %) | Хрупкость плана на других объёмах; ловит замер GET на стенде | +| 2026-10-28 | Исполнитель Task 4 (T4.4): JOIN `vsp` в скелете сателлитов оставлен, хотя `vsp_id` и `line_id` NOT NULL с FK (доказано по схеме); OTCH9F: перестановка строк с равным `(expense_item_id, month)` по tie-break `id` в снимке GET — 4 строки формы 26 (id 4/1 месяц 1, id 6/2 месяц 2), содержимое строк одинаково | Рулинг R-1; порядок при равных ключах раньше не был определён (D6) | Если фронт опирался на прежний случайный порядок равных ключей, порядок двух пар строк изменится |