Repository navigation
v0.14.0
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.jsondocuments loaded viaload_agent/discover_agents/theagentCLI are validated against a strictspec schema before decoding: they now REQUIRE an integerformat_version(currently1), and unknown keys (with did-you-mean hints) or wrong-typed fields are rejected with hardAgentValidationErrors. Stamp existing agent files with"format_version": 1one 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> --helpexplains 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 ofclaudestream._clifailed. All 11 commands are now classified: the six that spawn a Claude Code subprocess aremutating, the five inspection commands areread_only. No command prompts for confirmation. - Agent discovery now explains the deprecated budget fields. A
.agent.jsonstill usingmax_cost_usd,max_turnsormax_tokensreported a generic unknown-key error when found bydiscover_agents(orclaudestream agent list) whileload_agentgave 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.