FOCAS Tier-C PR D — supervisor + backoff + crash-loop breaker #172
Reference in New Issue
Block a user
Delete Branch "focas-tier-c-pr-d-supervisor"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Fourth of 5 PRs for #220. Ships the resilience harness between IFocasClient requests and the Tier-C Host process. Same shape as Galaxy Tier-C so Admin /hosts has one mental model.
New (Proxy, .NET 10)
Supervisor/Backoff— 5s→15s→60s ladder + 2-min StableRunThreshold resetSupervisor/CircuitBreaker— 3-crashes-in-5-min → 1h→4h→manual-reset with sticky alertSupervisor/HeartbeatMonitor— 3 consecutive misses = deadSupervisor/IHostProcessLauncher— abstraction over spawn-process-and-connect (keeps supervisor I/O-free + testable)Supervisor/FocasHostSupervisor— orchestrator withGetOrLaunchAsync+NotifyHostDeadAsync+AcknowledgeAndReset; exposesOnUnavailable,ObservedCrashes,StickyAlertActivefor /hosts wiringTests (14 new)
Totals
186/186 FOCAS driver tests (172 prior + 14 new). No IFocasClient contract changes — existing FakeFocasClient-based tests unaffected.
Next — PR E
Real Process-based IHostProcessLauncher + NSSM install scripts + MMF post-mortem + docs.