mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-30 19:09:28 +00:00
A mid-stream steer persists an interrupted-turn checkpoint so the model knows its reply was cut off. That scaffolding — "[This response was interrupted by a user correction.]" and the "Visible response before the interruption:" header — was written straight into message content, so every reload painted the raw machinery as an assistant bubble (and merged it into the preceding tool-call bubble). Steered transcripts became unreadable. Reuse the existing display/replay split instead of inventing new surface: - Carry the scaffolded form in the server-only api_content sidecar (the exact bytes replayed to the provider), keep content the user's/agent's real words. - When nothing reached the screen there is no clean form, so mark the row display_kind=hidden — replayed to the model, dropped by every transcript surface, exactly like compaction-reference rows. - Honor display_kind=hidden in the gateway's _history_to_messages projection (it only sniffed the [System: convention), so the checkpoint can't leak through the live/resume path to the TUI/CLI either. The model still receives the full interrupted context on the wire; the transcript shows the partial reply and the user's correction. |
||
|---|---|---|
| .. | ||
| bootstrap-installer | ||
| desktop | ||
| shared | ||