Issue: RSHB/arm-ka-docs#16 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
3.3 KiB
3.3 KiB
Proposal: Срез 2c (сквозное) — DBML v5.15, правила маппинга ОСВ в ядре по факту, OQ
Срез: 2, подсрез 2c (загрузка файлов, очередь, маппинг результата парсера в document/osv_entry). Репозиторий:
arm-ka-docs. Issue: RSHB/arm-ka-docs#16. Дочерний change: arm-core/openspec/changes/slice-2c-osv-ingest (RSHB/arm-core#14).
Why
Решения владельца 05.10.2026 (OQ-45 NU хранить; OQ-59 регистр email; OQ-01/02/05; автозамена файлов) требуют новой
версии модели и фиксации правил маппинга, которых в §1.3/§3/§9 нет в деталях (кто ставит статусы файла, как
разделены inbox и маппинг, что делать с повтором счёта в файле, что такое period_check без консолидации).
What Changes
- DBML v5.15 (
model/data-model-v5.15.dbml, v5.14 остаётся):osv_data_type + NU;app_user.emailв нижнем регистре (структура без изменений); уточнения семантикиstored_file.status/recognition_job.group_schemaв changelog.entities-v5.15.md,04-data-model-guide.md, ссылки вCLAUDE.md/repo-templates— на v5.15. 05-domain-rules.md: §1.3 — маппинг в ядре по факту (TOTAL не хранится, нормализация кода,account_rootпри нечисловом первом сегменте, повтор счёта в файле); §1.5 —period_check = UNKNOWNдо Среза 4,is_cumulativeпо Q1; §3 п. 4 — резолв без policy, нормализация имени ЮЛ как алиаса; §9.2 — таблица «кто ставит статус файла»; §9.3 — условияRECOGNIZED/NEEDS_CHECK; новый §9.5 «Автозамена и удаление файлов» (решение владельца).03-architecture.md: цикл маппинга как третий фоновый процесс ядра (outbox, вахтёр, маппинг), OQ-69 закрыт.07-open-questions.md: закрыты OQ-67, OQ-69, OQ-70, OQ-59 (реализацией), OQ-109 (лимит на загрузке у ядра); новые OQ: удаление файлов после появления консолидаций (ANL-020 — уточнить условие), ретеншнexpires_at(связь с OQ-22).09-delivery-plan.md: 2c по факту;dev/qa-guide.md: сценарии загрузки ОСВ, статусы, просмотр строк через API.
Capabilities
Change документный (skip_specs: true); поведение описывают спеки дочернего change'а.
Impact
- Таблицы:
osv_entry(enum),app_user(данные). Правила: §1.3, §1.5, §3, §9. Потребители: arm-core (миграция 0003,DBML_VERSION), tabular-parser — без изменений (контракт не меняется).
Non-goals
- UI (2d), ББ/ОФР (2b/Срез 3), replay заданий, JetStream, аудит обмена (OQ-55).