Prompt Runner 0.9.0 is organized around one packet runtime with both CLI and SDK entry points.
Runtime Flow
packet dir
-> PromptRunner.Packet / PromptRunner.Source.PacketSource
-> PromptRunner.Plan
-> PromptRunner.Runner
-> PromptRunner.Session
-> PromptRunner.Verifier
-> PromptRunner.Runtime + RuntimeStore + CommitterCore Concepts
PromptRunner.Profilehome-scoped defaultsPromptRunner.Packetpacket manifest loader, runtime preflight, and doctor surfacePromptRunner.PacketLintstatic authoring-hazard analysisPromptRunner.Packetsprompt creation and checklist syncPromptRunner.Planfully resolved execution plan- internal runner pipeline preflight, execution, retry, repair, and completion logic
PromptRunner.Verifierdeterministic completion contracts, withVerifier.DocandVerifier.ReposCleanimplementing the artifact-quality and repository-discipline clausesPromptRunner.Runtimepacket-local attempt history and status statePromptRunner.Watchsupervision facts for a long unattended run
Completion Model
Prompt Runner no longer treats provider success as completion.
Completion is owned by the verifier:
- provider success + verifier pass => complete
- provider success + verifier fail => repair, while the repair budget lasts
- transient provider failure + verifier pass => complete
- verifier fail with the repair budget spent => fail
- terminal provider or policy failure => fail
Every branch terminates. Repair is bounded by recovery.repair.max_attempts,
and the exhausted case fails with the unmet verifier items rather than
starting another attempt.
Recovery Model
Prompt Runner prefers provider-native session continuation for recoverable transport failures. Repair is a separate higher-level step driven by unmet verifier items.
Run Bounds
PromptRunner.Session derives every time bound from the single timeout key:
the stream timeout, the transport timeout, the derived stream idle timeout, and
ASM's run_deadline_ms. An unset timeout means the seven-day emergency
bound on all four, not ASM's 600s default for the run deadline. See the
Packet Manifest Reference.
Observability
A run with a file-backed state directory writes .prompt_runner/run.pid for
its duration, .prompt_runner/state.json for attempt and verifier history, and
.prompt_runner/logs/ for per-prompt transcripts and JSONL events.
PromptRunner.Watch reads the first and third of those. See
Supervising A Long Run.