-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
Feature Request: Plugin Circuit Breaker for graceful degradation #41899
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:crash-loopCrash, hang, restart loop, or process-level availability failure.Crash, hang, restart loop, or process-level availability failure.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.maturity:stableIssue affects a taxonomy feature currently scored M4/M5.Issue affects a taxonomy feature currently scored M4/M5.
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:crash-loopCrash, hang, restart loop, or process-level availability failure.Crash, hang, restart loop, or process-level availability failure.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.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 Statement
A single misbehaving plugin can currently degrade the entire gateway by holding session locks too long, timing out repeatedly, or throwing enough errors to trigger restart churn and queue growth. The workspace now has diagnostics for lock-hold overruns, session-store growth, and gateway-log anomaly detection, but the framework still lacks a plugin-scoped circuit breaker that can degrade one plugin gracefully while keeping the rest of the gateway alive.
Proposed Design Summary
Add a framework-level plugin circuit breaker in the gateway/plugin runtime. The breaker should:
Failure Model
The breaker should evaluate three signal classes:
Breaker States
Configuration / Policy
Suggested starting budgets from the design work:
context-guard: warn15s, open30s,3failures in10mmission-control: warn10s, open20s,5failures in10mmoltbot-mem0-memory: warn20s, open45s,4failures in15minteractive-session-watchdog: warn10s, open20s,3failures in10m15s, open30s,3failures in10mFramework-wide guardrails:
60sis a critical event,3times in1hshould move toforced-openuntil manual reset.Required operator/config surfaces:
.clawdbot/runtime/plugin-circuit-breakers.json),clawdbot plugins circuit-breaker reset <plugin-id>,skip,fail-request, ormanual-only.Design Doc
Rollout Recommendation