diff --git a/openspec/changes/aurora-1896-cell-formulas/design.md b/openspec/changes/aurora-1896-cell-formulas/design.md index 6c13a04..c76d299 100644 --- a/openspec/changes/aurora-1896-cell-formulas/design.md +++ b/openspec/changes/aurora-1896-cell-formulas/design.md @@ -180,3 +180,4 @@ AHR_LIMIT (`limit_template.id`) построчно не удаляется — | 12 | 2026-11-11 | Minor-находки Task 1 (T1.1–T1.3) правятся одной пачкой после Task 4 (R-3) | Не плодить диспатчи; проектный каскад появится в Task 4 | Низкая | | 13 | 2026-11-11 | В Task 4 `upd_form3_cells` — то же правило, что в Task 3 для `cells`: `exclude={"formula"}` и ключ `formula` только если не None (R-4) | Пробел в формулировке плана | Нет: SQL игнорирует лишние ключи | | 14 | 2026-11-11 | В `core/exception_handlers.py` снимается обёртка asyncpg `: ` перед проверкой `VALIDATION_PREFIXES` (R-5); побочно все validation-префиксы на реальной БД дают 422 вместо 400 и заполняют `field` | Без этого `invalid_formula:` не распознавался (спека требует 422); локальная альтернатива дублировала бы маппинг | Клиенты, ожидавшие 400 для `computed_field:`/`unknown_column:` и др.; тесты и фронт 400 не проверяют | +| 15 | 2026-11-11 | Task 3/4: тест 403 с isp2/plan.q2 вместо isp_tokens; SAVEPOINT-тест атомарности; тесты проектов берут строки из `rf_project_report_line`; GET формул несуществующего отчёта → 400 как у PATCH | Фикстуры/поведение существующих эндпоинтов | Низкая: только тесты/коды ошибок |