-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
[Bug]: Control UI webchat routes user input into :heartbeat-suffixed session when main session is pruned #75203
Copy link
Copy link
Open
Labels
P1High-priority user-facing bug, regression, or broken workflow.High-priority user-facing bug, regression, or broken workflow.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:message-lossChannel message delivery can be lost, duplicated, or misrouted.Channel message delivery can be lost, duplicated, or misrouted.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Description
Metadata
Metadata
Assignees
Labels
P1High-priority user-facing bug, regression, or broken workflow.High-priority user-facing bug, regression, or broken workflow.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:message-lossChannel message delivery can be lost, duplicated, or misrouted.Channel message delivery can be lost, duplicated, or misrouted.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Type
Fields
Priority
None yet
Summary
When aggressive session pruning removes
agent:main:mainfrom sessions, the Control UI session picker no longer shows the primary session. Heartbeat ticks keepagent:main:main:heartbeatalive, so that becomes the only visible session in the picker. The webchat input then routes user messages directly into the heartbeat-suffixed session — resulting in human↔AI conversation accumulating in a background session rather than the intended main session.When the next heartbeat tick fires, the Control UI swaps to a newer heartbeat sessionId, effectively clobbering the conversation view mid-chat.
Steps to Reproduce
maintenance: { mode: "enforce", pruneAfter: "3d", maxEntries: 50 }isolatedSession: true,model: "anthropic/claude-haiku-4-5",lightContext: true,targetunset (defaults to"none").agent:main:maingets pruned from sessions.json.agent:main:main:heartbeatalive.Expected Behavior
agent:main:main(or auto-create it if missing/pruned).main:main) session by default.:heartbeat) should be hidden from the picker, or clearly labeled as "background" / read-only, so users cannot accidentally route input into them.Actual Behavior
main:heartbeat(nomain:main).agent:main:main:heartbeat.Environment
every: "1h",model: "anthropic/claude-haiku-4-5",lightContext: true,isolatedSession: true,targetnot setmode: "enforce",pruneAfter: "3d",maxEntries: 50Workaround
Relax session pruning so
agent:main:mainis never pruned (e.g., increasepruneAfter/maxEntries, or exempt the primary session from pruning rules).Related Issues
target: "last"skipping with no-target (related but distinct)