- data-model-v5.26.dbml, entities-v5.26.md = v5.25 + пункты 1–5 КФО; changelog v5.26 после v5.25,
пометки «v5.25 занят PR #203» сняты
- 03/04/08: версия модели v5.26 с пунктами v5.25; OQ-179 перед OQ-180…194
- диаграммы: make diagrams (part10 из main; part04 — версия main, сдвиг раскладки рендера не берём)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
§7: правило group в statement_checks.yaml, соотношения 2400 полного и
упрощённого наборов — альтернативы; OQ-12 закрыт в части 2410.
Change statement-checks-alternatives: требование «Шаг 7» спеки
statement-normalization.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Контракт dev/api-contract-goodwill.md/.openapi.yaml — по факту arm-core #222 после
доводки: пары по вложениям 58.01, «Нет вложений», nullable суммы, warnings, groups и
УК в итогах, пакетный PUT …/goodwill, доля до двух знаков, sign в экспорте;
OpenAPI выгружен из app.openapi(). §8 «Гудвилл» — выжимка DOC-259025 (03.11);
OQ-10/OQ-37 — что принято в реализации.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Критично: stored_file.is_scan был описан наоборот (true = цифровой вместо true = скан),
противоречил §14.6 и собственному имени столбца.
Важно: §14 не говорил явно, что ОСВ не получает lines/values в payload (теперь
dependentSchemas в контракте это ещё и проверяет); §14.3 не говорил, что
quality_outcome_fact.document_id не unique и метрики берут последний факт; амount в
контракте был float вместо decimal-строки (как money в recognition-result.schema.json);
правка "дата колонки" не имела счётчика — явно отнесена к fixes_header_*; правило
хранения S3 при удалении файла (OQ-179) не было согласовано между domain-rules,
architecture и spec.md (spec.md ошибочно утверждал, что uploads экспирится в отличие
от raw — не экспирится ни то, ни другое, если на них ссылается факт).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
OQ-179 (срок хранения raw/{job_id}.json), роль raw и dkb_metrics в 03-architecture.md,
openspec proposal/design/specs, план реализации (AURORA-1759).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Миграция 0011_dbml_v5_24 (vgo_assignment) уже была слита в arm-core main;
docs/model/data-model-v5.24.dbml не существовал — arm-core-dbml-check
красный в регрессии 2026-11-02_2131. Таблица описана по факту ORM/миграции
(dbml_parity.py уже содержал хардкод под это: поля side нет — решение
зафиксировано).
Заодно приведены в соответствие с уже слитым кодом:
- 05-domain-rules.md §5: экран «Пары ВГО» (elimination-totals/pairs) оставлен
как есть (двойной учёт — известное ограничение, из UI убран), добавлен
п. 2a — разнесение строк в «Таблице корректировок» (vgo_assignment),
которое и решает двойной учёт исключением спорной строки до ручного
решения аналитика;
- §8: корректировка — массивы debit[]/credit[], всегда APPLIED, без
REVOKED, оптимистичная блокировка по version_no, порог строго > 5 % (R-35);
- OQ-178: открытый вопрос "включительно или нет" (ТЗ/DOC-272613 против
факта реализации) зафиксирован отдельно от уже закрытого OQ-174;
- analyst/eliminations-vgo.md, dev/api-contract-corrections.md/goodwill.md,
context/*, Makefile, openspec/config.yaml, repo-templates/arm-core.CLAUDE.md —
версия 5.23 → 5.24; диаграмма part08 перерисована.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
§1.4: строки разреза «Период» сверяются цепочкой (обороты — Σ, сальдо начала — первый
период, конца — последний, непрерывность между периодами); развёрнутый родитель над
свёрнутым субсчётом сверяется по нетто только при цепочке нетто-строк (узкий вариант,
решение владельца 28.10.2026), риск RR-5. §1.3: уточнение иерархии по отступам —
подуровень счёта на том же отступе, безымянная строка закрытия, вложенность по суммам
у родителя с нарушением с тремя защитами; риск RR-6.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Решение владельца 27.10.2026: счёт из соседней ячейки, «За период» с диапазоном .. и годом из двух цифр,
вид субконто в таблице, субсчета с тремя цифрами, код контрагента + название + договоры, «ИТОГ по …» и «ИТОГ».
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Пара «новый документ — прежний» с counterparty_check = MISMATCH у любого из двух
в замене не участвует; UNKNOWN заменяется как прежде; оставленный файл —
предупреждение «автозамена не выполнена». Полная переработка — AURORA-1752.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Решения владельца 23.10.2026 по ревью arm-core #175:
- consolidation_version.elimination_rules_version — not null, существующим
версиям номер проставляет миграция по дате создания;
- §5: каскад по остатку отменён (21.10), правила считаются отдельно до
разнесения строк AURORA-1751; суммы сторон со знаком, при min <= 0 процент
не считается; отрицательные строки в упаковку не идут (NEGATIVE_AMOUNT);
группы сортируются по проценту расхождения; выдача — список троек версии
и детализация тройки;
- OQ-173, OQ-174, OQ-175; страница аналитика; гайд фронта §5.7.2;
ссылки на модель и диаграммы — v5.23.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
§9.4 — автоповтор публикации не наращивает attempt, ручной повтор — новое задание.
§9.5 п. 12 — ключ автозамены после уточнения; п. 13 — коды, 202, файл из консолидации,
состав пакета (только файлы в ERROR), accepted/skipped.
frontend-api-guide — маршруты retry и osv-header, новые поля DocumentOut, коды ошибок.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- audit_action: FILE_REPROCESS — повторная обработка файла пользователем
(раздел PRIMARY_DOCUMENTS). Файл не загружается заново, создаётся новое
recognition_job (attempt + 1), поэтому FILE_UPLOAD и FILE_REPLACE не подходят.
- 05-domain-rules §9.5 п. 13: правила повторной обработки (решение владельца
19.10.2026, AURORA-1442) и состав события: object_type = stored_file,
before — прежнее задание, after — новое, пакет — по событию на файл
+ consolidation_id; п. 6 и §9.4 — ссылки.
- entities-v5.21, диаграмма part09, ссылки на текущую версию модели.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- document: is_modified, original_values, modified_by, modified_at — правка
period_year / period_quarter / is_cumulative / osv_account_code на месте,
распознанное в original_values (первичка не мутируется); копия document не
создаётся.
- 05-domain-rules §9.5 п. 12: PATCH /documents/{id}/osv-header — проверки,
сброс подтверждения и снятие привязок к версиям «в работе», аудит
RECOGNIZED_DATA_EDIT; §3 п. 1 — новая точка отвязки.
- OQ-161 закрыт вариантом (2); флаг CONSOLIDATION_PERIOD_FROM_VERSION
снимается после правки на экране.
- entities-v5.20, диаграммы, ссылки на текущую версию модели.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Решения владельца 21.10.2026 по ревью arm-core PR #141: пресет шахматки —
дополнительно правило ББ Прил. 3 (без каскада §5, ОФР — нет); корректировки и
строки без пары в шахматку не входят (AURORA-1653, AURORA-1536); версия правил —
действующая на дату составления консолидации, фиксация — AURORA-1536.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>