| Schema extraction | BaseSpecExtractor | OpenAPIReader | Choose the root entity and supply a local spec |
| Mutation | BaseMutator[TContext] | LLMMutator | Supply BaseLLMClient or write another mutator |
| Canonical projection | BaseProjectorCanonicalState | None | Resolve candidates, validate, and decide action readiness |
| UI projection | BaseProjectorUI | None | Generate prompts/components for the chosen UI |
| Action | BaseAction | None | Execute domain behavior and return ActionResult |
| Evaluation | BaseEvaluator | Evaluator comparison base and LLMEvaluator runner | Provide mutator and expected states |
| Repository | BaseStateRepository[TState] | InMemoryStateRepository | Implement durable storage when needed |
| Snapshot store | BaseSnapshotStore[TState] | InMemorySnapshotStore | Implement durable history and retention when needed |
| Orchestrator | LangState[TContext] | None | Implement lifecycle and component coordination |