Services Overview
Services provide infrastructure capabilities behind stable ports/adapters.
- [[services/Triple-Store]]
- [[services/Vector-Store]]
- [[services/Object-Storage]]
- [[services/Secret-Service]]
- [[services/Bus-Service]]
- [[services/Key-Value-Service]]
- [[services/Cache-Service]]
Shared pattern
Each service follows the same architecture:
- Port interface: abstract contract.
- Adapters: concrete backend implementation.
- Service: domain facade used by modules and applications.
- Config binding: choose adapter in
config.yaml.
Runtime loading strategy
Services are lazy-selected by module dependency requirements.
- If no module requires a service, it is not loaded.
- Some service dependencies are auto-included (example: triple store implies bus for event publishing).
Configuration keys
services.object_storage.object_storage_adapterservices.triple_store.triple_store_adapterservices.vector_store.vector_store_adapterservices.secret.secret_adaptersservices.bus.bus_adapterservices.kv.kv_adapter