Skip to content

fix(control,desktop): keep steer messages out of the turn count#3936

Merged
esengine merged 1 commit into
main-v2from
fix/steer-turn-drift
Jun 11, 2026
Merged

fix(control,desktop): keep steer messages out of the turn count#3936
esengine merged 1 commit into
main-v2from
fix/steer-turn-drift

Conversation

@esengine

Copy link
Copy Markdown
Owner

Follow-up hardening for the turn-mapping invariant behind #3660.

rewind/fork resolve a clicked message to a backend turn by counting user bubbles in the transcript, so any user-role item that is not a real backend turn shifts every later target. #3932 removed the compaction-fold phantoms; this closes the remaining (freshly introduced) source: mid-turn steers from #3360 added a user bubble live and replayed their persisted [Mid-turn steer queued by the user.…] wrapper as another one.

  • syntheticPrefixes gains the steer wrapper, so history replay (desktop, serve, resume) no longer renders it as a user bubble.
  • The live steer() path drops its optimistic user-bubble dispatch — the Steer event's notice (which feat(desktop): mid-turn steer injection #3360 added precisely as the delivery confirmation) is the visible trace, live and after reload, keeping both representations consistent.

Table test covers the wrapper prefix.

@esengine esengine requested a review from SivanCola as a code owner June 11, 2026 04:09
@github-actions github-actions Bot added v2 Go rewrite (1.x) — main-v2 branch, active development desktop Wails desktop app (desktop/**) agent Core agent loop (internal/agent, internal/control) labels Jun 11, 2026
Rewind and fork map a clicked bubble to a backend turn by counting
user items in the transcript. A mid-turn steer added a user bubble
live and replayed its persisted wrapper message as one more, so every
steer shifted all later rewind/fork targets by one - the "rewound
several turns at once" class of report (#3660). Steers now surface
only through the Steer event notice, live and on replay.
@esengine esengine force-pushed the fix/steer-turn-drift branch from fcae139 to 7696613 Compare June 11, 2026 04:10
@esengine esengine merged commit 316c921 into main-v2 Jun 11, 2026
13 checks passed
@esengine esengine deleted the fix/steer-turn-drift branch June 11, 2026 04:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agent Core agent loop (internal/agent, internal/control) desktop Wails desktop app (desktop/**) v2 Go rewrite (1.x) — main-v2 branch, active development

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant