T9.2: события старта worker.start → nats.start; _connect_s3 — info/warning/error по ответу проверки бакета, клиент
остаётся. T9.3: spec без «R-17». T9.4: README и CLAUDE.md описывают уже существующие файлы без отсылок к будущим задачам.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
I9.1: после ack повторная проверка приёма — warning error_category=shutdown, job_id снимается из «в работе».
T9.7: невалидное тело с job_id в работе/обработанным — warning и сброс (msg-id настоящего результата не занимается).
T9.5: error.message исхода парсера — одной строкой, ≤ 1000 символов. T9.6: docstring stop() про to_thread.
T9.1: тест конкуренции без опроса со sleep.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Подписка — через on_connected NatsConnection; остановка: воркер (дорабатывает очередь) → NATS → S3. Клиент S3
остаётся и при неудачной проверке бакета, отсутствие бакета — warning (T2.1). Тест lifespan и healthcheck с фейками
(T8.7); формулировки nats в README, .env.example и spec приведены к R-17.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Запрос, конверт (processing|done|needs_check|error), файл результата, ОСВ и формы,
деньги Decimal <-> строка, subject'ы и Nats-Msg-Id. Тесты: идентичность с docs
(skip без docs, ARM_KA_DOCS), примеры, round-trip, согласованность моделей и схем.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>