Схема среза ЕХ ex-payload-v1, §15, DBML v5.26 (AURORA-1560, #208; после #203 и #207) #211

Open
aep wants to merge 16 commits from feat/208-ex-payload into main
Owner

Closes #208. Блокер AURORA-1560 (запись среза ЕХ, разработка с 12.11.2026). Ветка стоит на #207 — сливать после него (до merge #207 дифф показывает и его коммиты).

Что внутри

  • contracts/ex-payload-v1.schema.json — конверт ex_snapshot_item.payload (schema_version, item_type, units, generated_at, source_version_no, data) и данные по 9 типам; data — DTO API экрана рабочей версии на момент верификации (без полей редактирования) плюс то, что нужно выгрузке xlsx рабочей версии. 9 примеров contracts/examples/ex-payload-*.json на числах сквозного примера §8 «КФО». Схема и примеры генерируются scripts/kfo_contract/gen_ex_payload.py (КФО — из того же источника, что контракт #207); тест scripts/kfo_contract/test_ex_payload.py (17 отрицательных, 3 граничных случая); схема в make check (validate_contracts.py).
  • §15 «Срез ЕХ при верификации» — когда, номер и связи (нумерация по ГСК, «один актуальный» и superseded_by — по ГК), состав, что в payload, самодостаточность, единицы, заморозка, сбой записи, аудит.
  • DBML v5.26 (дописано в неслитую версию #207): item_type + version_card, audit_action.EX_SNAPSHOT_WRITE, пояснения ex_snapshot.status (ручной архив) и written_by.
  • OQ-195…198 — кто архивирует, ключ ГК/ГСК, повтор при сбое, PDF.
  • В #207 добавлен коммит ce0434f (процент расхождения КФО без ограничения разрядов) — найдено ревью этой ветки.

Проверки

make check — зелёный; openspec validate ex-payload-schema --strict — valid; тест схемы — OK; генерация детерминирована (повторный запуск не меняет файлы).

Rulings I made

Полностью — openspec/changes/ex-payload-schema/design.md §6, #1–#15. Главные: data = DTO API без переименований (#1, #10); payload покрывает выгрузки xlsx (#9, #12); vgo_pairs — агрегаты таблицы корректировок (#2); шахматка — «все счета» + пресеты правил + результирующая (#3); карточка версии — новый item_type version_card (#4); корректировки только APPLIED (#5); нумерация по ГСК, связи по ГК (#11); КФО в срезе только замороженная VERIFIED (#14); ошибка пресета — пресет пропускается, другая ошибка — сбой записи (#15); дизайн не согласовывался отдельно — владелец сказал «делай схему» (#8).

Находки

Маркер Суть Статус
O-1 Проверка дизайна исполнителем: 3 вопроса fixed 9086c06 (design #9–#11)
C-1, C-2 Пробелы свода Q1…Q4; проценты без ограничения fixed
I-1, I-2 Поля вы��рузок обязательны; updated_by — Ref fixed
M-1…M-7 Пустой/незамороженный payload, согласованность примеров, квартал, written_by, ошибки сборки, форматы, оформление fixed

Отложенного нет. Вложения — в AURORA-1560.

🤖 Generated with Claude Code

Порядок merge (владелец, 06.11): сначала #203 (метрики качества, DBML v5.25, §14), затем #207 и #211 — v5.26 перестроить поверх v5.25; раздел среза ЕХ — §15.

Closes #208. Блокер AURORA-1560 (запись среза ЕХ, разработка с 12.11.2026). **Ветка стоит на #207 — сливать после него** (до merge #207 дифф показывает и его коммиты). ## Что внутри - **`contracts/ex-payload-v1.schema.json`** — конверт `ex_snapshot_item.payload` (`schema_version`, `item_type`, `units`, `generated_at`, `source_version_no`, `data`) и данные по 9 типам; `data` — DTO API экрана рабочей версии на момент верификации (без полей редактирования) плюс то, что нужно выгрузке xlsx рабочей версии. 9 примеров `contracts/examples/ex-payload-*.json` на числах сквозного примера §8 «КФО». Схема и примеры генерируются `scripts/kfo_contract/gen_ex_payload.py` (КФО — из того же источника, что контракт #207); тест `scripts/kfo_contract/test_ex_payload.py` (17 отрицательных, 3 граничных случая); схема в `make check` (`validate_contracts.py`). - **§15 «Срез ЕХ при верификации»** — когда, номер и связи (нумерация по ГСК, «один актуальный» и `superseded_by` — по ГК), состав, что в payload, самодостаточность, единицы, заморозка, сбой записи, аудит. - **DBML v5.26** (дописано в неслитую версию #207): `item_type` + `version_card`, `audit_action.EX_SNAPSHOT_WRITE`, пояснения `ex_snapshot.status` (ручной архив) и `written_by`. - **OQ-195…198** — кто архивирует, ключ ГК/ГСК, повтор при сбое, PDF. - В #207 добавлен коммит `ce0434f` (процент расхождения КФО без ограничения разрядов) — найдено ревью этой ветки. ## Проверки `make check` — зелёный; `openspec validate ex-payload-schema --strict` — valid; тест схемы — OK; генерация детерминирована (повторный запуск не меняет файлы). ## Rulings I made Полностью — `openspec/changes/ex-payload-schema/design.md` §6, #1–#15. Главные: `data` = DTO API без переименований (#1, #10); payload покрывает выгрузки xlsx (#9, #12); `vgo_pairs` — агрегаты таблицы корректировок (#2); шахматка — «все счета» + пресеты правил + результирующая (#3); карточка версии — новый `item_type version_card` (#4); корректировки только `APPLIED` (#5); нумерация по ГСК, связи по ГК (#11); КФО в срезе только замороженная `VERIFIED` (#14); ошибка пресета — пресет пропускается, другая ошибка — сбой записи (#15); дизайн не согласовывался отдельно — владелец сказал «делай схему» (#8). ## Находки | Маркер | Суть | Статус | |---|---|---| | O-1 | Проверка дизайна исполнителем: 3 вопроса | fixed 9086c06 (design #9–#11) | | C-1, C-2 | Пробелы свода Q1…Q4; проценты без ограничения | fixed | | I-1, I-2 | Поля вы��рузок обязательны; `updated_by` — Ref | fixed | | M-1…M-7 | Пустой/незамороженный payload, согласованность примеров, квартал, `written_by`, ошибки сборки, форматы, оформление | fixed | Отложенного нет. Вложения — в AURORA-1560. 🤖 Generated with [Claude Code](https://claude.com/claude-code) **Порядок merge (владелец, 06.11):** сначала #203 (метрики качества, DBML v5.25, §14), затем #207 и #211 — v5.26 перестроить поверх v5.25; раздел среза ЕХ — §15.
aep added 15 commits 2026-11-06 22:17:35 +03:00
Proposal и design: §8 «КФО», DBML v5.26, контракт API КФО под AURORA-1546/1547; ответы на вопросы проверки исполнителем.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
aep changed title from Схема среза ЕХ ex-payload-v1, §14, DBML v5.26 (AURORA-1560, #208; после #207) to Схема среза ЕХ ex-payload-v1, §15, DBML v5.26 (AURORA-1560, #208; после #203 и #207) 2026-11-06 22:25:54 +03:00
aep added 1 commit 2026-11-06 22:25:56 +03:00
This pull request has changes conflicting with the target branch.
  • Makefile
  • context/03-architecture.md
  • context/04-data-model-guide.md
  • context/07-open-questions.md

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin feat/208-ex-payload:feat/208-ex-payload
git checkout feat/208-ex-payload
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: RSHB/arm-ka-docs#211
No description provided.