Решение владельца 08.10.2026: recognition.tabular.request → files.tabular_uploaded, recognition.image.request → files.img_uploaded, recognition.result → files.tabular_parsed (общий subject ack и результатов; files.img_parsed не используется). Тела сообщений, Nats-Msg-Id, queue group'ы и schema_version не меняются. Константы api/src/contract/subjects.py, докстринги, тесты, README, CLAUDE.md; копии схем api/contracts/ из docs/contracts/ побайтно; change nats-files-subjects с дельтой спеки. Сквозной change — RSHB/arm-ka-docs#74. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
34 lines
2.3 KiB
Markdown
34 lines
2.3 KiB
Markdown
## Why
|
||
|
||
Решение владельца 08.10.2026: subject'ы NATS — «правильно как в старом АРМ». На проде заведены `files.tabular_uploaded`,
|
||
`files.img_uploaded`, `files.tabular_parsed`, `files.img_parsed`; используем три, `files.img_parsed` не используем,
|
||
старый АРМ гасится. Сквозной change — `nats-files-subjects` в RSHB/arm-ka-docs (issue #74, design с решениями R-1…R-5).
|
||
Issue этого репозитория — RSHB/arm-core#77.
|
||
|
||
## What Changes
|
||
|
||
- `recognition.tabular.request` → `files.tabular_uploaded`, `recognition.image.request` → `files.img_uploaded`,
|
||
`recognition.result` → `files.tabular_parsed` (константы `api/src/contract/subjects.py`, докстринги, тесты, README,
|
||
`CLAUDE.md`).
|
||
- После изменения ядро публикует запросы в `files.tabular_uploaded` / `files.img_uploaded` (outbox) и подписано на `files.tabular_parsed` в queue group `arm-core` (inbox).
|
||
- Копии схем `api/contracts/recognition-request.schema.json` и `recognition-result-message.schema.json` — побайтно из
|
||
`docs/contracts/` (изменены только описания subject'ов).
|
||
- `recognition_job.request_subject` новых заданий получает новые имена; уже созданные задания сохраняют старое значение (поле справочное: при повторной публикации subject вычисляется по `pipeline`).
|
||
- Тестовая фабрика `tests/factories.py` берёт subject из `request_subject(pipeline)`, а не собирает строку сама.
|
||
|
||
## Non-goals
|
||
|
||
- Тела сообщений, `Nats-Msg-Id`, queue group'ы и `schema_version` не меняются.
|
||
- Subject'ы не выносятся в настройки (OQ-83).
|
||
|
||
## Capabilities
|
||
|
||
### New Capabilities
|
||
|
||
### Modified Capabilities
|
||
- `recognition-job-exchange`: имена subject'ов запроса и ответа.
|
||
|
||
## Impact
|
||
|
||
Выкатывается одновременно с остальными сервисами: сервис со старыми именами не увидит сообщений с новыми.
|