- 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>
В main (#138) номера OQ-169…172 заняты вопросами ОСВ; пересечение счетов правил
элиминации — OQ-173 (закрыт решением владельца 19.10.2026).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
§5: сумма элиминации пары (A, B) считается по правилам в порядке rule_no, каждое берёт
min из остатка сторон после предыдущих (как правило № 1 Прил. 3) — без двойной
элиминации по общим счетам № 3–8; упаковка в том же порядке, ничьей между правилами
нет; зеркальные № 9–16 — те же правила для (B, A). OQ-169 закрыт решением владельца
19.10.2026. Документ для аналитика: раздел 3.2, 3.3, пример, В-12.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
§5: два уровня по тройке (правило × A × B) — сумма элиминации (агрегат min(ΣA, ΣB),
порог 5 %, идёт в КФО) и упаковка строк 1:1 / 1:N / N:1 (N ≤ 5, N:M нет, минимальная
по числу строк, ничья → ручное). §8: eliminated_auto — Σ троек. OQ-07 закрыт решением
владельца 19.10.2026; новый OQ-169 — пересечение счетов правил (двойная элиминация).
Документ для аналитика: разделы 3.2, 3.3, 5, вопросы В-2 (решён), В-4, В-12.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- §7: мягкое соотношение, сошедшееся точно, подтверждает неуверенные значения (Р-21); ОФР упрощённого набора
2400 — мягкое (Р-22 / S-5); form_variant = null — полный набор; 1.x и мигрированные формы — §7 копией
arm_statements один раз в document_issue, экран и подтверждение читают только его (K-2)
- §9.3: страховка согласованности document.status = done (K-24), «того же периода» — год и квартал (K-20),
1.x после правки — общим кодом (K-21)
- §9.5: признак строки правки — row_index IS NULL (K-1); header_source, codes/column_index document_issue (K-3, K-13);
LINES_UNRESOLVED — сумма или текст (K-16); PATCH: organization_name (K-12), confirmed: false, line_status только
detail, обратного detail нет, дата колонки обязательна, акцепт сбрасывает только правка данных, подтверждение даты
отчёта тем же значением (K-17, K-23); 409 LINE_EXISTS → LINE_CODE_TAKEN (K-18)
- §11: TABLE_PARSE_ERROR и SHEET_OTHER — уровня файла (K-7); столбец кодов ищется всегда, DISCLOSURE с кодами ББ/ОФР —
TYPE_CONFLICT (K-10); номер колонки (K-6); содержимое строки (K-14); нумерация с двойниками и одним пропуском (S-13);
ref Excel с кавычками (S-15); единицы по словарю и ОКЕИ (K-22); перечень кодов — данные, законные повторы (K-5, Р-20),
обе редакции всегда; синонимы и «итого по разделу» в сверке имён (S-4); интерфейс функции статуса (K-14); ожидание на
реальных сканах (K-4); бланк 66н с относительными подписями (K-17)
- 07-open-questions: OQ-148 закрыт (Р-22 / S-7), OQ-166 уточнён, OQ-168 — коды перечня без образца
- dev/checks.md: копия arm_statements, sync-statements (коды 0 / 10 / 20 / 2), statements-check в check-full,
проверки docs (K-9); frontend-api-guide §5.6.1 по новым правилам
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
Вопрос из ревью arm-core#114 (AURORA-1537): с субсчётом 76.АВ
«НДС по авансам и предоплатам» результирующая таблица Счастливочной
на 30.09.2024 расходится с эталоном (лист 01.10.2024, строка 1230)
на 2 366 666,69, без него — точное совпадение 108 062 446,46.
Открыт; до ответа аналитика (AURORA-1373) расчёт по §4/§6 как есть.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Решение владельца 14.10.2026: поле «ID ГСК/ГСЗ в CRM» форм 51-03/51-04/77-02
принимается POST/PATCH и отбрасывается; колонка — arm-core #112.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
§1.1 — элемент «<группировка>.ИНН» в списке субконто варианта 2 — реквизит,
не группировка; §1.3 — строка реквизита отдаёт ИНН родительскому контрагенту
и уходит из rows (условия склейки, needs_check, пустая ячейка — R-1), целое
число из ячейки xls — без «.0». OQ-162 — решение владельца 13.10.2026.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 07-open-questions.md: OQ-161 — документ с периодом не той версии молча не привязывается;
временное допущение CONSOLIDATION_PERIOD_FROM_VERSION (arm-core#103), постоянное решение открыто
- qa-guide.md: §7.4 — как включить режим локально и в контуре, ограничения; строка в §9
- contour-transfer-guide.md: OPENBAO__APP__CONSOLIDATION_PERIOD_FROM_VERSION=true на период тестов
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
QA-гайд переведён на маршрут консоли (POST /consolidations/{cid}/legal-entities/{le}/files),
OQ-159 закрыт, OQ-160 добавлен, Срез 2d дополнен, решения R-9…R-14 в design.md,
config.yaml переведён на DBML v5.18, формулировка SUPERSEDED выровнена.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
- 05-domain-rules §9.4, 01-project-overview: OCR 20 мин (парсер 5 мин)
- 03-architecture: scan-gateway пишет прямо в Input с перезаписью, как в старом АРМ
- 07-open-questions: дополнены OQ-58, OQ-79, OQ-137; новый OQ-159 (note DBML «OCR — 5 мин»)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Решения владельца 08.10.2026 (arm-core #74): несопоставленная строка свода — без ЮЛ и без ИНН из файла;
`ConsolidatedRowOut.counterparty_entity_inn` (П-8). Обновлены frontend-api-guide (таблица изменений, п. 10,
схема, пробелы API), api-contract-slice-4, 10-user-journey 3.1, qa-guide (контрольные цифры 1381 → 1260).
Новый открытый вопрос OQ-158: строки аналитики, не являющиеся организациями, в «Осталось N».
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019qoydUVv8g1qHxc123u2RR
Правки по ревью: цепочка F3–F10 на форме с нарушением (чистая CONFIRMED),
F11 — ручное подтверждение после правки, DISCLOSURE/OTHER автоподтверждаются,
удаление — условия вне корректировки данных, W17 — файл вне демо-периметра.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ИС возвращает соседние строки формы одной строкой («1500\n1700», суммы через
перевод строки) — ББ РБ и Счастливочной за 1 кв. 2025. Решение владельца
08.10.2026: разлеплять, если в каждой непустой ячейке значений столько же
частей, сколько кодов; иначе — как раньше (нечисловой код). Реализация —
RSHB/arm-scan-gateway#16.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 05-domain-rules §1.4: на счетах без сальдо по аналитике обороты «дети = родитель» сверяются всегда, сальдо — только
у родителя с субсчетами; сопоставление счёта со списком (R-3 arm-tabular-parser#26, подтверждено владельцем).
- 05-domain-rules §5, 07-open-questions OQ-155: эталон РБ элиминирует полную сумму ВГО стороны, ТЗ — min по паре;
решение владельца 08.10.2026 — алгоритм ТЗ; OQ-07 (1:1 или гибрид) открыт.
- 09-delivery-plan Срез 5: сверка с эталоном — только по точным парам.
- dev/frontend-api-guide: предупреждение автозамены в job.mapping_warnings (arm-core #60), алиас приоритетнее имени
(arm-core #59); состояние — main d8bf5b2.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
- 07-open-questions: статусы семи вопросов по разбору 07.10.2026.
- 05-domain-rules: §1.4 — счета без сальдо по аналитике (91, 99) вне тождества строк (OQ-132); §3 п. 4 — алиас
приоритетнее имени (OQ-128); §9.5 п. 3 — предупреждение о выпавших документах при замене файла (OQ-154);
п. 4 — ручной правки строк ОСВ нет (OQ-114); п. 6 — скачивание и CSV не журналируются (OQ-153); §7 — редакция
по дате, в контракт не передаётся (OQ-145), словари по редакциям — с OQ-150 (OQ-146).
- dev/qa-guide: счёт 91 — решение OQ-132, до реализации needs_check ожидаем.
Код: RSHB/arm-core#57 (OQ-128), RSHB/arm-core#58 (OQ-154), arm-tabular-parser#11 п. 2 (OQ-132).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
Решение владельца 07.10.2026: КПП нужен. data-model-v5.17.dbml и entities-v5.17.md (v5.16 не тронуты):
legal_entity.kpp и legal_entity_history.kpp (nullable). Формат 9 символов (4 цифры, 2 цифры/латинские A-Z,
3 цифры), иначе INVALID_KPP; у ИП запрещён; для ЮЛ необязателен; уникален только inn; изменение —
обычный PATCH со снимком. 05-domain-rules: §13.1/13.2 (колонка КПП, код INVALID_KPP) и новый §13.5.
OQ-31 — новое решение (старое оставлено в истории строки). Гайд модели, 03-architecture,
mockup/INDEX, 10-user-journey, repo-templates — на v5.17.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EAKRDNzXtRrwmWz9z6PZu3
Порядок проверок в контракте, ссылки на решения №1–19, разделители в OQ,
уточнения по units и /users/brief, номера PR закрытых срезов 2a/2c/3a, убрана
ссылка на исполнителя экранов.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
§7 (проверки в ядре, межформенная мягкая, акцепт), §9.3/§9.5 (формы ББ/ОФР, период,
правка до подтверждения, условия подтверждения, исходный файл и комментарии),
OQ-153 и пометки «допущение реализовано» у OQ-23/36/77/140/145, раздел 3b в
03-architecture, статусы срезов в 09-delivery-plan, dev/api-contract-slice-3b.md,
сценарии 6.9 в dev/qa-guide.md.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
- 07-open-questions: OQ-149 переписан (пустой код у «БАЛАНС»/«Выручка», предупреждения №29, `|` экранирован), новый OQ-152
(повтор кода 2410 в aep_6), уточнены OQ-137 и OQ-144 (Input)
- 05-domain-rules: §11 locator `file:<имя json>;table:<i>`; §11.1 п. 2 (длина даты №31), п. 4 (предупреждения о пропущенных
строках), п. 7 (все точки удаляются, Money и confidence №30), п. 8 (ИНН неуверенно), п. 9 (№28), п. 10 (редакция не определена)
- 03-architecture: формулировка про `.part`; 06-test-data, dev/README (сценарии 2/2а), repo-templates/scan-gateway.CLAUDE.md —
раскладка `<job_id>.<ext>` и пары по sha256
- dev/compose, qa-guide §6.8/§8 (ожидаемые предупреждения по эталонам, OQ-151), 09-delivery-plan (статус 3a)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
- 03-architecture: scan-gateway — .part остаётся в Tmp, очистка под SCAN_CLEANUP, OcrNormalizer, эмулятор по sha256
- 05-domain-rules §11.1: п. 1 (двойники только для дат), п. 4 (повтор кода, пропуск строк с мусорным кодом),
п. 6 (свой statement_lines.yaml с редакциями), п. 7 (string_value, скобки, тире), п. 9 (BACKEND_PARSING_ERROR на таблицу),
новый п. 10 «Редакции форм»
- 07-open-questions: OQ-137 уточнён; OQ-12, OQ-139 дополнены; новые OQ-144…OQ-151
- 09-delivery-plan: Срез 3 разделён на 3a (scan-gateway) и 3b (arm-core)
- dev: SCAN_CLEANUP и SCAN_EMULATOR_DEFAULT в compose, комментарий про <uuid>.<ext> и пары по sha256; qa-guide §6.8
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
Номер OQ-137 в main занят вопросом о раскладке горячих папок ИС Сканирование.
Refs #26
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: cedd7915-2efe-41e5-988c-a9117033598b
- 03-architecture: core NATS без JetStream подтверждён кодом armka_file_worker (работает в контуре);
один JWT на все сервисы с правами по subject'ам; старое семейство subject'ов files.*; соглашение
ROOT_PATH платформы Aurora; FileWorker не реализует DECISION-4 — только инфраструктурный референс.
- 03-architecture: описание scan-gateway — эталон раскладки горячих папок ИС Сканирование как у FileWorker
(Input/<job_id>.<ext>, *.tmp рядом, Output/<job_id>/*.json, очистка); расхождение кода — arm-scan-gateway #6.
- 07-open-questions: OQ-85 дополнен, новый OQ-137 (раскладка папок) закрыт владельцем 06.10.2026.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
- data-model-v5.15.dbml: обычные индексы osv_entry (parent_entry_id), osv_entry (recognition_job_id),
stored_file (current_recognition_job_id) с note; п. 4 changelog v5.15 — индексы для удаления файла и
обхода дерева строк; замер: DELETE документа 1000 строк 8,6 с → 16 мс на 200 тыс. строк.
- entities-v5.15.md: строка 4 в «Что изменилось в v5.15».
- 07-open-questions: OQ-117 закрыт в v5.15 (v5.16 и миграция 0004 не понадобились).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2