- SERVICE_NAME: Literal["tabular-parser"] (R-35); в config.py, .env.example,
README и CLAUDE.md исправлено «имя queue group» — queue group задаёт
константа REQUEST_QUEUE_GROUP в core/nats.py.
- PUBLISH_RETRIES: NonNegativeInt — 0 означает одну попытку без повторов,
как и принимает NatsConnection.
- Удалён неиспользуемый модульный settings = get_settings() из config.py.
- pyproject.toml: убран override mypy для raisa_fastapi_protected_api
(зависимость удалена D-1).
- tests/conftest.py: фабрика minimal_settings (Settings из временного .env с
минимальным окружением, окружение процесса скрыто); test_config.py —
умолчания при минимальном окружении (M-8), PUBLISH_RETRIES=0/-1,
SERVICE_NAME≠tabular-parser.
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>