uv run pytest -q tests/test_integrations.py — адаптеры, идемпотентность setup, med_qa на реальной выдержке сертралина (дни 2/5/10)
Telegram-чат врача: задать TG_BOT_TOKEN и DOCTOR_NOTIFY_CHAT_ID, вызвать алерт — придёт [Уровень] причина / Пациент #xxxxxx
Заметки
ConnectCodeIdentity назван не esia_mock, чтобы не пересечься с emias_mock.py (ветка Arxip222).
Изменён тест tests/test_llm_med_qa.py::test_default_registry_has_no_data (теперь явно NoDrugInfo).
Для #12: при запущенном Telegram /dialog/{token}/outbox не дренирует TelegramOutbox.fallback.
Выдержки ГРЛС — синтетический пересказ, сверить с действующими инструкциями.
Чек-лист
rebase на origin/dev
make lint + make test зелёные
лог в issue (### 2026-10-04)
нет ПДн в логах, нет реальных данных, нет секретов
общие файлы не тронуты
## Что меняется
Демо-адаптеры за замороженными Protocol из `app/integrations/base.py` (SPEC §9): МИС-мок, подтверждение по коду подключения, выдержки ГРЛС для 6 препаратов, уведомления врача (лента + Telegram-чат). Регистрируются `setup()` при импорте пакета, outbox остаётся `MemoryOutbox`.
Closes #14
## Зона
B
## Как проверить
- `make lint test`
- `uv run pytest -q tests/test_integrations.py` — адаптеры, идемпотентность setup, med_qa на реальной выдержке сертралина (дни 2/5/10)
- Telegram-чат врача: задать `TG_BOT_TOKEN` и `DOCTOR_NOTIFY_CHAT_ID`, вызвать алерт — придёт `[Уровень] причина / Пациент #xxxxxx`
## Заметки
- `ConnectCodeIdentity` назван не `esia_mock`, чтобы не пересечься с `emias_mock.py` (ветка Arxip222).
- Изменён тест `tests/test_llm_med_qa.py::test_default_registry_has_no_data` (теперь явно `NoDrugInfo`).
- Для #12: при запущенном Telegram `/dialog/{token}/outbox` не дренирует `TelegramOutbox.fallback`.
- Выдержки ГРЛС — синтетический пересказ, сверить с действующими инструкциями.
## Чек-лист
- [x] rebase на origin/dev
- [x] make lint + make test зелёные
- [x] лог в issue (### 2026-10-04)
- [x] нет ПДн в логах, нет реальных данных, нет секретов
- [x] общие файлы не тронуты
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Что меняется
Демо-адаптеры за замороженными Protocol из
app/integrations/base.py(SPEC §9): МИС-мок, подтверждение по коду подключения, выдержки ГРЛС для 6 препаратов, уведомления врача (лента + Telegram-чат). Регистрируютсяsetup()при импорте пакета, outbox остаётсяMemoryOutbox.Closes #14
Зона
B
Как проверить
make lint testuv run pytest -q tests/test_integrations.py— адаптеры, идемпотентность setup, med_qa на реальной выдержке сертралина (дни 2/5/10)TG_BOT_TOKENиDOCTOR_NOTIFY_CHAT_ID, вызвать алерт — придёт[Уровень] причина / Пациент #xxxxxxЗаметки
ConnectCodeIdentityназван неesia_mock, чтобы не пересечься сemias_mock.py(ветка Arxip222).tests/test_llm_med_qa.py::test_default_registry_has_no_data(теперь явноNoDrugInfo)./dialog/{token}/outboxне дренируетTelegramOutbox.fallback.Чек-лист