Skip to content

v0.20.0

Choose a tag to compare

@thorrester thorrester released this 28 Mar 00:31
· 31 commits to main since this release
9db118f

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 CollectAll strategy; verifies that combined_text contains 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 SpecError variants

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

@Thorrester

Full changelog: v0.19.1...v0.20.0