Andrey Epifancev
87b32a0db3
openspec( #116 ): план 2 — sync-statements и statements-check в docs, подключение копии arm_statements к хостам
...
Скрипт docs/scripts/sync-statements.sh (--check 0/10/20/2, --in-place, --dry-run, обычный режим
с worktree/issue/PR), помощник statements_check.py, тест на синтетических репозиториях; три
bounded PR подключения копии в arm-core, tabular-parser, scan-gateway. Решения P2-1…P2-21,
открытые O-1…O-4; закрыты O-1…O-4 плана 1.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 12:29:02 +04:00
Andrey Epifancev
0b7d691735
openspec( #116 ): план 3 — вызовы пакета приведены к публичному API плана 1 (O-8)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 12:16:21 +04:00
Andrey Epifancev
f84e89288b
openspec( #116 ): план 1 — resolve_relative и порядок редакций в публичном API, сверка с планом 3 (O-5)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 12:11:56 +04:00
Andrey Epifancev
14dcb0fbee
openspec( #116 ): план 1 — пакет общего кода arm_statements (репозиторий arm-statements), публичный API
...
19 задач: каркас и make check, типы и сериализация, словари и загрузчик, разборы текста/кода/дат/сумм, шапка,
шаги 2–8, функция статуса, конвейер кандидата, точка входа пересчёта, golden на обезличенных входах aep_3, 1С и НПЗ.
Решения автора плана P1-1…P1-20, открытые вопросы O-1…O-4.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 12:11:11 +04:00
Andrey Epifancev
7436d2efc0
plan( #116 ): план 3 — arm-core: хранение v5.19, правка формы, приём контракта 2.0
...
Две части — два PR в RSHB/arm-core: часть А (A0–A13) не зависит от пакета
arm_statements, часть Б (B0–B6) — после плана 2; интерфейс-заглушка пакета,
решения P3-1…P3-18, открытые вопросы O-1…O-10.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 12:03:51 +04:00
Andrey Epifancev
0bb33e88c2
openspec( #116 ): план 0 — тест идентичности копий контракта на окне перехода v1 → v2 (arm-core, tabular-parser, scan-gateway)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 11:53:09 +04:00
Andrey Epifancev
cecb5dea2a
docs( #116 ): решения владельца Р-27…Р-30 по открытым вопросам доработки спеки
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 11:40:57 +04:00
Andrey Epifancev
6047677ed0
openspec( #116 ): спека по повторному ревью L-1…L-30 и решениям владельца Р-23…Р-26; решения S-53…S-74
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 11:36:12 +04:00
Andrey Epifancev
ad1cd307a1
docs( #116 ): повторное ревью спеки вслепую на Opus (L-1…L-30, оценка S-26…S-52)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 02:38:24 +04:00
Andrey Epifancev
248f8b0c74
openspec( #116 ): спека по ревью K-1…K-25 и решениям владельца Р-20…Р-22; решения S-26…S-52
...
- design.md: Р-20 (законные повторы кода в перечне, синонимы в словаре имён), Р-21 (мягкое соотношение, сошедшееся
точно, подтверждает неуверенное значение), Р-22 (S-1…S-25 приняты с оговорками; отмечены утверждённые владельцем);
решения при доработке S-26…S-52 с ценой ошибки
- statement-normalization: отдельное требование sync-statements (пути, VERSION, коды 0 / 10 / 20 / 2), словарь
единиц и ОКЕИ, ref Excel с кавычками, нумерация с двойниками и пропуском, номер колонки, содержимое строки, столбец
кодов у DISCLOSURE, упрощённый 2400 мягкий, Р-20 / Р-21 со сценариями, обе редакции перечня, интерфейс функции
статуса, TABLE_PARSE_ERROR / SHEET_OTHER уровня файла
- arm-core: признак строки правки row_index IS NULL, header_source, формы без checks (1.x и миграция) — §7 ядром в
document_issue, codes / column_index, RESULT_STATUS_INCONSISTENT, синонимы и «итого по разделу», PATCH
organization_name / confirmed: false / подтверждение даты, LINE_CODE_TAKEN, акцепт и подтверждения, LINES_UNRESOLVED
с текстом, «того же периода», откат миграции
- recognition-contract: MODIFIED «Копия контракта … идентична» — сверка по MAJOR копии, *.v1.schema.json на окне;
1.x — MAPPING_WARNING / LEGACY_WARNING; okei, column_index, пустые массивы DISCLOSURE, статус ОСВ одной формулировкой
- quality-checks (новая дельта): make check охватывает копию arm_statements, make check-full — statements-check
- tabular-recognition-service: манифест statements_manifest.yaml — failed_relations страниц 2 баланса (K-25)
- scan-gateway, arm-web: TABLE_PARSE_ERROR файла; подсказки шапки, снятие подтверждений, LINE_CODE_TAKEN
- proposal: шаг 0 выкладки, перечни кодов, ожидания на реальных сканах, Impact
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 02:17:36 +04:00
Andrey Epifancev
dee36c8d68
docs( #116 ): ревью спеки вслепую на Opus (K-1…K-25, оценка S-1…S-25)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 01:42:57 +04:00
Andrey Epifancev
566a951bd7
docs( #116 ): design — решения, принятые при написании спеки (S-1…S-25)
...
Раздел «Решения при написании спеки (18.10.2026)» в Decisions made without discussion: значения, которые
дизайн оставлял спеке (порог сходства наименований, формулы упрощённого набора, словари подписей, коды
предупреждений, period_kind, имена DBML), и уточнения (ожидаемые даты колонок, квартал периода в RECOGNIZED).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 00:55:01 +04:00
Andrey Epifancev
ecc789667f
model: DBML v5.19 — строки форм со статусами, needs_review, document_issue, crm_id ГСК/ГСЗ ( #116 )
...
- financial_statement_line: снята уникальность (meta_id, line_code); row_index, source_ref (частичный
уникальный индекс), line_status (enum statement_line_status), line_code_text, parent_row_index,
needs_review, is_confirmed
- financial_statement_value: source_text, needs_review (хранится — пересмотр п. 4 v5.13), is_confirmed,
confirmed_by/at; financial_statement_column: period_kind, label_confidence;
financial_statement_meta: form_variant (enum statement_form_variant), needs_review_fields
- новая таблица document_issue + enum document_issue_kind, issue_severity, issue_source
- recognition_job.statements_version; document: file_ordinal, уникальность типа на файл — только не для
BALANCE/INCOME (Р-10); related_group.crm_id (arm-core#112)
- changelog и правила заполнения миграции в шапке; entities-v5.19.md; диаграммы части 01, 04, 06
(document_issue — в части 06); ссылки на текущую модель и DBML в Makefile — v5.19
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 00:53:06 +04:00
Andrey Epifancev
9b1a4ccbfd
contracts: результат и конверт v2.0 — статусы строк, needs_review, структурные предупреждения ( #116 )
...
- recognition-result.schema.json 2.0: line_code nullable + line_status, row_index, ref, parent_ref,
line_code_text, needs_review у значения и строки, values[].text, <поле>_text/_confidence шапки,
needs_review_fields, period_kind, label_confidence, document.status/warnings у всех документов
(включая ОСВ), form_variant, checks обязателен у ББ/ОФР со строками, нарушения с codes, без
duplicate_line_codes, service.statements_version; changelog — в $comment
- recognition-result-message.schema.json 2.0: metrics.warnings — структуры
- примеры переведены на 2.0 (Excel: detail-строка и нарушение пустой цели; OCR: догадка, покрытая §7,
строка unreadable, разлепленная строка)
- 03-architecture: общий код arm-statements, контракт v2.0
- спека: у разлепленных строк line_code_text и text — k-е части
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 00:44:15 +04:00
Andrey Epifancev
90ea429642
docs( #116 ): proposal и дельты спек единой нормализации ББ/ОФР
...
- proposal: зачем, что меняется, порядок выкладки «сначала ядро», non-goals
- statement-normalization: шаги 1–8 общего кода arm_statements (кандидат, раскладка, статусы строк,
значения, §7, needs_review, структурная проверка кода, уровни предупреждений, статус)
- recognition-contract: файл результата и конверт v2.0, переход 1.x → 2.0
- tabular-recognition-service, scan-gateway: адаптеры шага 1 и что уходит из сервисов
- arm-core: хранение v2.0, агрегат по коду, document_issue, RECOGNIZED, PATCH lines/columns/confirmed,
порядок 409, миграция v5.19, crm_id ГСК/ГСЗ
- arm-web: экран проверки формы по новым полям
- design.md: автозамена между файлами — §9.5 п. 3, а не §12 п. 3
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 00:40:50 +04:00
Andrey Epifancev
43b4b808ae
docs( #116 ): финальная версия дизайна — решения Р-16…Р-19, находки W-1…W-16 и H-1…H-26, текст очищен от маркеров ревью
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-17 21:35:59 +04:00
Andrey Epifancev
f55f05efa1
docs( #116 ): третий раунд — ревью вслепую на Opus (H-1…H-26)
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-17 21:23:16 +04:00
Andrey Epifancev
41c328f2ab
docs( #116 ): третий раунд — проверка закрытия V/G на Sonnet (W-1…W-16)
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-17 21:16:12 +04:00
Andrey Epifancev
e6400bf52f
docs( #116 ): внесены V-1…V-13 и G-1…G-30, решения Р-12…Р-15 (структура кода только при уверенности < 100, блокировка подтверждения, раскладка по коду, второй документ того же периода)
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-17 21:02:57 +04:00
Andrey Epifancev
ba0bdeb744
docs( #116 ): второй раунд ревью — проверка закрытия F-1…F-25 (V-1…V-13) и ревью вслепую (G-1…G-30)
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-17 20:36:20 +04:00
Andrey Epifancev
63f134b342
docs( #116 ): внесены находки ревью F-1…F-25 и решения Р-8…Р-11 (detail, контракт v2.0, уникальность document, двойники в суммах)
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-17 20:03:15 +04:00
Andrey Epifancev
3c31e0ecf5
docs( #116 ): независимое ревью дизайна 17.10.2026 — 25 находок F-1…F-25, без правок дизайна
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-17 19:41:47 +04:00
Andrey Epifancev
2fa60ef924
docs( #116 ): столбец кодов — сначала по заголовку «Код» без порога, подсчёт ≥ 3 только без заголовка
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-17 19:17:46 +04:00
Andrey Epifancev
d2572d2a6b
docs( #116 ): Р-7 решено — §7 подтверждает и догадки из грязного текста; все решения приняты, раздел решений без обсуждения
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-17 19:14:19 +04:00
Andrey Epifancev
bcb6b0b527
docs( #116 ): Р-6 решено — колонка без даты остаётся с error, относительные периоды в словарь
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-17 19:11:22 +04:00
Andrey Epifancev
fbc1de5910
docs( #116 ): Р-5 решено — порог 100 для значений, код подтверждается структурой, наименование — вопрос ядра
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-17 19:04:56 +04:00
Andrey Epifancev
26df4ad2d1
docs( #116 ): Р-2 решено — отсутствующая позиция под колонкой = чистый null, по данным fixtures/ocr
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-17 19:00:29 +04:00
Andrey Epifancev
3d7b32ca87
docs( #116 ): Р-1 решено — общий код копией по скрипту из репозитория arm-statements
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-17 18:51:34 +04:00
Andrey Epifancev
18b7eb2371
docs( #116 ): Р-3 решено — словарь строк только в ядре, сервисы отдают распознанный текст
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-17 18:39:15 +04:00
Andrey Epifancev
19e185984c
docs( #116 ): сверка консистентности целевой картины после Р-4 и needs_review
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-17 18:33:36 +04:00
Andrey Epifancev
0f57ceb5f1
docs( #116 ): Р-4 решено — повторы кодов законны, все строки хранятся, дальше суммой по коду
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-17 18:27:25 +04:00
Andrey Epifancev
3e51a95862
docs( #116 ): подтверждение проверкой §7 — needs_review вместо подсветки по уверенности, Р-7
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-17 18:13:39 +04:00
Andrey Epifancev
631ec8c999
docs( #116 ): принцип 5 — где проходит очистка OCR в общем коде
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-17 15:30:25 +04:00
Andrey Epifancev
bdf4c025ea
docs( #116 ): таблицы целевой картины → списки (пятиколоночные таблицы не помещались в glow)
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-17 15:11:47 +04:00
Andrey Epifancev
e92840fe7d
docs( #116 ): целевая картина по шагам 1–9 — единый выход каждого шага и решения по строкам различий
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-17 15:05:31 +04:00
Andrey Epifancev
b86924bb93
docs( #116 ): цепочка шагов 0–9 с результатами и таблицами различий, что делает ядро
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-17 12:12:31 +04:00
Andrey Epifancev
940c541052
docs( #116 ): change unified-statement-normalization — как работает сейчас, шаги 0 и 1
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 11:48:10 +04:00
Andrey Epifancev
122037eb1d
openspec: архив nats-env-config ( #80 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 13:56:38 +04:00
Andrey Epifancev
3a3167441d
qa-guide: симптом разъехавшихся subject'ов уточнён (T8.1); design R-15
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 13:40:35 +04:00
Andrey Epifancev
31d3742dd5
design nats-env-config: R-14 — ветки перебазированы на main
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 13:39:22 +04:00
Andrey Epifancev
62d7fd780e
openspec: nats-env-config — решения R-8…R-13 в design.md ( #80 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 13:38:50 +04:00
Andrey Epifancev
32fa327621
docs: правки по финальному ревью nats-env-config (M-1, M-2, M-5)
...
- dev/README.md: примеры /healthcheck дополнены subjects по сервисам
- design.md (решение 7) и dev/README.md: уточнено, что запросы в тестах ядра идут на умолчательные subject'ы
- repo-templates: имена files.* помечены как умолчания
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 13:38:50 +04:00
Andrey Epifancev
0103c6fea7
openspec: nats-env-config — отмечены пункты 1.x и 2.x tasks.md ( #80 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 13:38:50 +04:00
Andrey Epifancev
4d9e81c04b
docs: subject'ы и JWT NATS по окружению — архитектура, окружение, OQ-83 ( #80 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 13:38:50 +04:00
Andrey Epifancev
da9b9f66cf
openspec: change nats-env-config — subject'ы и JWT NATS по окружению из OpenBao
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 13:38:50 +04:00
Andrey Epifancev
2bb0e999c0
openspec: архив сквозного change console-files ( #90 )
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-10 10:06:16 +04:00
Andrey Epifancev
40b3b92714
docs: правки по финальному ревью — рабочий стол, права, формулировки ( #90 )
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-09 23:44:04 +04:00
Andrey Epifancev
9ba8d29033
docs: QA-гайд, OQ-160 (целевая модель версий), план срезов — файлы консолидации ( #90 )
...
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>
2026-10-09 23:35:53 +04:00
Andrey Epifancev
a329e5e9fb
openspec: change console-files — файлы в контексте консолидации ( #90 )
...
Спека по решениям владельца 09.10.2026: stored_file.consolidation_id (период, не версия),
маршруты /consolidations/{cid}/legal-entities/{le}/files, рабочий стол = DESK ∪ BOUND,
заморозка через consolidation_document и ЕХ. Дочерние change'и — arm-core и arm-web.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-09 22:36:12 +04:00
Andrey Epifancev
afe40c70da
openspec: архив nats-files-subjects ( #74 )
...
Change слит PR #77 ; спеки обновлены (subject'ы files.tabular_uploaded,
files.img_uploaded, files.tabular_parsed).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-08 23:50:10 +04:00