05384867d2Merge pull request 'make check: validate-openspec проверяет все спеки и change'и (#126)' (#127) from feat/126-make-check-openspec-all into mainaep2026-10-18 22:01:51 +03:00
5fcb300373make check: validate-openspec проверяет все спеки и change'и (#126)
Andrey Epifancev
2026-10-18 23:01:38 +04:00
c82a8f31a9Merge pull request 'Итоги исполнения #116: решения дорожек, открытые вопросы, гайд API (#124)' (#125) from feat/124-normalization-execution-decisions into mainaep2026-10-18 21:57:31 +03:00
535fcba040Merge pull request 'Шаг 2: числа правее таблицы формы — не колонки сумм (#122, #116)' (#123) from feat/122-amount-columns-right-of-table into mainaep2026-10-18 20:28:59 +03:00
aafa656bc0docs(#122): ревью — Р-44 в design.md, листы-продолжения, подписанный столбец без чисел
Andrey Epifancev
2026-10-18 21:27:53 +04:00
222d7e08fcdocs(#122): числа правее таблицы формы — не колонки сумм (шаг 2, NUMBERS_OUTSIDE_TABLE)
Andrey Epifancev
2026-10-18 21:17:54 +04:00
3fe7ad46ceMerge pull request 'docs(#116): дизайн единой нормализации ББ/ОФР (scan-gateway + tabular-parser)' (#117) from feat/116-unified-normalization into mainaep2026-10-18 18:43:04 +03:00
f675c762afСлияние main в feat/116: §1 ОСВ cp1251 (tabular-parser #47) рядом с правилом v2.0
Andrey Epifancev
2026-10-18 19:42:19 +04:00
34bb1850d4Merge pull request 'Скрипт sync-statements: копия пакета arm_statements в хостах (#120, #116)' (#121) from feat/120-sync-statements into mainaep2026-10-18 18:36:44 +03:00
321cfe05e7openspec(#116): R-5 плана 2 — --in-place только в worktree фичи
Andrey Epifancev
2026-10-18 19:33:13 +04:00
fdd25a6000fix(scripts): sync-statements.sh --in-place не пишет в основной checkout и main, --check всегда печатает итог, правки доков (#120)
Andrey Epifancev
2026-10-18 19:31:22 +04:00
7194b16471openspec(#116): sync-statements — режим --in-place, подключение копии к хостам, решения P2-n и R-n плана 2
Andrey Epifancev
2026-10-18 19:26:03 +04:00
bb7c1a0c07feat(make): sync-statements, statements-check и test-sync-statements в check (#120)
Andrey Epifancev
2026-10-18 19:22:44 +04:00
df85505735fix(scripts): sync-statements.sh — сбой tea не обрывает скрипт молча, повторная проверка копии после make check (#120)
Andrey Epifancev
2026-10-18 19:20:26 +04:00
17c0fd20f9feat(scripts): sync-statements.sh — worktree хоста, issue, make check и PR; --dry-run; предупреждение «сначала ядро» (#120)
Andrey Epifancev
2026-10-18 19:18:14 +04:00
97777cbd7afix(scripts): sync-statements.sh --in-place — защиты копии срабатывают и при повторе, .DS_Store не считается игнорируемым (#120)
Andrey Epifancev
2026-10-18 19:14:59 +04:00
b5ad8a0f4cfeat(scripts): sync-statements.sh --in-place — раскладка копии в рабочее дерево хоста с защитой от .gitignore и путей для контура (#120)
Andrey Epifancev
2026-10-18 19:13:16 +04:00
7851446999feat(scripts): sync-statements.sh --check — свежесть копии arm_statements в хосте, коды 0/10/20/2 (#120)
Andrey Epifancev
2026-10-18 19:10:11 +04:00
ddf6927332feat(scripts): помощник statements_check.py — зависимости пакета и коды словаря имён против перечня (#120)
Andrey Epifancev
2026-10-18 19:06:56 +04:00
bb1b761c46docs(#116): решения плана 1 (P1-1…P1-31, R-1…R-8 плана 1) в design.md
Andrey Epifancev
2026-10-18 16:01:49 +04:00
cb1bf36ba9docs(#116): тест идентичности копии контракта — ARM_KA_DOCS в scan-gateway, решения плана 0 (P0-1…P0-5, R-1)
Andrey Epifancev
2026-10-18 13:20:07 +04:00
e6f69b5e80plan(#116): дорожная карта исполнения — планы, волны, выкладка, решения Р-31…Р-43 по планам
Andrey Epifancev
2026-10-18 13:04:39 +04:00
1146c0bc3fplan(#116): план 6 — экран на дополненном API ядра
Andrey Epifancev
2026-10-18 13:02:40 +04:00
8a7711da5aplan(#116): план 3 — ядро на дополненном API пакета, поля API для фронта, решения Р-34 и Р-35
Andrey Epifancev
2026-10-18 13:00:56 +04:00
c385b7ec42docs(#116): решения владельца Р-31…Р-43 по открытым вопросам планов реализации
Andrey Epifancev
2026-10-18 12:56:09 +04:00
37d58a4869plan(#116): планы 4 и 5 — потребители дополненного API пакета
Andrey Epifancev
2026-10-18 12:56:04 +04:00
042fc927dcplan(#116): план 1 — API пакета сведён с планами 3, 4, 5
Andrey Epifancev
2026-10-18 12:50:43 +04:00
1701bdb940plan(#116): план 4 — задача 2 сверена с планом 2 (подготовка хоста — его задача 8, здесь только сверка и --in-place)
Andrey Epifancev
2026-10-18 12:34:18 +04:00
7b99c65373plan(#116): план 4 — tabular-parser: адаптер Excel шага 1, общий код arm_statements, контракт v2.0
Andrey Epifancev
2026-10-18 12:33:09 +04:00
6c413ccc0fopenspec(#116): план 5 — подготовка хоста сверена с планом 2 (задача 9, --in-place)
Andrey Epifancev
2026-10-18 12:32:52 +04:00
687eb19f9bopenspec(#116): план 5 — scan-gateway: адаптер OCR → arm_statements, контракт результата 2.0
Andrey Epifancev
2026-10-18 12:32:07 +04:00
414f8075f9plan(#116): план 6 — arm-web: экран формы ББ/ОФР и карточка файла по API v5.19
Andrey Epifancev
2026-10-18 12:30:32 +04:00
87b32a0db3openspec(#116): план 2 — sync-statements и statements-check в docs, подключение копии arm_statements к хостам
Andrey Epifancev
2026-10-18 12:29:02 +04:00
0b7d691735openspec(#116): план 3 — вызовы пакета приведены к публичному API плана 1 (O-8)
Andrey Epifancev
2026-10-18 12:16:21 +04:00
d4f5453980Merge pull request '§1 правил ОСВ: cp1251 для xls без CODEPAGE, «Кол-во»/«Вал», конец таблицы на первой «Итого» (tabular-parser #47)' (#119) from feat/47-osv-encoding-labels-tail into mainaep2026-10-18 11:15:47 +03:00
f84e89288bopenspec(#116): план 1 — resolve_relative и порядок редакций в публичном API, сверка с планом 3 (O-5)
Andrey Epifancev
2026-10-18 12:11:56 +04:00
14dcb0fbeeopenspec(#116): план 1 — пакет общего кода arm_statements (репозиторий arm-statements), публичный API
Andrey Epifancev
2026-10-18 12:11:11 +04:00
e47f1ab69c§1.4: точное «Итого» ищется раньше «Итого …», хвост — числа в колонках таблицы (tabular-parser #47, AURORA-1664)
Andrey Epifancev
2026-10-18 12:04:48 +04:00
7436d2efc0plan(#116): план 3 — arm-core: хранение v5.19, правка формы, приём контракта 2.0
Andrey Epifancev
2026-10-18 12:03:51 +04:00
0bb33e88c2openspec(#116): план 0 — тест идентичности копий контракта на окне перехода v1 → v2 (arm-core, tabular-parser, scan-gateway)
Andrey Epifancev
2026-10-18 11:53:09 +04:00
9863b46140§1 правил ОСВ: cp1251 для xls без CODEPAGE, «Кол-во»/«Вал», конец таблицы на первой «Итого» (tabular-parser #47, AURORA-1662, 1663, 1664)
Andrey Epifancev
2026-10-18 11:50:44 +04:00
cecb5dea2adocs(#116): решения владельца Р-27…Р-30 по открытым вопросам доработки спеки
Andrey Epifancev
2026-10-18 11:40:57 +04:00
6047677ed0openspec(#116): спека по повторному ревью L-1…L-30 и решениям владельца Р-23…Р-26; решения S-53…S-74
Andrey Epifancev
2026-10-18 11:36:12 +04:00
429f86760fdocs(#116): §7, §9, §11 и гайды по повторному ревью спеки: detail вне needs_review, очистка форм, мусор в суммах, сегменты, предупреждения файла объектами; OQ-168 (Р-23…Р-26, L-1…L-30)
Andrey Epifancev
2026-10-18 11:36:12 +04:00
0e680c89e0model(#116): v5.19 — миграция без пересчёта §7 после очистки форм, откат по точному правилу, file_ordinal у всех документов, document_issue у ОСВ (Р-24, L-3, L-4, L-9, L-24)
Andrey Epifancev
2026-10-18 11:36:12 +04:00
51d0f935ffcontracts(#116): OTHER убран из v2.0, form_variant обязателен; проверка числа повторов перечня кодов (L-22, L-28)
Andrey Epifancev
2026-10-18 11:36:12 +04:00
ad1cd307a1docs(#116): повторное ревью спеки вслепую на Opus (L-1…L-30, оценка S-26…S-52)
Andrey Epifancev
2026-10-18 02:38:24 +04:00
248f8b0c74openspec(#116): спека по ревью K-1…K-25 и решениям владельца Р-20…Р-22; решения S-26…S-52
Andrey Epifancev
2026-10-18 02:17:36 +04:00
43b4b808aedocs(#116): финальная версия дизайна — решения Р-16…Р-19, находки W-1…W-16 и H-1…H-26, текст очищен от маркеров ревью
Andrey Epifancev
2026-10-17 21:35:59 +04:00
f55f05efa1docs(#116): третий раунд — ревью вслепую на Opus (H-1…H-26)
Andrey Epifancev
2026-10-17 21:23:16 +04:00
41c328f2abdocs(#116): третий раунд — проверка закрытия V/G на Sonnet (W-1…W-16)
Andrey Epifancev
2026-10-17 21:16:12 +04:00
e6400bf52fdocs(#116): внесены V-1…V-13 и G-1…G-30, решения Р-12…Р-15 (структура кода только при уверенности < 100, блокировка подтверждения, раскладка по коду, второй документ того же периода)
Andrey Epifancev
2026-10-17 21:02:57 +04:00
ba0bdeb744docs(#116): второй раунд ревью — проверка закрытия F-1…F-25 (V-1…V-13) и ревью вслепую (G-1…G-30)
Andrey Epifancev
2026-10-17 20:36:20 +04:00
63f134b342docs(#116): внесены находки ревью F-1…F-25 и решения Р-8…Р-11 (detail, контракт v2.0, уникальность document, двойники в суммах)
Andrey Epifancev
2026-10-17 20:03:15 +04:00
2fa60ef924docs(#116): столбец кодов — сначала по заголовку «Код» без порога, подсчёт ≥ 3 только без заголовка
Andrey Epifancev
2026-10-17 19:17:46 +04:00
d2572d2a6bdocs(#116): Р-7 решено — §7 подтверждает и догадки из грязного текста; все решения приняты, раздел решений без обсуждения
Andrey Epifancev
2026-10-17 19:14:19 +04:00
bcb6b0b527docs(#116): Р-6 решено — колонка без даты остаётся с error, относительные периоды в словарь
Andrey Epifancev
2026-10-17 19:11:22 +04:00
fbc1de5910docs(#116): Р-5 решено — порог 100 для значений, код подтверждается структурой, наименование — вопрос ядра
Andrey Epifancev
2026-10-17 19:04:56 +04:00
26df4ad2d1docs(#116): Р-2 решено — отсутствующая позиция под колонкой = чистый null, по данным fixtures/ocr
Andrey Epifancev
2026-10-17 19:00:29 +04:00
3d7b32ca87docs(#116): Р-1 решено — общий код копией по скрипту из репозитория arm-statements
Andrey Epifancev
2026-10-17 18:51:34 +04:00
18b7eb2371docs(#116): Р-3 решено — словарь строк только в ядре, сервисы отдают распознанный текст
Andrey Epifancev
2026-10-17 18:39:15 +04:00
19e185984cdocs(#116): сверка консистентности целевой картины после Р-4 и needs_review
Andrey Epifancev
2026-10-17 18:33:36 +04:00
0f57ceb5f1docs(#116): Р-4 решено — повторы кодов законны, все строки хранятся, дальше суммой по коду
Andrey Epifancev
2026-10-17 18:27:25 +04:00
3e51a95862docs(#116): подтверждение проверкой §7 — needs_review вместо подсветки по уверенности, Р-7
Andrey Epifancev
2026-10-17 18:13:39 +04:00
631ec8c999docs(#116): принцип 5 — где проходит очистка OCR в общем коде
Andrey Epifancev
2026-10-17 15:30:25 +04:00
bdf4c025eadocs(#116): таблицы целевой картины → списки (пятиколоночные таблицы не помещались в glow)
Andrey Epifancev
2026-10-17 15:11:47 +04:00
e92840fe7ddocs(#116): целевая картина по шагам 1–9 — единый выход каждого шага и решения по строкам различий
Andrey Epifancev
2026-10-17 15:05:31 +04:00
b86924bb93docs(#116): цепочка шагов 0–9 с результатами и таблицами различий, что делает ядро
Andrey Epifancev
2026-10-17 12:12:31 +04:00
940c541052docs(#116): change unified-statement-normalization — как работает сейчас, шаги 0 и 1
Andrey Epifancev
2026-10-17 11:48:10 +04:00
26e23ca85bMerge pull request 'docs: parent_code у строк statement, показ подстрок (#114, AURORA-1527)' (#115) from feat/114-subline-parent into mainaep2026-10-16 18:35:21 +03:00
a3d6ef2c6fdocs: пустая детализация не проверяется (§7, §12 п. 7; #114, AURORA-1527)
Andrey Epifancev
2026-10-16 19:09:42 +04:00
0fc940d072Merge pull request 'feat(scripts): снимок для контура — во web/ только зависимости сборки (#112)' (#113) from feat/112-contour-web-deps into mainaep2026-10-16 14:00:59 +03:00
c54d5850f2docs: гайд переноса — раздел 3.2 после 3.1 (#112)
Andrey Epifancev
2026-10-16 14:48:18 +04:00
0574ba402ffeat(scripts): снимок для контура — во web/ только зависимости сборки (#112)
Andrey Epifancev
2026-10-16 14:47:35 +04:00
7c7018a0c2Merge pull request 'fix(scripts): sync-web — флаги tea после подкоманды и git add без web/dist (#110, O-2)' (#111) from feat/110-sync-web-tea into mainaep2026-10-16 12:50:22 +03:00
4475d018cbfix(scripts): sync-web — не исключать игнорируемый web/dist в git add (#110)
Andrey Epifancev
2026-10-16 13:47:13 +04:00