Change слит PR #77; спеки обновлены (subject'ы files.tabular_uploaded, files.img_uploaded, files.tabular_parsed). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
3.4 KiB
Why
На проде платформа завела subject'ы NATS старого АРМ: files.tabular_uploaded, files.img_uploaded,
files.tabular_parsed, files.img_parsed. Наш контракт публикует запросы в recognition.{tabular|image}.request,
а ack и результаты — в recognition.result; этих subject'ов в правах общего JWT нет. Решение владельца 08.10.2026:
subject'ы — «правильно как в старом АРМ», используем три (files.img_parsed не используем), старый АРМ гасится.
Срез: вне плана срезов 09-delivery-plan.md — подготовка к контуру (инфраструктура NATS платформы).
What Changes
- Запрос
tabular— subjectfiles.tabular_uploaded(былоrecognition.tabular.request). - Запрос
image— subjectfiles.img_uploaded(былоrecognition.image.request). - Ack
processingи результаты обоих сервисов — общий subjectfiles.tabular_parsed(былоrecognition.result). - Тела сообщений,
Nats-Msg-Id, queue group'ы,schema_versionи файл результата не меняются. - Документы:
03-architecture.md(схема, таблица потоков, NATS платформы),09-delivery-plan.md,dev/README.md,dev/qa-guide.md,repo-templates/*.CLAUDE.md, описания subject'ов вcontracts/*.schema.json.
Читают и пишут контракт: arm-core (публикует запросы, подписан на результат), tabular-parser и scan-gateway
(подписаны на свой запрос, публикуют ack и результат). Дочерние change'и nats-files-subjects:
RSHB/arm-core#77, RSHB/arm-tabular-parser#28, RSHB/arm-scan-gateway#22. Issue этого репозитория — RSHB/arm-ka-docs#74.
Non-goals
- Subject'ы не выносятся в настройки (префикс для тестов — OQ-83, отдельно).
files.img_parsedне используется, раздельные subject'ы результата по pipeline не вводятся.- DBML v5.17 не поднимается: заметки
DECISION-4иrecognition_job.request_subjectобновятся в следующей версии модели (design, решение 3). schema_versionконтракта не меняется (design, решение 2).
Capabilities
New Capabilities
Modified Capabilities
recognition-contract: имена subject'ов запроса и результата.
Impact
- Сервисы:
arm-core,tabular-parser,scan-gateway— константыapi/src/contract/subjects.py, тесты, спеки, README. - Копии схем
api/contracts/*.schema.jsonв сервисах обновляются побайтно изdocs/contracts/. - Выкат: все три сервиса одновременно (старые и новые имена несовместимы на шине). Задания, опубликованные до выката и
не получившие ack, ядро повторит уже в новый subject: subject вычисляется по
pipelineпри каждой публикации,recognition_job.request_subject— справочное поле.