Prompt Runner has one core runtime and several entrypoints layered on top.
Entry Points
PromptRunner.run/2PromptRunner.plan/2PromptRunner.validate/2PromptRunner.run_prompt/2PromptRunner.CLIMix.Tasks.PromptRunnerrun_prompts.exs
Core Runtime Flow
input
-> RunSpec
-> Source.load/2
-> Plan.build/1
-> Runner
-> RuntimeStore + Committer + RenderingSources
PromptRunner.Source.DirectorySourcePromptRunner.Source.LegacyConfigSourcePromptRunner.Source.ListSourcePromptRunner.Source.SinglePromptSource
All sources normalize their input into prompt structs plus commit metadata.
Runtime Stores
PromptRunner.RuntimeStore.FileStorePromptRunner.RuntimeStore.MemoryStorePromptRunner.RuntimeStore.NoopStore
The runtime store owns progress tracking and log destination selection.
Committers
PromptRunner.Committer.GitCommitterPromptRunner.Committer.NoopCommitterPromptRunner.Committer.CallbackCommitter
CLI and legacy runs default to git commits. API runs default to no-op commits.
Rendering
Streaming output is handled through agent_session_manager renderers and sinks:
- compact
- verbose
- studio
PromptRunner adds lifecycle callbacks and observer hooks around that stream.