Issue: RSHB/arm-ka-docs#9 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
28 lines
2.2 KiB
Markdown
28 lines
2.2 KiB
Markdown
# Design: Срез 2a (сквозное, docs)
|
||
|
||
## Context
|
||
См. proposal. Дизайн парсера — в дочернем change `tabular-parser/openspec/changes/slice-2a-osv-parser/design.md` (D-1…D-10).
|
||
|
||
## Decisions
|
||
|
||
### D-1. MINOR 1.1 вместо «складывать extra в columns»
|
||
`columns` — диагностика документа, а не строки; `extra` нужен построчно. Новое необязательное поле — MINOR по правилу
|
||
версионирования, схема v1.0 остаётся валидной для старых файлов. *Альтернатива* — ждать 2.0: парсер потеряет данные.
|
||
|
||
### D-2. Декомпозиция Среза 2 фиксируется в плане срезов
|
||
2a парсер ОСВ → 2b ББ/ОФР из Excel → 2c загрузка и маппинг в ядре (включая решения OQ-01/02/45/67/69/70) → 2d UI.
|
||
Каждый подсрез — свой набор change'ей и PR.
|
||
|
||
### D-3. Golden-снимки живут в fixtures, формат — файл результата без volatile-полей
|
||
Так снимки обновляются вместе с данными и видны всем сервисам; `job_id`, `file_id`, `service.version`, `duration_ms`
|
||
исключены, чтобы снимок зависел только от файла и кода парсера.
|
||
|
||
## Decisions made without discussion
|
||
|
||
| № | Дата | Решение | Обоснование | Цена ошибки |
|
||
|---|---|---|---|---|
|
||
| 1 | 2026-10-05 | D-1: контракт MINOR 1.1 с `rows[].extra` | §1.2; обратно совместимо | откат поля |
|
||
| 2 | 2026-10-05 | D-2: обозначения подсрезов 2a–2d в плане | владелец утвердил объём 2a, остальное — порядок по плану | переименовать |
|
||
| 3 | 2026-10-05 | D-3: формат и место golden | см. выше | перенос каталога |
|
||
| 4 | 2026-10-05 | Копия схемы v1.1 в arm-core — bounded-PR без логики, после merge docs и tabular-parser | тест идентичности в arm-core | нет |
|