Release notes — 3.2.6rc1 (internal Release Candidate)
For the existing Spec Kitty operator/maintainer deciding whether to pull this candidate into a test environment.
Warning
3.2.6rc1 is a Release Candidate — an internal, delta build published for validation, NOT an official 3.2.6 release. It ships as a GitHub prerelease and to PyPI as a PEP 440 prerelease, so ordinary installers skip it unless you explicitly opt in with --pre. Do not use it for production or general rollout. The last official release remains v3.2.5; when 3.2.6 is finalized its changelog section supersedes this candidate.
Note
Update 2026-09-03 — the release-critical work that remained after this candidate has fully landed. At rc1 time, a set of release-blocking bugs (the 3.2.6 execution DAG, tracker #3692) still gated the final tag. That book is now empty — all twenty DAG nodes are closed, #3692 is closed, and the milestone stands at 0 remaining work items. This candidate's highlights below are the rc1 snapshot; the finalized 3.2.6 changelog section is the authoritative record of everything the release ships.
Install for testing
This candidate is opt-in. Standard installs will not pick it up without --pre.
pipx install --pre spec-kitty-cli==3.2.6rc1
# or, inside an existing environment:
pip install --pre spec-kitty-cli==3.2.6rc1
Highlights since v3.2.5
The operator-facing changes worth exercising in this candidate:
- Breaking — built-in doctrine content relocated to
packs/built-in/with no compatibility shim (missionrelocate-builtin-doctrine-packs). Repoint any reference that still targets the oldsrc/doctrine/<kind>/built-in/path. - Breaking — local
beads/fptracker sync now requires a recorded egress decision (missiontracker-egress-refusal-3108). A binding that never recorded hosted-sync consent stops syncing on upgrade until you recordtracker.egress: permittedorsync.enabled: true. - Breaking — the
rtk-search-toolingtoolguide is removed, and the3.2.6_retire_rtk_search_toolingupgrade migration strips it from projects that had it activated (it runs automatically onspec-kitty upgradeand is safe to re-run). - Breaking — org packs with an unrecognised agent-profile or DRG key now fail to load (mission
doctrine-silence-guards). Runspec-kitty doctor doctrine --jsonand checkskipped_profilesbefore you upgrade. charter synthesizeis now non-destructive — it preserves backed governance content by default, with--pruneas the explicit opt-in and--dry-runto preview (missioncharter-synthesize-reconciliation;#3270P0, folds#2777/#3052). Theimplement/nextboundary no longer hard-blocks until you resynthesize.- Approving a work package after a rejection now sticks with no override flag required (mission
review-verdict-write-integrity;#3044) — the reject → fix → approve cycle no longer forces--skip-review-artifact-check. - Timestamps Spec Kitty writes into your project are now correct aware-UTC instead of local time mislabelled as UTC (mission
kernel-clock-single-door;#3305, closes#3289). - CLI UX: shell autocompletion, a
-hshort-help alias, and alphabetical command listing (#2232,#2234,#2235) — additive, with no behavior change to existing commands.
Full changelog
These highlights are a curated subset. For the complete, factual list of everything in this candidate — every Added, Fixed, Changed, and Breaking Changes entry — see the [3.2.6rc1] section of the canonical changelog.