Spec Kitty CLI 3.2.6
3.2.6 is the stabilization release that makes Spec Kitty tell the truth — it closes a long list of "reported success while the thing was actually broken" defects — and pairs that with one substantial new capability: driving a Mission's entire design pipeline from an external host.
Highlights
orchestrator-apicontract 1.4.0 — drive the whole design pipeline from outside the host CLI. 11 new verbs let a CI pipeline, custom dashboard, or native driver runspecify → plan → tasks → analyze → decision resolution— including resolving aspec-kitty nextdecision moment with full event/lifecycle parity. Purely additive; all 21 commands coexist. (#3837)- Status surfaces are now honest. Auth and sync diagnostics are derived from evidence through one
HealthVerdictauthority — a probe that can't verify saysunknown, never a falseok(#3723).spec-kitty nextno longer restarts a merged Mission or stalls on a canceled work package (#2947, #3780). spec-kitty mergehonors a Mission's declared retention policy instead of silently deleting branches and worktrees it asked to keep (#3131).charteris now the canonical governing term. Thedoctrinecode package relocated tocharter.offering; everyspec-kitty doctrinesurface keeps working with a one-time deprecation warning (#3664).charter synthesizeis non-destructive by default (#3270).--owned-checkoutworks across the whole single-branch lifecycle, so an agent can run a Mission end-to-end from a task-owned Git worktree (#3843).- CLI quality-of-life: the startup crash on typer 0.27.2 is fixed (#3782), plus shell autocompletion, a
-halias, a single copyable--versionline, and a durable per-project.kitty.envoperator config.
⚠️ Breaking — action required
- Sync is now off by default. A bare install spawns no daemon and emits no events. Existing sync users must set
SPEC_KITTY_ENABLE_SAAS_SYNC=1to keep the daemon and event emission. (#3799) - Built-in doctrine content moved to
packs/built-in/(no shim). Repoint any reference to the oldsrc/doctrine/<kind>/built-in/path — drop the innerbuilt-in/segment. - Org packs are stricter. An unrecognised agent-profile/DRG key, a bare cross-pack reference, or a dangling edge endpoint now fails to load or validate. Run
spec-kitty doctor doctrine --jsonand checkskipped_profilesbefore upgrading. - Local
beads/fptracker sync requires a recorded egress decision. A binding with no recorded consent stops syncing until you settracker.egress: permittedor runspec-kitty sync opt-in. (#3108) - The
rtk-search-toolingtoolguide is removed — thespec-kitty upgrademigration strips it automatically. - Legacy
{"mission": …}-only Missions stop resolving their type. Runspec-kitty migrate backfill-mission-typebefore upgrading such a project. (#3598) - API/automation consumers:
primary_feature_dir_for_missionis removed (useplacement_seam(...).read_dir(<kind>)); seven types no longer re-export fromspecify_cli.dossier(import fromspec_kitty_events);setup-planreturns exit0+warnings[]for an unauthenticated host;charter context --jsonbumpscontext_schema_version. See the full notes for each.
The complete, exhaustive breaking-changes list (with the exact upgrade action for every item) is in the release notes.
Install / upgrade
# New install:
pipx install spec-kitty-cli # or: pip install spec-kitty-cli
# Existing project:
spec-kitty upgradeAll 3.2.6 migrations run automatically on spec-kitty upgrade and are safe to re-run.
Full details
- Release notes:
docs/changelog/release-notes-3.2.6.md - Line-by-line changelog: the
[3.2.6rc1],[3.2.6rc2], and[Unreleased](3.2.6rc4) sections ofdocs/changelog/CHANGELOG.md
🤖 Generated with Claude Code