Proposal, design и tasks сквозного change'а Среза 4: enum counterparty_match_kind и колонка osv_entry.counterparty_match_kind, правила приведения периодов (ключ, пробел), явная привязка документов, статусы Среза 4, контракт API для фронта. Refs RSHB/arm-ka-docs#19 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2.9 KiB
Design: Срез 4 (сквозное) — документы
Context
Дочерний change в arm-core (slice-4-consolidation) держит технические решения D-1…D-16. Здесь — что меняется в
документах контекста и модели и почему.
Decisions
D-1. Новая версия DBML ради одной колонки
osv_entry.counterparty_match_kind — ручное решение аналитика (DECISION-5 разрешает хранить ручные решения), а
INN/NAME/ALIAS — зафиксированный шаг автоматического резолва, нужный для подсветки строк к проверке. Вычислять на
чтение нельзя (алиас после ручного связывания маскирует ручное). Версия 5.16, v5.15 остаётся в репозитории.
D-2. §2 переписывается из «[открыто]» в правило
Формула остаётся; добавляются ключ, выбор источников, пробел и нули. OQ-03 закрывается решением владельца 06.10.2026.
D-3. §3 п. 1 меняет «последние подтверждённые» на явную привязку
Подхват при создании версии и расширении периметра заменяет fallback «если версия ещё не зафиксировала документы». Фраза убирается, чтобы код и правило не расходились.
D-4. Контракт API для фронта — отдельный документ в docs/dev/
Разработчик фронта не читает OpenSpec arm-core. api-contract-slice-4.md — выжимка: маршруты, схемы, фильтры, коды
ошибок, соответствие экранам макета. Источник истины — спеки arm-core; документ помечен как производный.
Decisions made without discussion
| # | Дата | Решение | Обоснование | Цена ошибки |
|---|---|---|---|---|
| 1 | 2026-10-06 | OQ-40 закрывается допущением reporting_date по правилу банка, макет помечен неточным |
владелец не возражал на двух срезах; правило банка — в DBML note | одно поле, правится миграцией данных |
| 2 | 2026-10-06 | Контракт для фронта выносится в docs/dev/api-contract-slice-4.md, а не в docs/contracts/ |
docs/contracts/ — JSON Schema между сервисами с версией; API фронта описывает OpenAPI |
дублирование OpenAPI текстом; помечено «производный» |