Choose Your Integration Path
Each path uses the same session, provider and tool contracts. A session can be
created through one surface and resumed through another when both use the same
realm and persistence location.
Choose Your Capabilities
Composition happens at two levels:- Build configuration selects optional providers and subsystems through Cargo features. Use a small embedded configuration or a full native harness; the capability matrix describes the profiles.
- Host and agent configuration selects models, tools, stores, skills, hooks, memory and runtime services. Different agents in one application can have different capabilities and permissions.
One construction path
Public surfaces compose agents through the facadeAgentFactory. The factory
resolves model identity, realm-owned credentials, stores, tools, hooks, skills,
memory, compaction, and runtime handles before it crosses the sealed core
builder seam. The lower-level core AgentBuilder is an implementation detail,
not a second public assembly path with weaker policy.
This matters because an override replaces one typed dependency without
discarding the surrounding contract. Examples include an AgentLlmClient,
tool dispatcher, session store, blob store, detached-job store, or compaction
curator. Model/provider identity and runtime authority are still validated at
the factory boundary.
Two runtime modes
RuntimeBuildMode makes the ownership boundary explicit:
Queue-only ephemeral services are useful substrates, but they are not a
durable control plane. Features that require session-owned authority fail
closed instead of manufacturing a local substitute.
