Andrey Epifancev
922cfd1616
test( #125 ): тест идентичности копии контракта по MAJOR (S-53, шаг 0 docs#116)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 13:12:53 +04:00
Andrey Epifancev
f0c1073918
NATS: subject'ы и JWT из OPENBAO__NATS__*, SecretStr, скрытие входа в ошибках ( #106 )
...
- NATSSettings: NATS_TABULAR_REQUEST_SUBJECT / NATS_IMAGE_REQUEST_SUBJECT / NATS_RESULT_SUBJECT с умолчанием
имён контракта v1.0; проверка формата (без пробелов, '*', '>', пустых токенов) и попарного различия.
- request_subjects() и request_subject(pipeline, subjects) — карта subject'ов окружения.
- NATS_SEED / NATS_JWT — SecretStr; build_nats_auth читает значения через get_secret_value().
- hide_input_in_errors=True во всех классах настроек: ошибка «нет поля» не печатает JWT/seed.
- Схемы контракта api/contracts/ — копии docs/contracts/ (побайтно).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 12:13:04 +04:00
Andrey Epifancev
5ae8ff8a81
nats: subject'ы как в старом АРМ — files.*_uploaded, files.tabular_parsed ( #77 )
...
Решение владельца 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
2026-10-08 23:46:18 +04:00
Andrey Epifancev
46d17e6de7
chore(contract): копия схемы v1.2 и модели (DISCLOSURE, checks, границы периода), без изменения логики
...
Refs RSHB/arm-tabular-parser#14
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Claude-Session: cedd7915-2efe-41e5-988c-a9117033598b
2026-10-06 14:30:41 +04:00
Andrey Epifancev
b87b3cefd7
contract: копия результата v1.1 — rows[].extra, примеры ( #11 )
...
Схема recognition-result и примеры result-* скопированы байт в байт из docs/contracts (v1.1);
OsvRow.extra добавлен в pydantic-модель; в тест примеров добавлен result-osv-needs-check.json.
CONTRACT_VERSION не менялся: ядро — потребитель, принимает любой MINOR 1.x, запрос не менялся.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-05 20:24:20 +04:00
Andrey Epifancev
d7f6c280bb
fix: целочисленные float (1.0) принимаются как целые, bool в header_variant отвергается
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 23:08:25 +04:00
Andrey Epifancev
c4afe4bc0b
feat: pydantic-модели контракта распознавания v1.0 и тесты согласованности со схемами
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 23:01:23 +04:00