[2026-06-18] eagle: personal/agent/Phase 2 — Approval Reactions.md

This commit is contained in:
Alexey Martemyanov
2026-06-18 19:50:45 +06:00
parent 5d95c1b938
commit 6966558f68
@@ -3,7 +3,46 @@
## Баг 1: Сообщения дропаются при аппрувл-прерывании (подтверждён)
**Дата:** 2026-06-18
**Статус:** Подтверждён, причина установлена
**Статус:** Исправлен — добавлен streaming через `display.platforms.webhook.streaming: true`
## Баг 2: `▉` курсор в стриминге для webhook/Zulip (активный)
**Дата:** 2026-06-18
**Статус:** Диагностируется
### Симптом
При стриминге через webhook (Zulip) — каждое partial сообщение содержит `▉` курсор в конце. Zulip не поддерживает редактирование сообщений, курсор добавляется и никогда не убирается.
### Почему
`GatewayStreamConsumer` добавляет курсор `▉` к каждому partial сообщению (`on_delta``_send_or_edit`). Когда `adapter_supports_edit == False` — курсор остаётся навсегда, потому что:
1. Partial шлётся с курсором (первый send)
2. Edit не поддерживается → нельзя перезаписать/убрать курсор
3. `_send_fallback_final` при `got_done` — должен убрать курсор, но если edit не поддерживается — не может
### Что сделано
**Конфиг (`~/.hermes/hermes-whale/config.yaml`):**
- Добавлено `display.platforms.webhook.streaming: true` — стриминг для webhook
- Добавлено `platforms.webhook.extra.supports_message_editing: false` — указание что webhook не поддерживает edit
**Код (`gateway/run.py`):**
- Добавлено чтение `platforms.{platform}.extra.supports_message_editing` из конфига (строка 16712-16718)
- Если в конфиге `supports_message_editing: false``_adapter_supports_edit = False``_effective_cursor = ""` → курсор не добавляется
**Текущий статус:** `supports_message_editing: false` в конфиге есть, но логи всё ещё показывают `adapter_edit=True`. Причина выясняется.
### Логи (актуальные)
```
[whale-cursor] add cursor: ... adapter_edit=True
[whale-send] send_or_edit allowed: ... adapter_edit=True
```
Все логи показывают `adapter_edit=True` — настройка не применяется.
### Версии
- PID 17593 (Кит, порт 8645)
- Gateway запущен `python -m hermes_cli.main gateway run --replace`
- Логи: `~/.hermes/hermes-whale/logs/gateway.log`
- Конфиг: `~/.hermes/hermes-whale/config.yaml`
### Симптом
Когда LLM пишет текст (через стриминг), потом делает tool call с опасной командой — аппрув-промпт прерывает стрим. Весь текст, который LLM уже сказала ДО опасной команды, **не доходит до юзера**. Юзер видит только аппрув-промпт и финальный ответ (если он есть).