simbiot-harness/docs/digests/hour-2026-10-05-1400.md

58 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Дайджест hour 2026-10-05 ~14:00 UTC
## Батч задач (1/1 закрыта)
1. **t-261005135853-186b42 [M] — ЗАКРЫТА** (гейтвей: входящие документы на диск).
Диагноз подтверждён: `harness/tg_inbox.py` качал только voice (voice-пайплайн),
documents/photo терялись — file_id в событии есть, файла нет (кейс 4 PDF-выписок
Alex 05.10, доставал вручную getFile'ом).
Фикс: `save_document()` — при kind=document|photo getFile→download→атомарная
запись (.part→rename) в `inbox/files/<file_unique_id>.<ext>` (новый
`paths.inbox_files_dir()`, env `SIMBIOT_INBOX_FILES_DIR`); фото — максимальный
размер. В MessageReceived теперь `file_path` (абс, открывается с любого уровня)
+ `file_name`/`file_size`/`mime_type` — триаж видит что за файл без getFile.
Идемпотентно по file_unique_id (повторный апдейт не перекачивает), сбой
скачивания (истёкший у TG файл, HTTP 400/410) не валит поллер — file_id
остаётся в событии для ручного достёгивания. Голосовые — как раньше.
Верификация: `tests/test_tg_documents.py` — 22 PASS (document e2e, photo e2e,
идемпотентность, сбой, _file_ext); регресс voice_video/seen_indication/
inbox_batch — зелёный. Поллер перезапущен, активен (systemd). Коммит c5c3e8f.
Живая проверка: следующий отправленный боту документ сам появится в inbox/files/.
## Батч входящих m-516173771..777 (7 сообщений, один разговор) — отвечено сводно
Контекст: Alex скинул 4 PDF-выписки → «гейтвей их не сохраняет» (→ задача выше,
закрыта этим же тиком) → «сделай реальную ссылку на оплату в баксах с alipay»
→ «на $100» → «ссылку» → «а тут уже почему-то нету алипей, хоть в предыдущей
линке был».
Сделано:
- Боевой $100-линк подтверждён и отдан: https://buy.stripe.com/3cIdR82WH4RpfPY3EY1B60c
(plink_1UNCSvBT53G7FGSQDqXJOE8W, price $100 USD one_time, livemode).
- Почему нет Alipay — разбрано по факам, а не догадкой: через live-API проверена
payment_method_configuration — alipay/wechat_pay/paypal `available=false`
(методы НЕ активированы в боевом аккаунте Stripe), card и amazon_pay — on.
Попытки: пересоздание линка с явными методами → «ensure the type is activated
in your dashboard»; Checkout Session с явными методами → тот же отказ;
включение display_preference через API → невозможно (available=false).
Вывод: единственный путь — ручной шаг в дашборде (Settings → Payment methods),
после чего пересоздание линка — одна команда. Alex'у дана инструкция и обещание
пересоздать по сигналу «алипей включил».
- Amazon Pay в payment links Stripe не поддерживается в принципе (список
допустимых payment_method_types его не содержит; он работает только динамически
в чекауте — потому и был виден в старых линках без явных методов).
## Инциденты/эскалации
- Эскалаций от нижних уровней за час нет (4 тихих минутных тика, 0 событий выше
порога — LLM не запускался, burn экономлен).
- В ходе теста поймал и починил собственный баг: ранние выходы save_document
возвращали кортеж (None, None) вместо None — тест ловит такие вещи именно
поэтому.
## AUM-фильтр часа
Фикс гейтвея — прямая база долгосрочной AUM: до него входящие документы Алекса
(выписки банков — материал для учёта AUM/оборотки) терялись физически, а ручное
доставание съедало тики уровней. Alipay-линк — короткий доход (предзаказы $100),
но блокер снят до предела: осталась одна ручная кнопка у Alex.