auto-sync: 2026-06-03 18:30:01
This commit is contained in:
@@ -91,6 +91,19 @@ Baseline: 166 passed, 9 pre-existing 401 (test_webhooks.py).
|
||||
- НЕ деплоил, НЕ мержил — мерж за Стримом после живой проверки.
|
||||
- `.env.bak-*` (стрэй-бэкап) НЕ закоммичен.
|
||||
|
||||
## ДОП-ФИКС: mute Telegram в тестах (срочный, выполнен ПЕРЕД остальным)
|
||||
Проблема: прогон pytest на проде слал РЕАЛЬНЫЕ Telegram Славе (тесты двигают стадию → `notify_stage_change` → `send_telegram`, читает живой `.env`).
|
||||
Фикс: `tests/conftest.py` (новый) — autouse-фикстура `_no_telegram` глушит `send_telegram`.
|
||||
- Патчит **источник** `src.notifications.send_telegram` (покрывает все `notify_*` и локальные `from .notifications import send_telegram` внутри функций — webhooks/plane, launcher, queue_worker, main).
|
||||
- Дополнительно патчит `src.stage_engine.send_telegram` — там import на уровне модуля (3 прямых вызова), source-патч его НЕ перехватил бы.
|
||||
- `raising=False` везде.
|
||||
|
||||
**Доказательство (не на доверии):** прогнал полную сюиту с ФЕЙКОВЫМИ telegram-кредами (`ORCH_TELEGRAM_BOT_TOKEN=fake-leak`, `CHAT_ID=99999`) + трип-вайр на `httpx.post` (через sitecustomize), бросающий **BaseException** (чтобы `except Exception` в send_telegram НЕ проглотил) при любом вызове `api.telegram.org`:
|
||||
- БЕЗ conftest → трип-вайр срабатывает (`TelegramLeak: ...botfake-leak/sendMessage`) → утечка реальна.
|
||||
- С conftest → **190 passed, 9 baseline, 0 обращений к api.telegram.org** (leak-файл не создан). Славе ничего не прилетело.
|
||||
|
||||
Коммит: `7fd6529 test(conftest): mute Telegram in all tests to stop prod leakage` — в том же PR #10.
|
||||
|
||||
## Замечание для Стрима (живая проверка)
|
||||
- Rejected-вердикт (и `:rejected:` коммент) теперь **перезапускает агента предыдущей стадии** (через `STAGE_AUTHORS[prev_stage]`) — это унифицировано для обоих механизмов (раньше коммент-ветка для non-analysis только откатывала без перезапуска). Так выполнено требование ТЗ «откат + перезапуск агента».
|
||||
- Стадийные статусы видны на доске только в проекте enduro (UUID per-project). При онбординге новых проектов — ORCH-10.
|
||||
|
||||
Reference in New Issue
Block a user