274 Commits

Author SHA1 Message Date
aep
b959a613c0 Merge pull request 'Архив OpenSpec intercompany-result-table-export (PR #159)' (#160) from chore/159-archive-result-table-export into main 2026-10-22 23:04:23 +03:00
Andrey Epifancev
814929819a fix(web): шахматка красит и пару без встречной стороны (one_sided), как API и xlsx (AURORA-1651, ревью #158)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 23:47:07 +04:00
Andrey Epifancev
0db60b7315 docs: change intercompany-matrix-one-sided и README — one_sided по суммам, ALL без забалансовых (AURORA-1651)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 23:45:57 +04:00
Andrey Epifancev
205e4dc602 docs(openspec): intercompany-matrix-presets — шапка xlsx по факту, мелочи раунда 2 в техдолг AURORA-1761 (ревью #141)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 18:56:26 +04:00
Andrey Epifancev
d096459c75 docs: change intercompany-matrix-presets и README — ревью #141, раунд 2 (AURORA-1747)
README: возвращена фраза про XLSX результирующей таблицы, потерянная при merge.
Change: отменённое решение 4, ветка-закладка wip/shahmatka-corrections-unpaired,
ссылки на снятый раздел Known issues, шапка xlsx пресета — счета правила и «кроме»,
статьи сторон при side_1 = K, tasks раунда 2.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 18:47:04 +04:00
Andrey Epifancev
98f00c0faa docs: change retry-recognition-and-edit-osv-header, README и CLAUDE.md — DBML v5.21 (ревью #161)
Дельта data-model переименована на v5.21, пакет — только файлы в ERROR,
tasks — ссылки на docs PR #157 и задачи ревью; config.yaml — DBML v5.21.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 17:13:41 +04:00
Andrey Epifancev
22d5733d16 docs(openspec): intercompany-matrix-ui — временные клиентские «Итого», вид ячеек, решения раунда 3 (ревью #158)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 16:42:00 +04:00
Andrey Epifancev
b8f0672029 docs(openspec): intercompany-matrix-ui — целевое поведение экрана (ревью #158, раунд 3)
Итоги отдаёт бэкенд (AURORA-1756/1757), результирующая таблица и её выгрузка,
«руб.», точное округление, одна сторона Дт/Кт без запроса, правило отметок
дерева по полному плану счетов, отдельные флаги выгрузки, полноэкранный режим.
Known issues — по состоянию 601a125.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 16:30:01 +04:00
Andrey Epifancev
0134120905 Merge origin/main в feat/chessTable (ревью #158, PR #159)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 16:24:11 +04:00
PotapovaA
b7d97943b2 Merge main into add-preset-shahmatka: preserve preset and result table exports 2026-10-22 14:39:25 +03:00
4f44d34d59 AURORA-1442: ручки возобновления обработки файла или версии консолидации, ручка обновления данных по осв 2026-10-22 14:25:19 +03:00
Andrey Epifancev
8dd48f3fad docs(openspec): архив intercompany-result-table-export (PR #159)
Задачи 2.1/2.2 отмечены: #159 слит до #141, кнопка выгрузки — PR #158,
строка в frontend-api-guide — follow-up в arm-ka-docs. M-7 отклонено (design.md).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 12:49:20 +04:00
Andrey Epifancev
63d6c1a017 Замечания ревью #159: проверки, общие реквизиты книги, change OpenSpec
- маршрут result-table/export в EXPECTED_ROUTES, ruff format
- общие VersionExportInfo, _write_details, _group_name, _xlsx_response вместо копий шапки и ответа
- сумма компании в книге без молчаливого 0 (KeyError при пропуске в расчёте)
- своё описание 422 у маршрутов результирующей таблицы в OpenAPI
- тесты: 422 RESULT_ACCOUNTS_MISSING для экспорта без события EXPORT, схема OpenAPI экспорта
- требование перенесено из openspec/specs в change intercompany-result-table-export (+ audit-trail), README

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 11:42:13 +04:00
PotapovaA
3de0c90198 refactor(matrix): удалить unpaired-osv из ветки пресетов 2026-10-21 19:32:23 +03:00
PotapovaA
ea51cb35c2 добавлено выгрузка в xlsx для таблицы ВГО 2026-10-21 19:26:37 +03:00
PotapovaA
9e39c4d426 feat(matrix): понятное имя и реквизиты правила в XLSX пресета 2026-10-21 18:59:25 +03:00
PotapovaA
b078933428 fix(audit): сохранять номер и версию правила в экспорте пресета 2026-10-21 18:54:58 +03:00
PotapovaA
3eb5362e58 fix(matrix): выбирать последнюю открытую версию правил 2026-10-21 18:51:06 +03:00
PotapovaA
38c8eefa18 fix(matrix): ограничить PRESET правилами ББ 2026-10-21 18:43:19 +03:00
PotapovaA
e9dc67b2e9 refactor(matrix): вынести применение корректировок из ветки пресетов 2026-10-21 18:40:05 +03:00
Andrey Epifancev
6213de4498 docs(openspec): change шахматки пресетов — задача AURORA-1747, остаток §5 в AURORA-1536 (ревью #141)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 15:51:06 +04:00
Andrey Epifancev
3adaf6f3c3 docs(openspec): решения владельца по шахматке пресетов (ревью #141)
Фиксация версии правил и выбор по дате составления консолидации — в AURORA-1536;
корректировки и unpaired-osv выносятся из PR (код — ветка
wip/shahmatka-corrections-unpaired); пресет = правило ББ Прил. 3 как дополнение к §6.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 15:10:29 +04:00
Andrey Epifancev
0e95f95c71 docs(openspec): change intercompany-matrix-presets + README (ревью #141)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-21 14:08:08 +04:00
Andrey Epifancev
91fdc6c0f2 docs(openspec): change intercompany-matrix-ui — экран шахматки (ревью #158)
proposal, design (Known issues — открытые дефекты ветки за автором; Decisions made without discussion), tasks и спека
intercompany-matrix-ui: вкладки по маршруту :tab, таблица ЮЛ x ЮЛ, фильтры компаний и счетов Дт/Кт, режимы all/manual,
единицы и знаки, экспорт XLSX, полноэкранный режим. Описано фактическое поведение ветки; дефекты в требования не вошли.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-21 14:06:40 +04:00
Andrey Epifancev
0b8fbeca6f docs(openspec): UI-половины архивов statement-template-lines и console-files из arm-web (суффикс -web); issue arm-web → #150–#157 (#148)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 09:58:55 +04:00
Andrey Epifancev
a2b0a58fd0 docs(openspec): спеки экранов из arm-web@de4e477 перенесены в arm-core (#148)
Спеки consolidated-osv-ui, consolidation-setup, document-review-ui, primary-files-ui
и архив changes demo-prototype, statements-v2. Каталоги архива statement-template-lines
и console-files в arm-core уже заняты другими изменениями и не переносились.
Ссылки на ../arm-web/openspec в CLAUDE.md и web/CLAUDE.md заменены на openspec/specs/*-ui.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 09:58:02 +04:00
Andrey Epifancev
4e42a93f54 chore(openspec): архив unified-normalization-core-a и -core-b (#126, #131)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 09:26:03 +04:00
Andrey Epifancev
0f84088b73 docs(openspec): решения P3-53…P3-59 fix-волны, уточнение P3-39
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 22:38:28 +04:00
Andrey Epifancev
e944565e55 Спека части Б: дельты под архивацию, null в нарушениях §7, отметки задач
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 22:25:11 +04:00
Andrey Epifancev
570e82b5d3 refactor(statements): удалена копия словаря §7 ядра — проверки копией arm_statements
Удалены api/rules/statement_checks.yaml, load_check_rules, run_checks и правила соотношений; в
domain/statement_checks.py остались межформенная проверка 1370/2400 и subline_parents. Тест
test_name_dictionary_codes_in_code_orders сверяет справочник имён с перечнями редакций пакета.
CLAUDE.md и README.md: §7 — копия arm_statements, нарушения хранятся в document_issue. Решения P3-50…P3-52.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 22:08:27 +04:00
Andrey Epifancev
2b8fafc3b3 feat(mapping): ОСВ по контракту 2.0 (Р-28) и выбор маппера по MAJOR
Приём файла результата выбирает модель по MAJOR (parse_result); нечитаемый JSON и неизвестный
MAJOR — неповторяемая ошибка схемы (T5.2). Статус ОСВ 2.0 — osv_status_v2, предупреждения листа
(OSV_*) — в document_issue. Решения P3-46…P3-49.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 21:57:38 +04:00
Andrey Epifancev
21e0720fb0 feat(mapping): маппер результата 2.0 для форм — хранение как пришло, document_issue, условие RECOGNIZED
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 21:42:04 +04:00
Andrey Epifancev
028512603a fix(statements): правки ревью B1+B2 — T2.1, T1.1, T1.2, T2.4, T2.6, T2.8
T2.1: аудит lines[] включает итоговую смену parent_row_index после пересчёта.
T1.1: тест паритета редакции приёма и пересчёта для строки с confidence < 100 и code_fixed.
T1.2: edition_codes пропускает строку ok без кода.
T2.4: общий issue_column_index для ответа формы и detail отказа подтверждения.
T2.6: удалено дублирование needs_review в statement_line_edits.
T2.8: неизвестный relative:* не даёт 500 (адаптер stored_form и _resolve_relative_columns).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 21:15:21 +04:00
Andrey Epifancev
02630e830f feat(mapping): §7 и вариант формы при приёме 1.x копией arm_statements (Р-30)
checks_on_intake_1x: один recompute по вставленной форме, запись form_variant и
relation/soft (core); run_checks из приёма убран. P3-36.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-18 21:03:06 +04:00
Andrey Epifancev
065153e470 feat(statements): пересчёт после правки точкой входа arm_statements, §7 только из document_issue
recompute_form (services/statement_recompute.py) собирает вход из БД, зовёт engine.recompute и пишет needs_review
строк и значений, form_variant, parent_row_index расшифровок, записи relation/soft и core по P3-8, статус через
form_status_v2. GET/confirm/accept читают нарушения §7 из document_issue. Правка header.report_date пересчитывает
relative:* колонки. Временный код A12/A13 удалён.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-18 20:26:40 +04:00
Andrey Epifancev
6ce36b3e2d feat(statements): адаптер arm_statements за протоколом StatementsEngine и вход пересчёта из БД
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 20:00:12 +04:00
Andrey Epifancev
42f0dc5ca7 openspec(core-b): change единой нормализации, часть Б (arm-ka-docs#116)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 19:54:40 +04:00
Andrey Epifancev
c2ee31ddbb docs(openspec): решения A5 и открытые вопросы части А
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 19:29:55 +04:00
Andrey Epifancev
b3116acb17 docs(openspec): решения исполнителей, рулинги R-4…R-8 и открытые вопросы части А (I-1)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 19:04:40 +04:00
Andrey Epifancev
7db3e2b684 openspec(core-a): change единой нормализации, часть А (arm-ka-docs#116)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 19:04:40 +04:00
Andrey Epifancev
62807813ab openspec: архив intercompany-matrix (#114)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 15:59:40 +04:00
Andrey Epifancev
5682897ed0 OpenSpec change intercompany-matrix: требования шахматки из specs/ в дельты (#114)
Требования AURORA-1537, дописанные в openspec/specs/{audit-trail,consolidated-osv,
consolidations-api,directories-api}, перенесены в дельты change'а; specs/ возвращены к main.
Известные дефекты (AURORA-1651/1652/1653) зафиксированы в design.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 15:42:30 +04:00
PotapovaA
f9f25e8245 правки по код ревью 2026-10-16 13:19:49 +03:00
PotapovaA
4390ce8f27 Merge branch 'main' into add-report-shahmatka 2026-10-15 13:18:22 +03:00
PotapovaA
db19b3a176 корректировка расчета шахматки, добавление эндпоинтов для получения статей, добавления эндпоинта для выгрузки xlsx 2026-10-15 13:17:54 +03:00
Andrey Epifancev
244d97b1df ГСК/ГСЗ: POST/PATCH принимают crm_id без сохранения (#111)
Формы 51-03/51-04/77-02 шлют «ID ГСК/ГСЗ в CRM», а extra=forbid отвечал 422.
crm_id принимается (trim, пустая строка → null), отбрасывается; в ответах
RelatedGroupOut/RelatedGroupDetail — всегда null, в аудит не попадает.
Колонка related_group.crm_id — отдельная задача #112 (DBML v5.19).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 12:40:59 +04:00
Andrey Epifancev
4973e47290 feat(directories): текущие членства ГСК/ГСЗ в списке ЮЛ (#109)
`memberships` перенесено из `LegalEntityDetail` в `LegalEntityOut`: поле приходит в списке
`GET /directories/legal-entities`, в ответах `move`/`withdraw` (после них — `[]`) и, как раньше,
в карточке. Членства набора ЮЛ читаются одним запросом
(`current_memberships_by_entities`), без N+1. Нужно карточке ГК для фильтра ЮЛ по ГСК/ГСЗ.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 18:06:02 +04:00
Andrey Epifancev
0a62291a8c openspec: архив nats-env-config (#106)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 13:56:49 +04:00
Andrey Epifancev
fb14ee877c tasks nats-env-config: check-full зелёный (3.2)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 13:49:52 +04:00
Andrey Epifancev
c14d5e3ffe openspec: nats-env-config — отмечены выполненные пункты tasks.md (#106)
Пункт 3.2 (make check-full) не отмечен: Python-часть зелёная, web-check падает на npm install (404 rollup в реестре).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 13:18:15 +04:00