W34 уточнён, новый W34a: ИНН из файла без «Указать», «таблетка» с ИНН ЮЛ у строк, связанных без ИНН в файле,
пересопоставление с «Связано» у текущего ЮЛ (arm-web #17).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019qoydUVv8g1qHxc123u2RR
Решения владельца 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>
Колонка «Тип контрагента» появилась в arm-web (PR RSHB/arm-web#9): W32 проверяет
бейдж «ГСК», новый шаг W32a — фильтр по типу и цвета бейджей; из «не считать
багом» убрано отсутствие колонки признака.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- §1–§4: что есть в UI arm-web, клонирование (ветка test, tabular-parser и
scan-gateway для сборки сервисов), запуск make start с dev-proxy /api, вход.
- Новый §8 «Сквозной сценарий в UI»: W1–W35 по экранам макета [03], [34], [42],
[39], [40], [41], [30]; контрольные цифры §7.2 в формате экрана; что в UI не баг.
- §6.1: дефект уведомлений /admin (arm-web#7) и обход через arm-core/web.
- §6.6, §6.9, §7: какие сценарии есть в UI; §9, §11, §12 — ограничения, куда
заводить баги UI, проблемы запуска фронта. Разделы 8–11 стали 9–12.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
- 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
- Ссылки на источник истины v5.13/v5.14/v5.15 → v5.17: openspec/config.yaml, KICKOFF-PROMPT, 00-workspace-layout,
08-source-docs-index, заголовок 05-domain-rules, dev/checks.md; спека quality-checks — без привязки к версии
(путь — переменная DBML Makefile).
- Диаграммы model/diagrams/part01…09 перерисованы по v5.17 (были v5.12): scripts/gen_model_diagrams.py
(разбиение DBML на части + dbml-renderer + resvg через npx, версии закреплены), цель make diagrams;
описание в 04-data-model-guide, 06-test-data, 08-source-docs-index.
- dev/frontend-api-guide.md: КПП (arm-core #52) и DB_SCHEMA (#53) — из §11 в §1, КПП в маршрутах §5.2/§5.3,
схеме §5.8 и каталоге ошибок §9 (сверено с кодом 99669cd).
- Ссылки на заархивированные change'и (dev/README, dev/checks, api-contract-slice-3b/4), путь к v4 DBML в индексе.
- 09-delivery-plan: статусы Срезов 0, 2d, 3b, 4.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
dev/frontend-api-guide.md — точка входа для фронта: подключение, общие правила
(три формы detail, видимость, деньги строками, PATCH-семантика, лишние поля,
лимиты), все 62 операции по областям с правами и кодами ошибок, сценарии
экранов и что перечитывать после действий, скачивание файлов, каталог кодов,
известные ограничения, изменения 05–07.10.2026 и ближайшие (КПП, #45).
Сверено с OpenAPI и кодом arm-core main (f4a7806, после #46 и #47).
api-contract-files-directories.md: is_head_office у филиала, outside_group/closed
у ЮЛ (M-5), FILE_TOO_LARGE — настройка UPLOAD_MAX_BYTES (M-6), дочитывание ЮЛ
модалки [42] по offset (M-7), филиал объектом (arm-core #47).
README: ссылка на гайд и на контракт файлов и справочников.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
inn=null — 422, удаление файла удаляет формы и комментарии, заголовки исходного
файла (no-store, CSP sandbox), повторы колонок и пар, присутствие цели §7,
ссылки на решения №1–22.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
ASCII filename у CSV, формат format=json|csv, nosniff у исходного файла,
before.checks_accepted с комментарием в аудите сброса акцепта.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
Порядок проверок в контракте, ссылки на решения №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
Вопрос разработчика при переносе в контур: .claude/ и CLAUDE.md
вырезаются, а openspec/config.yaml с контекстом агента остаётся.
Решение владельца 06.10.2026: вырезать, как CLAUDE.md. Блоки
context/rules — инструкции агенту с путями ../docs и ../fixtures,
которые в контуре никуда не ведут; openspec CLI в контуре нет,
specs/ и design.md читаются без него.
- prepare-contour-snapshot.sh: rm, проверка раздела 5, SNAPSHOT.md
- contour-transfer-guide.md: таблица раздела 1, разделы 2, 3, 9
Проверено прогоном скрипта на tabular-parser@3b32462.
Closes#36
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
Решения владельца 06.10.2026: в контур едут arm-core, tabular-parser, scan-gateway снимками без истории; docs и
fixtures не переносятся (разработка снаружи); вырезаются .claude/, CLAUDE.md, docs/superpowers/, Dockerfile;
openspec остаётся. Скрипт scripts/prepare-contour-snapshot.sh: git archive, вырезание, Makefile без uv и
docker-build (venv через python -m venv + pip с Nexus), замена ссылок на внешний Gitea, SNAPSHOT.md, проверки.
Снимки трёх сервисов проходят make check без docs/fixtures (1084/1087/726 passed, пропуски только fixtures/contract).
Closes#34
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: cedd7915-2efe-41e5-988c-a9117033598b
frontend-auth-guide §8 и qa-guide §4.5: кнопка Authorize есть только со схемой bearerAuth (arm-core #29), публичные
ручки без замка; на стенде старше — curl. Исправлен путь DELETE /directories/legal-entities/{id}/aliases/{alias_id}
в api-contract-slice-4 §4 п. 18 и qa-guide N8 (неточность PR #31).
Closes#32
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: cedd7915-2efe-41e5-988c-a9117033598b
qa-guide: §1 (план счетов 488, парсер после пакета ДКБ), §6.5 N5–N8 (422 на границы, 404 при гонке удаления алиаса),
§6.7 P3/P6/P7/P9/P11 (скользящий период, две TOTAL, ИНН из названия и строкой выше, «Итого» ↔ Σ уровня 0, шапка без
меток), манифест ДКБ и golden 113, синтетика s17–s19, «не баги» по OQ-131/132; §8 ссылки на follow-up arm-core #28,
tabular-parser #18. api-contract-slice-4: §2 границы MembersIn/StatusIn/q и формат 422, §4 п. 16–18.
Closes#30
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: cedd7915-2efe-41e5-988c-a9117033598b
Модель (JWT без сессий, права как данные, порядок проверок право → видимость → статус), режимы dev/прод,
POST /dev/token и GET /me с семантикой 401/403/404, сводка прав по маршрутам, каталог прав и ролей,
policy-слой, эталонный клиент web/src/{api,auth}, чек-лист, проверка руками, открытые вопросы (OQ-54).
Ссылка добавлена в dev/README.md.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
- 07-open-questions: OQ-117 — индексы osv_entry(parent_entry_id),
osv_entry(recognition_job_id), stored_file(current_recognition_job_id); без них
DELETE /files/{id} делает seq scan на проверке self-FK (I-1 final review, R-24);
нужны DBML v5.16 и миграция 0004, блокер до прода / до подсреза 2d.
- 09-delivery-plan: итог make check-full приведён к фактическому прогону
(e2e skipped в check-full, отдельный e2e 1 passed, fixtures 13 + 1 skipped);
решения без обсуждения №1–52 (T12.6).
- qa-guide U16: до ERROR файл остаётся UPLOADED (ack нет) (T12.7).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
05-domain-rules: §1.3, §1.5, §3 п. 4, §9.2–9.3, новый §9.5 (загрузка, маппинг, автозамена, подтверждение, удаление, аудит).
03-architecture: цикл маппинга, порядок блокировок, схема ключей S3. 07-open-questions: закрыты OQ-67/69/70/59/109,
новые OQ-110…116. 09-delivery-plan: Срез 2c по факту. dev/qa-guide: раздел 6.6 «Загрузка ОСВ и просмотр строк через API».
tasks.md: 2.1 выполнен.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
Путь проверен 05.10.2026 на чистом worktree: compose, migrate/seed, бэкенд, фронт через rsbuild dev с
REACT_APP_API_URL/REACT_APP_ROOT_PATH, dev-вход, /admin (headless Chromium), API и импорт (curl).
Closes#11
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
Раздел «Проверка окружения» приведён в соответствие с доработанным scan-gateway (склейка всех *.json каталога ответа
в raw/{job_id}.json, ошибочные файлы набора в metrics.warnings), по результатам сквозной проверки Task 6 (04.10.2026):
- сценарий 2: размер и формат raw/ (`{"job_id", "files": [...]}`), лог эмулятора с каталогом набора, processing ~10 с
(задержка эмулятора + SCAN_POLL_SECONDS + SCAN_SETTLE_SECONDS), абзац про фикстуры ИС (успешные ответы есть);
- добавлен сценарий 2а: aep_3 / aep_6 -> успешный ответ ИС -> NOT_IMPLEMENTED, metrics.warnings про aep_3_ofr.json;
- абзац про прогон рецепта: проверены оба пути вставки legal_entity (чистая БД и on conflict);
- «не покрывает»: нормализатор шлюза Среза 0 даёт NOT_IMPLEMENTED, у ошибок scan-gateway в metrics только warnings,
оговорка, что `down -v` удаляет общие тома postgres-data/minio-data всех worktree;
- dev/docker-compose.yml: комментарий про фикстуры ответов ИС — набор <имя>.json + <имя>_*.json (поведение не менялось).
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
В OpenBAOSettings scan-gateway нет поля DATABASE (extra_forbidden), поэтому общий dev/.env.example
годится только arm-core как есть. Исправлены комментарий в .env.example, раздел dev/README.md,
решение №44 в design.md и OQ-84.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
Помощники dpsql/dmc/new_job/poll и фактический вывод трёх сценариев на
профиле services (2026-10-04): tabular → error/NOT_IMPLEMENTED; image →
эмулятор ИС → error/INVALID_DOCUMENT (ответ-ошибка из фикстуры aep_5) и
raw/{job_id}.json в MinIO; tabular-parser остановлен → 3 повтора через 30 с →
dlq/NO_ACK (~120 с). Что сквозная проверка Среза 0 не покрывает.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
- T3.3: риск общих queue group подтверждён чтением тестов tabular-parser и
scan-gateway (test_roundtrip, боевые *.request); тесты arm-core изолированы
(временная БД, уникальный subject результатов); команда проверки подписчиков.
- T3.4: «Остаточные тома» — down -v только с --profile services.
- T3.5: GET / отвечает 307 на // и затем 404.
- T3.6: up -d --build <сервис> пересоздаёт сервис и зависимости: arm-core-migrate
пересоздаётся вместе с arm-core, scan-emulator со scan-gateway — нет (проверено).
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2