Architecture: How to unify connectivity, URL resolution, reconnect, and ci...
Documentation for Sessions
🏗️ Architecture: How to unify connectivity, URL resolution, reconnect, and ci...
Date: 2026-02-21
Time: 05:31:00 UTC
Session: gspace1-131.4
Agent: angular
Confidence: 92%
Status: ✅ Documented
📋 Decision Context
Question:
How to unify connectivity, URL resolution, reconnect, and circuit breaker across all platform systems?
Task: Not specified
🎯 Decision Made
Chosen:
Created @libs-foundational/connectivity-core — a pure TypeScript, zero-dependency library with tier-based URL resolution (local → staging → production), three-phase reconnect (fast/slow/sentinel), circuit breaker, and observable state machine
Options Considered:
- No alternatives documented
💭 Reasoning
All 5 systems (MCP, VSCode ext, Chrome ext, backends, frontends) independently implemented their own URL detection, health checking, and reconnect logic with no fallback to production. Extracting to a shared core library with platform adapters eliminates duplication and ensures consistent behavior. Used type aliases instead of interfaces for event types to satisfy TypeScript index signature constraints.
📁 Files Involved
libs/libs-foundational/connectivity-core/src/lib/types.tslibs/libs-foundational/connectivity-core/src/lib/connectivity-manager.tslibs/libs-foundational/connectivity-core/src/lib/url-resolver.tslibs/libs-foundational/connectivity-core/src/lib/reconnect-strategy.tslibs/libs-foundational/connectivity-core/src/lib/circuit-breaker.tslibs/libs-foundational/connectivity-core/src/lib/endpoint-registry.tslibs/libs-foundational/connectivity-core/src/lib/health-checker.tslibs/libs-foundational/connectivity-core/src/lib/event-emitter.tslibs/libs-foundational/connectivity-core/src/lib/presets.tslibs/libs-foundational/connectivity-core/src/index.ts
🔗 Related
- Decision ID:
dev_1771651860243_6nqmn3r - Session: 131
- Workspace: gspace1
Auto-generated by MCP Smart Consolidation