Background
Part of #363 — Phase 5
Refactor database_coordinator to use service_container for backend resolution.
Current State
database_system uses a lifecycle-driven database_coordinator pattern with adapter/backend layers.
Has service_registration.h for IDatabase but coordinator manages its own initialization order.
Scope
- Refactor
database_coordinator to register adapters via service_container
- Leverage
service_container's lazy singleton for dependency ordering
- Update adapter initialization patterns
- Verify all database_system tests pass
Key Challenges
- Phase-aware initialization (Logger → Monitor → Thread) must be preserved
- Multiple backends per adapter (runtime selection via enum factory)
- Aggregated health checks across adapters
Affected Files
database/integrated/core/database_coordinator.h (refactor)
database/integrated/adapters/ (update registration)
include/kcenon/database/di/service_registration.h (extend)
Acceptance Criteria
Background
Part of #363 — Phase 5
Refactor
database_coordinatorto useservice_containerfor backend resolution.Current State
database_system uses a lifecycle-driven
database_coordinatorpattern with adapter/backend layers.Has
service_registration.hfor IDatabase but coordinator manages its own initialization order.Scope
database_coordinatorto register adapters viaservice_containerservice_container's lazy singleton for dependency orderingKey Challenges
Affected Files
database/integrated/core/database_coordinator.h(refactor)database/integrated/adapters/(update registration)include/kcenon/database/di/service_registration.h(extend)Acceptance Criteria
service_container