480 Commits

Author SHA1 Message Date
Andrey Epifancev
50cafe571c ЕХ: правки финального ревью — пробелы Q1…Q4, проценты без ограничения, поля выгрузок, Ref в updated_by, заморозка КФО, согласованные примеры (#208)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 23:16:47 +04:00
Andrey Epifancev
7ef8c1c04d Merge remote-tracking branch 'origin/feat/206-kfo-contract' into feat/208-ex-payload 2026-11-06 23:14:22 +04:00
Andrey Epifancev
ce0434f8b1 КФО: процент расхождения от базы без ограничения разрядов (ревью #208 C-2) (#206)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 23:13:52 +04:00
Andrey Epifancev
3b698e53a2 ЕХ: OpenSpec-delta arm-core и tasks.md (#208)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 23:07:04 +04:00
Andrey Epifancev
4a5ecb1d91 ЕХ: §14 срез при верификации, DBML v5.26 (version_card, EX_SNAPSHOT_WRITE, статус среза), OQ-195…198 (#208)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 23:06:23 +04:00
Andrey Epifancev
013f7b673a ЕХ: схема ex-payload-v1, примеры, проверка в validate_contracts (#208)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 23:05:15 +04:00
Andrey Epifancev
9086c064e4 ЕХ: дизайн и план change ex-payload-schema (#208)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 23:03:19 +04:00
Andrey Epifancev
b6384a5ad3 КФО: tasks.md — п. 4 выполнен (PR #207, вложения AURORA-1546/1547) (#206)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 22:41:54 +04:00
Andrey Epifancev
232f82cfce КФО: правки финального ревью — порядок каскада, округление auto/manual, односторонние агрегаты, доля, итоги, OQ-194; генератор контракта в scripts/ (#206)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 20:43:26 +04:00
Andrey Epifancev
9ee0796314 КФО: OpenSpec-delta arm-core и tasks.md (#206)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 20:32:11 +04:00
Andrey Epifancev
adb1cf41ac КФО: контракт API (dev/api-contract-kfo.*), агрегат min_or_full в контракте корректировок (#206)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 20:30:50 +04:00
Andrey Epifancev
cc3b518261 DBML v5.26: разрез КФО по компании, предупреждения и аудит КФО, режим min_or_full (#206)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 20:27:38 +04:00
Andrey Epifancev
039c97b0eb КФО: §8 под DOC-274230/259025/272613, открытые вопросы OQ-180…193 (#206)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 20:25:15 +04:00
Andrey Epifancev
228af4e4d9 КФО: дизайн change kfo-calculation-contract (#206)
Proposal и design: §8 «КФО», DBML v5.26, контракт API КФО под AURORA-1546/1547; ответы на вопросы проверки исполнителем.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 20:16:41 +04:00
aep
53b0a65ad2 Merge pull request 'Гудвилл: контракт API и §8 под DOC-259025 (ревью core #222/#220, #204)' (#205) from feat/204-goodwill-contract into main 2026-11-06 18:06:48 +03:00
Andrey Epifancev
6c7408a9aa Гудвилл: в экспорте строка «Нет вложений» помечена (#204)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 18:52:59 +04:00
Andrey Epifancev
0482acc51f Гудвилл: контракт API и §8 под DOC-259025 и ревью core #222 (#204)
Контракт 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>
2026-11-06 18:41:20 +04:00
aep
dc24164cce Merge pull request 'Инструкция пользователя: таблица корректировок ВГО (AURORA-1541/1540/1751)' (#201) from feat/200-guide-corrections-table into main 2026-11-03 14:24:00 +03:00
Andrey Epifancev
d9addda156 Ревью снимков §12: честный пример сохранённой корректировки, полный стол без обрезки
Снимки 75/76/77/79/80 переснял на широком окне браузера — предыдущие были прокручены
вправо и теряли колонки «ЮЛ»/«Строка баланса» в кадре, по которым читается пример. У
79 исходная строка несла отладочный комментарий другого разработчика («Проверка
подключения к реальному API (Task 8), удалить после проверки») — заменил его на
содержательный текст перед съёмкой, не стал показывать служебный текст в инструкции
для заказчика.

Текст §12.1/§12.4 дополнен: «Настройка таблицы» (выбор видимых колонок) и «На весь
экран» — обе кнопки есть на экране, но не были описаны; поведение полноэкранного
режима проверено живьём на стенде, а не по аналогии с шахматкой.

Собран docx-экспорт: admin/deliverables/АРМ КА — Инструкция пользователя 03.11.2026.docx
(pandoc --reference-doc на правленый docx редакторов от 26.10, картинки приведены
к ширине 7.05556", неиспользуемые media reference-doc вычищены).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-11-03 15:20:26 +04:00
Andrey Epifancev
bc212c07b9 Инструкция пользователя: таблица корректировок ВГО (AURORA-1541/1540/1751)
Новый раздел 12 описывает вкладку «Таблица корректировки» (arm-core
main 967fa01, PR #206/#208/#215): агрегаты пар ВГО, раскрытие до
строк ОСВ, перенос строк между правилами, окно «Корректировка
операции» с разнесением по статьям и черновиком, фильтры/пресеты,
экспорт, read-only режим. Снимки — со стенда разработки, версия
РБ 2024 К3. Разделы 12–15 перенумерованы в 13–16, ссылки обновлены.

Issue #200.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-11-03 15:02:44 +04:00
aep
714f51303f Merge pull request 'Регрессия: покрытие таблицы корректировок (UI-смок, 409-конфликт)' (#199) from feat/198-corrections-regress-coverage into main 2026-11-02 22:30:43 +03:00
aep
8bc7e194e1 Merge pull request 'DBML v5.24: таблица vgo_assignment (AURORA-1751/1540/1541), §5/§8 под факт реализации' (#197) from feat/196-dbml-v524 into main 2026-11-02 22:30:05 +03:00
Andrey Epifancev
b237e0f1e9 Регрессия: покрытие таблицы корректировок (#198)
У фичи AURORA-1540/1541 (корректировки) и AURORA-1751 (vgo_assignment),
слитых 02.11.2026, не было ни одной проверки в регрессии: ui_smoke.py не
заходил на вкладку корректировок, stand_scenario.py не делал ни одного
запроса к /corrections или /vgo-assignments.

- stand_scenario.py: happy-path GET /vgo-assignments/distribute и
  GET /corrections на каждый сценарий; сохранение корректировки первого
  агрегата и повтор с тем же expected_version_no — 409
  CORRECTION_VERSION_CONFLICT. rb-2024-q3 не имеет подтверждённых форм ББ
  (только ОСВ) — сохранение там штатно получает 422 INVALID_LINE_CODE,
  это не регрессия и репортится как пропуск, не красным.
- ui_smoke.py: страница /groups/{g}/versions/{v}/correction на каждую
  версию сценария.

Проверено: python3 -I scripts/regression/regress.sh --only stand,ui —
зелёный, оба сценария (rb-2024-q3, rb-2025-q1), включая реальный 409 на
rb-2025-q1 и скриншот вкладки «Таблица корректировки» с данными.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-11-02 23:20:06 +04:00
Andrey Epifancev
f9240fd351 DBML v5.24: таблица vgo_assignment (AURORA-1751/1540/1541, #196), §5/§8 под факт реализации
Миграция 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>
2026-11-02 23:09:32 +04:00
aep
45475b952e Merge pull request 'Макет корректировок 23.10.26 в docs/mockup' (#193) from feat/192-corrections-mockup into main 2026-10-30 14:09:41 +03:00
Andrey Epifancev
1234a0fa18 Макет корректировок 23.10.26 в docs/mockup (#192)
Лысенко приложил к вики-странице DOC-272613 обновлённый макет «Таблица
корректировки» (вики-вложение #193) — дизайн-референс для AURORA-1541.
Файл лежал только локально в корне рабочего пространства; кладём в
docs/mockup/ по конвенции существующего макета, чтобы команда могла
открыть его без доступа к локальной машине.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-30 15:08:18 +04:00
aep
8fd8dc01f0 Merge pull request 'Контракт API таблицы гудвилла (#190)' (#191) from feat/190-goodwill-contract into main 2026-10-30 12:35:33 +03:00
Andrey Epifancev
31b8e41674 Контракт API таблицы гудвилла (AURORA-1543/1544)
Черновик для параллельной разработки бэкенда и фронта, по аналогии с
api-contract-corrections: фронт строит экран на фейковых данных, не
дожидаясь методологов (AURORA-1369, срок 02.11) и бэкенда.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-30 13:30:52 +04:00
aep
727cb63ffc Merge pull request 'Контракт корректировок: ответы Лысенко 29.10 и разделение с 1751 (#186)' (#187) from feat/186-corrections-contract-lysenko into main 2026-10-29 22:25:32 +03:00
Andrey Epifancev
9e2e9f55df Контракт корректировок: ответы Лысенко 29.10 и разделение с 1751 (#186)
- отзыв корректировки и status в PUT убраны: сохранение сразу APPLIED (ответ п. 9);
- «не учитывать в КФО» — только у нераспределённой строки, у строк агрегата excluded
  нет; EXCLUDE/INCLUDE строки агрегата — 422 ENTRY_ALLOCATED, ASSIGN исключённой —
  422 ENTRY_EXCLUDED; UNASSIGN уводит строку в нераспределённые (ответ п. 4);
- у нераспределённой строки — line_code, строка баланса владельца (ответ п. 11);
- vgo_assignment — только ручные решения (action ASSIGN | UNASSIGNED, is_exclude, side),
  автоматика — чистая функция 1751; кто что делает 1540/1751 ([allocation-split]);
- экспорт: один лист, имя Корректировки_<ГК>_<год>_<квартал>.xlsx, как в WIP #208;
- снято «ждёт п. N» там, где ответ есть; граница ровно 5 % — открытый вопрос.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 23:20:36 +04:00
aep
5e1e7d26b0 Merge pull request 'Контракт API таблицы корректировок (#183)' (#184) from feat/183-corrections-contract into main 2026-10-28 22:58:11 +03:00
Andrey Epifancev
1514630075 Контракт корректировок: сторона в AllocationIn, предел суммы (#183)
AllocationIn.side — позиция строки (D/K), vgo_assignment получает side
и уникальность по ней. MoneyIn ограничен numeric(18,2): не больше
16 цифр до запятой.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 22:36:09 +04:00
aep
ed9928a46e Merge pull request '05 §1.0: ОСВ других учётных систем (tp#81)' (#185) from feat/81-osv-other-systems into main 2026-10-28 20:29:05 +03:00
Andrey Epifancev
ca759d482d 05 §1.0: ОСВ других учётных систем — названия, запасной признак, группы и стороны, «ВСЕГО» (tp#81)
AURORA-1717, AURORA-1719, AURORA-1732.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 21:09:27 +04:00
Andrey Epifancev
735e6fb187 Контракт API таблицы корректировок (#183)
Markdown и OpenAPI для AURORA-1540 (бэкенд) и AURORA-1541 (фронт):
таблица агрегатов и нераспределённых строк, сохранение и отзыв
корректировки агрегата, решения по строке (vgo_assignment), экспорт.
Основа — аналитика Лысенко (DOC-272613, ответы 1–7, DOC-274230)
и дизайн 23.10.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 20:47:50 +04:00
aep
b754799694 Merge pull request 'Регрессия: web/ из git, без шага npm-ci (#181)' (#182) from feat/181-regress-web-from-git into main 2026-10-28 14:02:11 +03:00
Andrey Epifancev
3ad910b612 regression: web/ из git, без шага npm-ci (#181)
web_copy копировал рабочий каталог arm-core/web вместе с неотслеживаемым локальным package-lock.json (устаревший,
от 23.10). Lock в arm-core не коммитится (OQ-63, contour-transfer-guide §5), поэтому шаг npm-ci 28.10 был ложно
красным — ложный баг AURORA-1912 (снят). Теперь копия — git archive HEAD:web, установка без lock, как в контуре;
шаг npm-ci убран. README и dev/checks.md поправлены.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 14:58:01 +04:00
aep
3a91d050f2 Merge pull request 'scripts/regression: полная регрессия main всех репозиториев перед выкладкой (#179)' (#180) from feat/179-regression-suite into main 2026-10-28 13:30:32 +03:00
Andrey Epifancev
44e0fd8229 scripts/regression: в снимке документов locator OCR без id задания (#179)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 12:36:42 +04:00
Andrey Epifancev
9bc2b26c1c scripts/regression: полная регрессия main всех репозиториев перед выкладкой (#179)
regress.sh — один вход: preflight (main = origin/main, чистые, нет чужих потребителей NATS), venv, lint+unit
всех репозиториев и docs make check, фронт в чистой копии (npm ci --dry-run как проверка lock, установка без
lock), интеграционные с циклом миграций, реальные данные парсера, образы, e2e ядра, изолированный стенд с нуля
(compose-проект arm-ka-regress на своих портах) со сценарием по API, UI-смоук Playwright, парсер по doc-bank.
Не останавливается на первой ошибке; итог — summary.md с SHA и статусом шагов.

Контрольные цифры — expected.json (qa-guide §7.1–7.3, прогоны 08.10/14.10, golden шахматки); снимки свода,
шахматки и форм сравниваются с прошлым прогоном. Ссылки из dev/checks.md и чек-листа синхронизации контура.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 12:09:15 +04:00
aep
7e9a56a7a2 Merge pull request '05 §1.3–1.4: периоды, нетто-ребёнок, иерархия по отступам (AURORA-1823, 1863, 1858)' (#178) from feat/177-osv-false-check-rules into main 2026-10-28 10:07:49 +03:00
Andrey Epifancev
2c27a9ecdd 05 §1.3–1.4: периоды, нетто-ребёнок, иерархия по отступам (AURORA-1823, 1863, 1858; #177)
§1.4: строки разреза «Период» сверяются цепочкой (обороты — Σ, сальдо начала — первый
период, конца — последний, непрерывность между периодами); развёрнутый родитель над
свёрнутым субсчётом сверяется по нетто только при цепочке нетто-строк (узкий вариант,
решение владельца 28.10.2026), риск RR-5. §1.3: уточнение иерархии по отступам —
подуровень счёта на том же отступе, безымянная строка закрытия, вложенность по суммам
у родителя с нарушением с тремя защитами; риск RR-6.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 10:57:07 +04:00
aep
3f3c007778 Merge pull request 'Пары участников без встречных записей (#175)' (#176) from feat/175-counter-pairs into main 2026-10-27 22:09:40 +03:00
Andrey Epifancev
3a70f21e34 10-user-journey 3.1: модалка сопоставления в режиме пар сужена до участника пары (arm-core #195, AURORA-1746)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 22:59:06 +04:00
Andrey Epifancev
63a0649c54 context/10: раскладка режима «Встречные записи» (R-5): пары сверху, две таблицы друг под другом
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 22:15:25 +04:00
Andrey Epifancev
dfccabcada docs(counter-pairs): правки финального ревью (контракт слайса 4, §3 п. 9, путь пользователя)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 19:33:16 +04:00
Andrey Epifancev
6561caf19e Пары участников без встречных записей: §3 п. 9, контракт Среза 4, путь пользователя (#175)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 19:04:52 +04:00
aep
893b7df55e Merge pull request 'Инструкция пользователя под выкладку 1801 (#167)' (#168) from feat/167-user-guide-1801 into main 2026-10-27 14:21:55 +03:00
aep
b6fae800bc Merge pull request 'AURORA-1646: чек-лист версии — по столу консолидации' (#174) from feat/188-checklist-scope into main 2026-10-27 09:58:37 +03:00
aep
1ba50f3c74 Merge pull request 'AURORA-1714: ОСВ по счёту по контрагентам — блоки субсчетов с кодами контрагентов, метки счёта и периода' (#173) from feat/172-osv-by-counterparty-codes into main 2026-10-27 09:56:33 +03:00