diff --git a/personal/projects/zulip-router.md b/personal/projects/zulip-router.md index b553228c..84cba302 100644 --- a/personal/projects/zulip-router.md +++ b/personal/projects/zulip-router.md @@ -159,12 +159,25 @@ docker logs zulip-router --tail 20 # проверить poll loop ## TODO -- [ ] Написать код роутера (~260 LOC) -- [ ] Создать compose `~/Docker/zulip-router/docker-compose.yaml` -- [ ] Набить `.env` с credentials Eagle (из `~/.hermes/config.yaml`) -- [ ] `docker-compose up -d` -- [ ] Проверить логи: `docker logs zulip-router --tail 50` -- [ ] Протестировать: @Клавдий и @Валера в разных топиках (человеком) +- [x] Написать код роутера (~260 LOC) +- [x] Создать compose `~/Docker/zulip-router/docker-compose.yaml` +- [x] Набить `.env` с credentials Eagle (из `~/.hermes/config.yaml`) +- [x] `docker-compose up -d` +- [x] Проверить логи: `docker logs zulip-router --tail 50` +- [ ] Протестировать: @Клавдий и @Валера в разных топиках (человеком) — **ПРОВАЛЕНО**: роутер шлёт `trigger=owner` когда @mention другого бота - [ ] Проверить ownership: сообщение в топик без @mention → последний бот -- [ ] Проверить @mention бота от другого бота → ownership ставится, дубляж нет +- [ ] Проверить @mention бота от другого бота → ownership ставится, дубляж нет — **ПРОВАЛЕНО**: см. #Проблема - [ ] Удалить `extractOtherMention()` патч из кода (больше не нужен) + +## Проблема + +Роутер форвардит ВСЕ сообщения из треда, где есть ownership — даже если @mention адресован другому боту. + +Логи: +``` +forward → Валера (msg=XXXXX trigger=owner stream="personal" topic="Балда/валера") +``` + +По спецификации (см. правила маршрутизации п.2): если @mention другого бота — ownership ставится, но НЕ форвардить. Реальная имплементация этого не делает. + +**Причина:** `main.go` в репозитории — старая версия (events poller с `instances`/`targets`), не соответствующая реальному бинарю в контейнере. Актуальный код роутера не найден.