v0.20.0
v0.20.0
Released 2026-03-27
potato-spec was shipped in v0.19.1 but not published to crates.io. This release makes it public, adds comprehensive integration test coverage for SpecLoader, and adds the documentation that should have come with it.
Breaking changes
None. No API or schema changes since v0.19.1.
What's new
potato-spec — first crates.io release (#59)
The crate was present in v0.19.1 but absent from release-plz.toml. It now ships. If you were pulling it from the git source, switch to the crates.io dependency:
potato-spec = "0.20"The public API is unchanged from v0.19.1 — SpecLoader, PotatoSpec, and SpecError are stable.
Spec integration tests (#59)
254 lines of integration tests in baked_potato/tests/agent/spec_test.rs exercise SpecLoader against a mock LLM server across four configurations:
- Single agent — loads from an inline YAML string, runs a prompt, verifies the response
- Sequential workflow — two agents wired in sequence via a spec; validates that the second agent receives the first agent's output when
pass_output: true - Parallel workflow — agents run concurrently with
CollectAllstrategy; verifies thatcombined_textcontains both responses - DAG workflow — three tasks with explicit dependencies; validates topological ordering and task result propagation
These run against baked_potato::LLMTestServer with no live credentials required.
A fixture YAML (crates/baked_potato/tests/agent/fixtures/spec.yaml) covers the minimal valid spec format:
agents:
- id: file_agent
provider: openai
model: gpt-4o
system_prompt: "You are a helpful assistant."
max_iterations: 1
workflows: []Documentation — agents/from-spec (#59)
New page at py-potato/docs/docs/agents/from-spec.md. Covers:
- Full YAML schema with all supported fields (memory types, criteria, callbacks, tools)
- How to register runtime dependencies (
register_async_tool,register_callback) before loading - Sequential, parallel, and DAG workflow definitions with examples
- Error reference for all seven
SpecErrorvariants
The agent overview page links to it and updates version references from 0.19 to 0.20.
Upgrading from v0.19.1
If you were using potato-spec via a git path dependency, switch to the crates.io version:
# Before
potato-spec = { git = "https://github.com/demml/potatohead" }
# After
potato-spec = "0.20"Everything else: no action required.
Contributors
Full changelog: v0.19.1...v0.20.0