-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
Feature: Silence Watchdog + Response Delivery Confirmation — runtime-enforced operator visibility #47591
Copy link
Copy link
Open
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:needs-live-reproClawSweeper needs live local, crabbox, or manual validation to confirm this issue.ClawSweeper needs live local, crabbox, or manual validation to confirm this issue.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.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: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.Good issue quality with a plausible reproduction path needing some confirmation.maturity:stableIssue affects a taxonomy feature currently scored M4/M5.Issue affects a taxonomy feature currently scored M4/M5.
Description
Metadata
Metadata
Assignees
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:needs-live-reproClawSweeper needs live local, crabbox, or manual validation to confirm this issue.ClawSweeper needs live local, crabbox, or manual validation to confirm this issue.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.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: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.Good issue quality with a plausible reproduction path needing some confirmation.maturity:stableIssue affects a taxonomy feature currently scored M4/M5.Issue affects a taxonomy feature currently scored M4/M5.
Type
Fields
Priority
None yet
Problem
Agent-level (model-layer) progress beacons and delivery tracking are structurally unreliable. During sustained tool-call chains, the model cannot pause to evaluate its own silence duration — it proceeds to the next tool call. This means:
Mid-turn silence: The agent is actively working (making tool calls, reasoning) but the operator sees nothing for 1–5 minutes. Model-layer beacon rules ("remember to send a progress message") fail because the model is synchronously occupied.
End-of-turn delivery loss: The agent finishes its turn and generates a response, but transport failure (rate limit, timeout, API error) causes the response to never reach the operator. The model has already ended its turn and cannot detect or retry the failure.
Both failure modes produce the same operator experience: silence with no indication of whether the agent is working, finished, or broken.
Proposed Solution — Two Companion Subsystems
A. Silence Watchdog (mid-turn protection)
A gateway-level mechanical timer that fires a generic beacon when no operator-visible output has been delivered for a configurable threshold during an active agent turn.
Key properties:
🧠 Working…(generic — watchdog cannot know what the model is doing)Suggested config:
Required hooks:
turn.start,message.delivered(operator-visible only),turn.endB. Response Delivery Confirmation (end-of-turn protection)
Gateway-level tracking of whether each outbound response was actually delivered to the channel, with automatic retry and operator alerting on failure.
Delivery state model:
Delivery Correlation ID: Each outbound message is assigned a
turn_id+response_id(UUID) pair. Retries carry the sameresponse_id, allowing the gateway to suppress duplicates when a delayed original ACK arrives after a successful retry.Key properties:
message_id)response_idmessage.sendtool path equally protectedSuggested config:
Required hooks:
turn.start,response.outbound,delivery.result,turn.endImplementation Scope
Both subsystems are gateway-native, channel-agnostic in principle:
Operator Visibility Guarantee
Together, these two subsystems close every gap:
No model-layer dependency. No behavioral rules to forget. Pure runtime enforcement.