Skip to content

v0.10.2 — Runlet backend & TOON result encoding for compose

Choose a tag to compare

@danielkov danielkov released this 13 Jul 22:22
· 33 commits to main since this release

v0.10.2 — Runlet backend & TOON result encoding for compose

The compose tool gains a second scripting backend — Runlet, a small orchestration language purpose-built for agent tool composition — and an optional TOON encoding for compose results.

What's Changed

Runlet backend (agentkit-tool-compose)

Runlet joins Lua as a compose backend: immutable bindings, dataflow-implicit concurrency, schema-checked tool calls, bounded fan-out, and retry boundaries as language constructs. The Lua backend moves to its own module; backend selection is feature-gated.

TOON result encoding

With the toon feature enabled, ComposeConfig::with_result_encoding(ResultEncoding::Toon) switches the final compose result from compact JSON to TOON (Token-Oriented Object Notation), which renders uniform object lists as a header plus one row per element — smaller than JSON for the list-shaped values compose scripts tend to return. The tool description gains a note explaining the format so the model can read it.

Case study

docs/runlet-case-study.mdThe Familiarity Tax — benchmarks Runlet against in-distribution Lua inside the same compose tool: how to teach a model a grammar it has never seen, where the 1.6–1.9× cost gap comes from (hidden deliberation, not context), and what TOON does and does not buy back. Raw runs in benchmarks/compose-bench/results/2026-07-runlet-toon/.

Commits

  • feat: add runlet & toon support (f26fb64)
  • chore(release): 0.10.2 (c3926f1)

Full Changelog: v0.10.1...v0.10.2