Summary
Resolve circular dependency risks across the unified_system ecosystem by consolidating shared interfaces in common_system and enforcing one-way dependency flows between core modules.
5W1H Specification
- Who: Core systems maintainers (common, thread, logger, network, monitoring, messaging)
- What: Consolidate transport/monitoring interfaces in common_system + enforce unidirectional dependencies
- Where: common_system (foundation) + all dependent core system repos
- When: Target v0.4.0.0 release cycle
- Why: Prevent compile-time circular dependencies, simplify build configuration, enable isolated module testing
- How:
- Add unified interfaces (IHttpClient, IUdpClient, IMetricCollector) to common_system
- Migrate bidirectional integrations to interface-based decoupling
- Enforce single-direction dependencies where bidirectional is unavoidable
Background Analysis
Per CROSS_MODULE_INTEGRATION.md, two circular dependency patterns require resolution:
| Pattern |
Risk Level |
Current Status |
| logger_system ↔ thread_system |
MODERATE |
Both directions optional but can conflict |
| network_system ↔ monitoring_system |
LOW |
HTTP transport done, UDP/gRPC pending |
Scope
- In: Interface consolidation, conditional compilation cleanup, build order documentation
- Out: Functional changes to existing APIs, new feature development
Implementation Order (Priority)
Priority 1: Foundation (CRITICAL) - Blocks all other work
| Issue |
Repository |
Description |
Status |
| #233 |
common_system |
Add unified transport interfaces (IHttpClient, IUdpClient) |
✅ Done |
| #234 |
common_system |
Add unified monitoring interfaces (IMetricCollector) |
✅ Done |
Priority 2: Network/Monitoring Integration (HIGH)
Priority 3: Logger/Thread Integration (HIGH)
Priority 4: Downstream Hardening (MEDIUM)
Priority 5: Documentation (LOW)
Child Issues Summary
| Priority |
Repository |
Issue |
Title |
| 1 |
common_system |
#233 |
deps: Add unified transport interfaces (IHttpClient, IUdpClient) |
| 1 |
common_system |
#234 |
deps: Add unified metric collection interface (IMetricCollector) |
| 2 |
monitoring_system |
#273 |
deps: Implement UDP and gRPC transport using common_system interfaces |
| 2 |
network_system |
#342 |
deps: Decouple monitoring integration via EventBus pattern |
| 3 |
logger_system |
#252 |
deps: Resolve bidirectional thread_system dependency risk |
| 3 |
thread_system |
#336 |
deps: Resolve bidirectional logger_system dependency risk |
| 4 |
messaging_system |
#190 |
deps: Strengthen optional dependency guards and fallback implementations |
| 5 |
container_system |
#182 |
docs: Document minimal dependency architecture as reference pattern |
| 5 |
database_system |
#279 |
docs: Document adapter pattern best practices for dependency management |
Dependency Graph
┌─────────────────────────────────────┐
│ Priority 1: Foundation │
│ │
│ #233 Transport #234 Monitoring │
│ Interfaces Interfaces │
└─────────┬───────────────┬───────────┘
│ │
┌───────────────┼───────────────┼───────────────┐
│ │ │ │
▼ ▼ ▼ ▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│monitoring#273│ │network#342 │ │logger#252 │ │thread#336 │
│(Priority 2) │ │(Priority 2) │ │(Priority 3) │ │(Priority 3) │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
│ │ │ │
└───────────────┴───────┬───────┴───────────────┘
│
▼
┌───────────────────┐
│ messaging#190 │
│ (Priority 4) │
└───────────────────┘
│
▼
┌─────────────────────────────────────┐
│ Priority 5: Documentation │
│ │
│ container#182 database#279 │
└─────────────────────────────────────┘
Acceptance Criteria
References
Summary
Resolve circular dependency risks across the unified_system ecosystem by consolidating shared interfaces in common_system and enforcing one-way dependency flows between core modules.
5W1H Specification
Background Analysis
Per CROSS_MODULE_INTEGRATION.md, two circular dependency patterns require resolution:
Scope
Implementation Order (Priority)
Priority 1: Foundation (CRITICAL) - Blocks all other work
Priority 2: Network/Monitoring Integration (HIGH)
Priority 3: Logger/Thread Integration (HIGH)
Priority 4: Downstream Hardening (MEDIUM)
Priority 5: Documentation (LOW)
Child Issues Summary
Dependency Graph
Acceptance Criteria
References