You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The git-notes and orphan-branch state backends silently swallow git errors, leaving operators blind to data corruption until users report symptoms. This issue adds retry/backoff for transient failures, a circuit-breaker to prevent cascading failures, startup health verification, and observable error surfacing across all state backend operations.
Problem Statement
State read/write errors are caught and silently discarded — no logging, no user notification
Transient git failures (network blips, lock contention) are not retried
One corrupted state op cascades through all subsequent operations in the session
Operators have zero visibility into state backend health until catastrophic failure
Activity
diberry commentedon Apr 6, 2026
Summary
The git-notes and orphan-branch state backends silently swallow git errors, leaving operators blind to data corruption until users report symptoms. This issue adds retry/backoff for transient failures, a circuit-breaker to prevent cascading failures, startup health verification, and observable error surfacing across all state backend operations.
Problem Statement
Proposed Approach
Phase 1 — Observable Errors (P0, smallest useful change)
catch {}blocks in git-notes and orphan-branch backends with logged, user-visible warningsPhase 2 — Retry with Backoff (P1)
Phase 3 — Circuit-Breaker + Startup Verification (P2)
squad doctoroutputAcceptance Criteria
catch {}blocks remain in state backend codesquad doctorreports state backend health statusArchitecture Notes
packages/squad-sdk/src/state/(git-notes, orphan-branch)fix(sdk): state backend hardening — retry, circuit-breaker, startup v…
fix(sdk): state backend hardening — retry, circuit-breaker, startup v…
diberry commentedon Apr 10, 2026
🔒 On hold — high-touch architecture work, focusing on low/medium-touch items first.