- recognition-result.v1.schema.json и recognition-result-message.v1.schema.json — байтовые копии схем 1.2 / 1.0
(до 9b1a4cc), примеры 1.x — examples/v1/; живут до удаления маппера 1.x ядра (K-8)
- statement-code-orders.yaml — упорядоченные перечни кодов ББ/ОФР по редакциям 66n / fsbu4 и вариантам
full / simplified, с законными повторами (Р-20: 1220, 1520, 2410 у fsbu4; раздел III НКО у 66n) и кодами
печатных форм 1С из fixtures (1105, 1130, 1140, 1215, 1231, 1530, 2420, 2460, 2530, 2930) (K-5)
- validate_contracts.py: схемы v1 и examples/v1/, проверка формы перечня кодов; make venv ставит PyYAML
- v2.0: header.okei (+ _text, _confidence) и okei в headerField (K-22); columns[].column_index — столбец сетки
кандидата (K-6); line_refs — только строки lines[]; ref Excel — имя листа в кавычках по правилу Excel (S-15);
статус ОСВ — по контрольным суммам §1.4 листа (S-22); примеры приведены к этим правилам
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
- recognition-result.schema.json 2.0: line_code nullable + line_status, row_index, ref, parent_ref,
line_code_text, needs_review у значения и строки, values[].text, <поле>_text/_confidence шапки,
needs_review_fields, period_kind, label_confidence, document.status/warnings у всех документов
(включая ОСВ), form_variant, checks обязателен у ББ/ОФР со строками, нарушения с codes, без
duplicate_line_codes, service.statements_version; changelog — в $comment
- recognition-result-message.schema.json 2.0: metrics.warnings — структуры
- примеры переведены на 2.0 (Excel: detail-строка и нарушение пустой цели; OCR: догадка, покрытая §7,
строка unreadable, разлепленная строка)
- 03-architecture: общий код arm-statements, контракт v2.0
- спека: у разлепленных строк line_code_text и text — k-е части
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
Решение владельца 08.10.2026: запросы — files.tabular_uploaded / files.img_uploaded
(было recognition.{tabular|image}.request), ack и результаты обоих сервисов —
files.tabular_parsed (было recognition.result); files.img_parsed не используется,
старый АРМ гасится. Тела сообщений, Nats-Msg-Id, queue group'ы и schema_version
не меняются.
Change nats-files-subjects: дельта recognition-contract (3 требования), Purpose
спеки; описания subject'ов в contracts/*.schema.json; 03-architecture (схема,
таблица потоков, NATS платформы), 09-delivery-plan, dev/README, dev/qa-guide,
repo-templates. DBML v5.17 не поднимается (R-3, deferred).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
- schema_version: const "1.0" заменён на pattern ^1\.\d+$ во всех трёх схемах (I-1, R-8);
в $comment добавлено правило раскатки нового MINOR сначала на потребителей
- границы 0–100 для organization_name_confidence, inn_confidence, line_code_confidence,
line_name_confidence (I-2)
- description recognition-result-message: две формы Nats-Msg-Id на recognition.result (M-5)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Конверт на subject recognition.result: status processing | done | needs_check | error,
условные обязательные поля через if/then (done/needs_check → result_s3 и
result_schema_version; error → error). group_schema в конверт не входит.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>