Skip to content

symfonic.memory.orchestrator.builders

builders

Layer and router construction for :class:OrchestratorFactory.

Split out of :mod:symfonic.memory.orchestrator.factory (352 lines against the 300-line budget). factory decides which orchestrator to build -- uniform backends, hybrid per-layer backends, or a caller-supplied set. The three functions here are how each of those decisions is carried out, and they are also the registry consumers: LAYER_FACTORIES lives here with the two builders that read it.

factory imports and calls them, so its public surface is unchanged.

HybridBackendConfig dataclass

HybridBackendConfig(layer_graph_backends: dict[MemoryLayer, GraphBackend] = dict(), layer_vector_backends: dict[MemoryLayer, VectorBackend] = dict(), layer_embedding_providers: dict[MemoryLayer, EmbeddingProvider] = dict())

Per-layer backend overrides for hybrid storage configurations.

Allows routing different memory layers to different backends. For example: episodic -> MongoDB, semantic -> Postgres, working -> in-memory.

Any layer not listed in the override dicts falls back to the defaults supplied to :meth:OrchestratorFactory.build_hybrid.