Issue: RSHB/arm-ka-docs#16 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
26 lines
2.0 KiB
Markdown
26 lines
2.0 KiB
Markdown
# 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 |
|