Andrey Epifancev
e369f289c7
openspec: архив change slice-2a-osv-parser; OQ-60/61/62/64/65/66/82 по техдолгу arm-core #10 ; qa-guide — настройки .env, вход по email, HTTPS-клон
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-05 20:23:36 +04:00
e3ca2ba1c5
Merge pull request 'Срез 2a: контракт v1.1 (rows[].extra), §1 по факту парсера, план срезов 2a–2d, OQ-98…109' ( #10 ) from feat/9-slice-2a-osv-parser into main
...
Reviewed-on: #10
2026-10-05 19:20:10 +03:00
Andrey Epifancev
447e8f06d4
Merge origin/main в feat/9-slice-2a-osv-parser: 07-open-questions — решения владельца (OQ-01/02/45/96/97) + OQ-98…109 Среза 2a
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-05 20:19:30 +04:00
Andrey Epifancev
a181f4ad96
docs: OQ-108 — остаточные риски предсканирования (R-26), OQ-105 — формулировка слепой зоны
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-05 17:18:46 +04:00
Andrey Epifancev
68b50a563f
docs: R-25 — слепая зона R-21 (свёрнутого прямого родителя достаточно), лимиты чтения, остаточные риски OQ-108
...
05-domain-rules §1.4: слепая зона R-21 переформулирована — достаточно свёрнутого непосредственного родителя (N2);
§1 «Лимиты»: expat-скан всех XML-частей, после-чтения счёт только индексируемых диапазонов, что не ограничено.
07-open-questions OQ-108: остаточные риски (объём ячеек, sharedStrings/стили, entity expansion) и рекомендации
(лимит памяти контейнера, предпроверка dimension/счётчик ячеек, подпроцесс с RLIMIT).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-05 17:06:40 +04:00
Andrey Epifancev
c2005a4699
docs: финальное ревью Среза 2a — §1 (лимиты чтения, ИНН, ACCOUNT_RE, риски R-21), OQ-106…OQ-109
...
- 05-domain-rules §1.0 п. 1: признак ОСВ в первых 30 строках листа; п. 4, §1.3: ИНН по значениям без дополнения
нулём, дополнение при извлечении (R-24); ACCOUNT_RE с re.ASCII | re.DOTALL (M-1); §1.4: остаточные риски R-21
(RR-1…RR-4, слепые зоны); §1.6: лимиты чтения (R-23), логирование.
- 06-test-data §3 п. 17: ИНН в тексте строки — ОСВ 76 Счастливочной за 1–3 кв. 2024 (6 + 7 + 7 строк).
- 07-open-questions: OQ-106 (Итого = первый корень), OQ-107 (hierarchy=sums), OQ-108 (defusedxml, лимиты чтения),
OQ-109 (размер объекта S3 до скачивания); OQ-105 ссылается на риски §1.4.
- OQ-81 «частично закрыт» в 09-delivery-plan, tasks.md и proposal.md change.
- contracts/examples/result-osv-needs-check.json — как пишет парсер (копия tabular-parser байт в байт).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-05 16:32:52 +04:00
Andrey Epifancev
baeb9189f6
docs: §1 по факту парсера, 06-test-data, план срезов 2a–2d, OQ, пример контракта
...
- 05-domain-rules §1: обязательные группы (R-12), hierarchy=<имя>, TOTAL в rows, буквенные субсчета и Вал./Кол. (R-16, R-18, R-19), ИНН (R-15, R-17), сверка по нетто (R-21), R-20, пустая ОСВ, ASSUMPTION(OQ-02), новый §1.6 (статусы, коды, лимиты, словари)
- 06-test-data: синтетика s01–s16, golden (82 снимка), рукописный xlsb, пустые ОСВ, буквенные субсчета
- 09-delivery-plan: Срез 2 → 2a–2d, 2a по факту
- 07-open-questions: OQ-98…OQ-105, пометки допущений парсера у OQ-01/02/45, OQ-81 частично закрыт
- contracts/examples/result-osv-needs-check.json: ACCOUNT в group_schema, ИНН из колонки, «Вал.» без контрагента, строка TOTAL
- openspec tasks.md: 1.2, 2.1
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-05 15:53:11 +04:00
0997ac9042
Merge pull request 'OQ-01/02/04/05/42/45: решения владельца для подсрезов 2c–2d' ( #14 ) from docs/oq-decisions-2c into main
...
Reviewed-on: #14
2026-10-05 12:13:51 +03:00
Andrey Epifancev
d7c69fa58b
OQ-01, 02, 04, 05, 42, 45: решения владельца 05.10.2026 (хранение строк ОСВ, квартальные ОСВ, субсчёт в чек-листе, статус RECOGNIZED, экран проверки ОСВ, NU в ядре)
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-05 13:07:03 +04:00
1da684e4e6
Merge pull request 'OQ: восстановить закрытие OQ-96/97 (потерян при merge #8 ), закрыть OQ-17/21/33/34' ( #13 ) from docs/oq-96-97-restore into main
...
Reviewed-on: #13
2026-10-05 12:01:22 +03:00
Andrey Epifancev
d4a085f7ee
OQ-17, OQ-21, OQ-33, OQ-34: закрыты реализацией Среза 1 и решениями владельца
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-05 12:58:41 +04:00
Andrey Epifancev
f59511f1e6
OQ-96, OQ-97: закрыты решениями владельца 05.10.2026 (effective_date по МСК — follow-up; DIRECTORY_DELETE не расширять)
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-05 12:58:41 +04:00
1aa24551bc
Merge pull request 'Гайд тестировщика: локальный стенд Срезов 0–1' ( #12 ) from docs/11-qa-guide into main
...
Reviewed-on: #12
2026-10-05 11:54:38 +03:00
Andrey Epifancev
0600c7c5a1
dev/qa-guide.md: гайд тестировщика — ПО, запуск стенда Срезов 0–1, чек-лист сценариев, ограничения, баги
...
Путь проверен 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
2026-10-05 12:17:38 +04:00
Andrey Epifancev
186d6f1dcf
contracts: needs_check-пример — строка 3 как «Вал.» под контрагентом (CURRENCY, уровень 2)
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-05 11:59:41 +04:00
Andrey Epifancev
ec7c42f964
contracts: результат v1.1 — rows[].extra (§1.2), пример needs_check
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-05 11:56:16 +04:00
Andrey Epifancev
d57b5bc378
OpenSpec: change slice-2a-osv-parser (контракт v1.1 rows[].extra, декомпозиция Среза 2, уточнения §1 — спека)
...
Issue: RSHB/arm-ka-docs#9
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-05 11:42:09 +04:00
611db7fa41
Merge pull request 'Срез 1: entities-v5.14, guide, план срезов, сверка §13 с кодом, архив change' ( #8 ) from chore/archive-slice-1-directories into main
...
Reviewed-on: #8
2026-10-05 10:10:50 +03:00
Andrey Epifancev
01767fd2b9
chore(openspec): архив change slice-1-directories (2026-10-05)
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-05 11:09:08 +04:00
Andrey Epifancev
70ba5e9db8
docs: Срез 1 — entities-v5.14, guide, план срезов, индексы, сверка §13 с кодом
...
- model/entities-v5.14.md: таблица «Что изменилось в v5.14», related_group_member (ГСК и ГСЗ одновременно), audit_event
- context/04: файлы и partial unique (legal_entity_id, kind) v5.14, OQ-31/32 закрыты
- ссылки на v5.14: 00, 03, 05, KICKOFF-PROMPT, dev/checks.md, openspec/config.yaml, repo-templates/arm-core.CLAUDE.md
- 09: Срез 1 по факту (вариант Б), перенос UI справочника; 10: статус экранов справочника и /admin
- 08: выгрузка ЕЦП; 06: §6.1 фикстура directories/ecp-export-russkiy-biskvit.xlsx
- 05 §13: сверка с ImportCode (добавлен GSZ_CREATED, перечень 16 кодов), порядок проверок, уточнения реализации,
лимиты файла, ошибки файла, след в аудите и S3
- tasks.md: 2.1–2.3, 3.1 выполнены
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-05 11:09:03 +04:00
f9c757ae97
Merge pull request 'Срез 1: DBML v5.14, §13 импорт из ЕЦП CRM, §10.1 видимость, OQ-86…91' ( #7 ) from feat/6-slice-1-directories into main
...
Reviewed-on: #7
2026-10-05 09:59:29 +03:00
Andrey Epifancev
b677ee0b15
OQ-92…OQ-97: вопросы из реализации Среза 1 (импорт ЕЦП, часовой пояс effective_date, право DIRECTORY_DELETE)
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-05 02:43:13 +04:00
Andrey Epifancev
0826be0cad
Срез 1: DBML v5.14, §13 импорт из ЕЦП CRM, §10.1 видимость, OQ-86…91, change slice-1-directories
...
- data-model-v5.14.dbml: related_group_member.kind + partial unique (legal_entity_id, kind) WHERE is_current
(ЮЛ одновременно в одной ГСК и одной ГСЗ — решение владельца 04.10.2026), audit_action + LEGAL_ENTITY_CHANGE,
USER_CHANGE; КПП не вводится.
- 05-domain-rules.md: §13 правила импорта выгрузки ЕЦП (формат, построчные коды, транзакция, след, ручные операции),
§10.1 видимость справочников по филиалу без кода роли.
- 07-open-questions.md: OQ-31/32 закрыты, OQ-25 уточнён по выгрузке, добавлены OQ-86…OQ-91.
- source/biq/ecp-export-lagal-entity.xlsx — первоисточник формата (добавлен владельцем).
- openspec/changes/slice-1-directories: proposal, design, tasks (skip_specs).
Issue: RSHB/arm-ka-docs#6
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-04 20:22:26 +04:00
f276489760
Merge pull request 'chore(openspec): архив change slice-0-skeleton' ( #4 ) from chore/archive-slice-0-skeleton into main
...
Reviewed-on: #4
2026-10-04 18:48:56 +03:00
Andrey Epifancev
49d9eca082
chore(openspec): архив change slice-0-skeleton
...
Срез 0 реализован и влит (PR #3 ), change перенесён в openspec/changes/archive, спеки — в openspec/specs.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-04 19:44:29 +04:00
8ee998d189
Merge pull request 'Срез 0: контракт v1.0, compose-окружение (профиль services), проверки качества, OQ-48…OQ-84' ( #3 ) from feat/1-slice-0-skeleton into main
...
Reviewed-on: #3
2026-10-04 18:39:29 +03:00
Andrey Epifancev
f83052420f
docs: dev/README — проверка окружения под склейку ответов ИС (aep_3, aep_6, aep_5)
...
Раздел «Проверка окружения» приведён в соответствие с доработанным 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>
2026-10-04 16:20:31 +04:00
Andrey Epifancev
e6ba1e0e30
docs: §11 и OQ-77 — убрано допущение о сегментах таблицы (поправка человека 04.10.2026)
...
Разбиение одной формы на несколько таблиц в образцах не встречалось; наблюдается только несколько таблиц разных
форм в одном json (баланс + ОФР). Нештатный случай (повтор label) — NEEDS_CHECK, правило — Срез 3.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-04 14:08:43 +04:00
Andrey Epifancev
3c1d1d1261
docs: §11 — таблицы и документы ИС не взаимно однозначны (поправка человека 04.10.2026)
...
Тип документа задаёт label таблицы; несколько таблиц одного типа (баланс по страницам) — части одного документа
(уникальный индекс document в DBML: один ББ и один ОФР на файл); в одном json может быть несколько таблиц.
Допущение вынесено в OQ-77 для подтверждения на реальном ответе.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-04 13:38:18 +04:00
Andrey Epifancev
f809cc936b
docs: ответы человека 04.10.2026 — формат ответа ИС по aep_3/aep_6, OQ-13/14/56/76–79, JetStream как вопрос к платформе
...
§11 05-domain-rules.md переписан по реальным ответам ИС: data_ocr — объект, table_structure — список таблиц,
успех — error.code == "", в каталоге ответа несколько json (склейка), confidence 0–100. OQ-13/14/77/78/79 закрыты или
уточнены, OQ-56 — осознанный техдолг, OQ-76 — частично (образцы добавлены), новый OQ-85 — возможность JetStream
на платформе (проверить позже). OQ-73 остаётся открытым.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-04 13:33:55 +04:00
Andrey Epifancev
b2f8aaa17e
docs: .env.example — scan-gateway тоже отвергает OPENBAO__DATABASE__* (N-1 финального ревью)
...
В 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
2026-10-04 07:26:37 +04:00
Andrey Epifancev
1568d49cd9
chore: отметить задачу 6.3 выполненной
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-04 07:24:35 +04:00
Andrey Epifancev
5456a7df3b
docs(context): 03-architecture — ack публикуется на корректный запрос
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 07:17:53 +04:00
Andrey Epifancev
5674097267
docs(dev): причина не запускать make -j — параллельные пререквизиты check, а не check-full
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 07:17:53 +04:00
Andrey Epifancev
bf893959df
docs(openspec): recognition-contract — источник attempt только из тела, расхождение сервисов в THEN (OQ-71)
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 07:17:53 +04:00
Andrey Epifancev
050f59a384
docs: сценарий venv против compose не проверен — design #43/#44, OQ-84, README и .env.example без устаревшей обязательности SMB
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 07:17:21 +04:00
Andrey Epifancev
5630ffadb7
docs(context): реестр OQ — ссылки на отчёты задач заменены маркерами находок
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 07:16:10 +04:00
Andrey Epifancev
cdfac6c74b
docs: 06-test-data — поиск пары эмулятором, design #36 — паузы по сервисам
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 07:03:47 +04:00
Andrey Epifancev
172d30a8b1
docs(openspec): спека recognition-contract — ack только на корректный запрос, источник attempt
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 07:03:35 +04:00
Andrey Epifancev
f928982058
docs(dev): README — зависимости проверки контракта (jsonschema, без rfc3339-validator)
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 07:03:23 +04:00
Andrey Epifancev
6000cab892
docs(dev): README — венв-черновик без ссылок на 5.4, legal_entity в проверке окружения
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 07:03:13 +04:00
Andrey Epifancev
04cdbd6cc4
docs(openspec): design.md — замыкающий | у решений 24–25
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 07:02:56 +04:00
Andrey Epifancev
c7c03616ce
docs(dev): checks.md — .DEFAULT_GOAL в эталонном фрагменте, --profile services в down
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 07:02:41 +04:00
Andrey Epifancev
c32c904197
chore: отметить задачу 6.2 выполненной
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-04 07:02:15 +04:00
Andrey Epifancev
55118120ad
docs(openspec): design.md — решения 39–42 (рулинги задачи 6.2)
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 06:53:00 +04:00
Andrey Epifancev
f7c8c6c883
docs(context): 07-open-questions — OQ-48…OQ-83 по итогам Среза 0, статусы OQ-45/46/47
...
Вопросы из open-questions-proposal.md трёх сервисов (с дедупликацией), кандидаты
DBML v5.14 (только как строки реестра) и находки сквозной проверки окружения.
У каждой строки — репозиторий и маркер источника. OQ-45/46/47 переведены в
«допущение принято и применено» с фактами seed и ORM.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 06:53:00 +04:00
Andrey Epifancev
f8111cc383
chore: отметить задачу 6.1 выполненной
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-04 06:49:08 +04:00
Andrey Epifancev
dc64d9a214
docs(openspec): design.md — решения 34–38 (рулинги задачи 6.1)
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 06:41:55 +04:00
Andrey Epifancev
3e1f39cd9e
docs(context): 03-architecture — SCHEMA_MISMATCH без ack, нечитаемый запрос без ответа, PUBLISH_RETRIES, примеры контракта
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 06:41:29 +04:00
Andrey Epifancev
2423854f27
docs(openspec): recognition-contract — SCHEMA_MISMATCH без ack, нечитаемый запрос, повторы публикации, примеры как иллюстрации
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 06:41:29 +04:00