- data-model-v5.15.dbml: обычные индексы osv_entry (parent_entry_id), osv_entry (recognition_job_id),
stored_file (current_recognition_job_id) с note; п. 4 changelog v5.15 — индексы для удаления файла и
обхода дерева строк; замер: DELETE документа 1000 строк 8,6 с → 16 мс на 200 тыс. строк.
- entities-v5.15.md: строка 4 в «Что изменилось в v5.15».
- 07-open-questions: OQ-117 закрыт в v5.15 (v5.16 и миграция 0004 не понадобились).
Co-Authored-By: Claude Opus 5.5 <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-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
Разбиение одной формы на несколько таблиц в образцах не встречалось; наблюдается только несколько таблиц разных
форм в одном json (баланс + ОФР). Нештатный случай (повтор label) — NEEDS_CHECK, правило — Срез 3.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
Тип документа задаёт label таблицы; несколько таблиц одного типа (баланс по страницам) — части одного документа
(уникальный индекс document в DBML: один ББ и один ОФР на файл); в одном json может быть несколько таблиц.
Допущение вынесено в OQ-77 для подтверждения на реальном ответе.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
§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
В 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
Вопросы из open-questions-proposal.md трёх сервисов (с дедупликацией), кандидаты
DBML v5.14 (только как строки реестра) и находки сквозной проверки окружения.
У каждой строки — репозиторий и маркер источника. OQ-45/46/47 переведены в
«допущение принято и применено» с фактами seed и ORM.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- убрана устаревшая пометка «черновик» у recognition-result.schema.json (M-1)
- в строку ack добавлен schema_version, metrics и raw_s3_key помечены как опциональные,
правило версионирования дополнено принятием любого MINOR и порядком раскатки (M-2)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
По ответам пользователя 03.10.2026: обмен через recognition_job перестроен на core NATS (queue group'ы,
ack сервиса = конверт status=processing, повторная публикация ядром 30 с × 3 → dlq, дедуп по result_msg_id);
capability ci-template заменена на quality-checks (make check / make check-full, конфигураций CI нет);
compose: PostgreSQL 16, NATS без --jetstream, python:3.11-slim; пакеты raisa_* фильтруются при dev-установке,
npm raisa-* → optionalDependencies. Обновлены 03-architecture, 09-delivery-plan, 00-workspace-layout,
proposal/design/specs/tasks change'а; открытые вопросы к платформе закрыты, остались Node и JWT РАИСА.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
openspec init (config с контекстом docs-репозитория) и change slice-0-skeleton: proposal, design
(11 решений без обсуждения, открытые вопросы к человеку), спеки recognition-contract,
dev-environment, ci-template, tasks в порядке зависимостей между репозиториями. 06-test-data.md §6:
справочники продукта — seed arm-core, не фикстуры. 09-delivery-plan.md: Срез 0 по факту (change'и,
compose в docs/dev, контракт копией без общего пакета, seed).
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
03-architecture.md: раздел «Соглашения шаблона команды» (раскладка, конфигурация, БД и миграции,
клиенты, DI, тесты, линтеры, сборка, фронт, что вырезано в сервисах распознавания); слои arm-core
переписаны под реальный шаблон (api/src вместо backend/app, web вместо frontend); таблица обмена
через NATS — три схемы контракта v1.0, Nats-Msg-Id, group_schema только в файле результата;
один бакет S3 с префиксами-ролями; схема PostgreSQL dkb. 00-workspace-layout.md: worktree среза
в зеркальном workspace .wt/<срез>/.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>