2.0 KiB
Raw Blame History

Design: Срез 2c (сквозное, docs)

Context

См. proposal и arm-core/openspec/changes/slice-2c-osv-ingest/design.md (D-1…D-13).

Decisions

D-1. v5.15 без expression-индекса

lower(email) как уникальный индекс не поддерживается сверкой ORM↔DBML (индексы сравниваются по колонкам). Вместо этого email нормализуется в нижний регистр при записи, уникальность — прежний UNIQUE. Миграция приводит данные.

D-2. Правила маппинга фиксируются в §1.3/§9 после реализации

Как в Срезе 2a: задача docs-change «по факту» выполняется после merge дочернего change'а, расхождения — правкой §.

D-3. Автозамена — новый §9.5

Решение владельца 05.10.2026: новый файл с документом того же типа/счёта/периода заменяет прежние (в т.ч. CONFIRMED, с пометкой в аудите); удаление файла — пока нет CONFIRMED и файл никого не заменял; после Среза 4 — ограничение по консолидациям.

Decisions made without discussion

№ Дата Решение Обоснование Цена ошибки
1 2026-10-05 D-1: email в нижнем регистре вместо lower(email)-индекса сверка DBML индекс в v5.16
2 2026-10-05 D-3: §9.5 автозамена/удаление по решению владельца; удаление заменившего файла запрещено целостность цепочки версий ослабить
3 2026-10-05 period_check = UNKNOWN до Среза 4 нет версии консолидации пересчёт в Срезе 4