Skip to content

v0.14.0

Choose a tag to compare

@smm-h smm-h released this 08 Aug 09:12
· 224 commits to main since this release

Agent definitions are schema-validated at load, the CLI runs on strictcli 0.36, and the test suite can no longer spend money.

Context

This release carries the strictspec at-rest gate for .agent.json documents
(a breaking change: an integer format_version is now required), the strictcli
0.36 command-classification migration and its dependency floor, two new
documentation guides, and a fix that makes agent discovery report the deprecated
budget fields as helpfully as load_agent already did.

Behind that, the test suite changed shape. Integration tests used to drive the
real claude binary against a real profile on every full-suite run, so the
release gate itself billed a real account. They are now opt-in behind
CLAUDESTREAM_INTEGRATION=1, backed by a poisoned PATH shim so nothing else can
reach a real binary either, and a recorded-replay (VCR) lane covers the wire
protocol -- real subprocess, real pipes, real control round-trips -- from
committed cassettes at zero cost.

Breaking

  • Agent definitions are now schema-validated at load. .agent.json documents loaded via load_agent/discover_agents/the agent CLI are validated against a strictspec schema before decoding: they now REQUIRE an integer format_version (currently 1), and unknown keys (with did-you-mean hints) or wrong-typed fields are rejected with hard AgentValidationErrors. Stamp existing agent files with "format_version": 1 one time.

Features

  • Architecture and agents guides. The documentation site gains a guide to claudestream's four layers and a guide to agent definitions, plus a generated table of every stream event type.
  • Fuller CLI help text. Every command and flag description was expanded, so claudestream <command> --help explains what a command does and when to reach for it.

Fixes

  • The CLI works again on strictcli 0.36.0. strictcli made per-command effect classification mandatory, which hard-errored claudestream's command registration -- claudestream --help, every subcommand and any import of claudestream._cli failed. All 11 commands are now classified: the six that spawn a Claude Code subprocess are mutating, the five inspection commands are read_only. No command prompts for confirmation.
  • Agent discovery now explains the deprecated budget fields. A .agent.json still using max_cost_usd, max_turns or max_tokens reported a generic unknown-key error when found by discover_agents (or claudestream agent list) while load_agent gave the migration hint. Both paths now name the replacement threshold fields.
  • Installs can no longer resolve a strictcli too old to run claudestream. The manifest now declares strictcli>=0.36.0; below that, command registration fails and every CLI invocation errors on import.