v3.2.7
jamiepine/voiceboxv3.2.7Sep 9, 2026by github-actions[bot]
Upgrading?
AI Summary
A maintenance release addressing project-layer agent profiles, Windows reliability, and `finalize-tasks` workflow issues, excluding convergence work from the main branch.
Key Highlights
- `spec-kitty init` now installs the event-log merge-driver git config to prevent add/add conflicts.
- `finalize-tasks` treats an empty frontmatter `dependencies: []` as absent to prioritize `tasks.md`.
- New `--refresh-planning-commit` flag added to `agent mission finalize-tasks` to advance the frozen planning SHA.
- A corrupt `__pycache__` file no longer crashes every `spec-kitty` command at startup with a self-heal mechanism.
- The dashboard server now spawns correctly on Windows with a dedicated log file and readiness probe.
New Features
- Added `--refresh-planning-commit` flag to `agent mission finalize-tasks`.
- `spec-kitty init` now installs the event-log merge-driver git config.
- Orchestrator-api contract updated to version 1.5.0.
Full Release Notes
_Maintenance release from the 3.2.6 line carrying the 2026-09-09 fixes for project-layer agent profiles, first-run and Windows reliability, and `finalize-tasks`. It does not include the convergence work in progress on `main`._ ### Fixed - **Dispatch routes activated project-layer agent profiles** (#4114). The routing catalog now draws from every doctrine layer the `activated_agent_profiles` gate admits, including profiles authored under `.kittify/doctrine/agent_profiles/`, so `charter activate agent-profile <id>` is sufficient to make a project profile dispatchable and deactivating the shipped profiles routes to the project's own. The empty-catalog `ROUTER_NO_MATCH` message names charter activation instead of `charter synthesize`. - **Built-in missions fall back by role when a shipped step-default profile is deactivated** (#4115). `software-dev`, `research` and `documentation` steps resolve their default profile against the invocation catalog and, when the default is deactivated, pick an activated profile with the same role instead of blocking the mission with `ProfileNotFoundError`. `charter deactivate agent-profile` and `charter preflight` warn when a deactivated profile is bound by an activated mission type. - **`spec-kitty init` installs the event-log merge-driver git config** (#4146, #4143). Init wrote the `.gitattributes` half of the union-merge wiring for `status.events.jsonl` but never the `merge.<key>.name`/`.driver` config, so the driver stayed inert until a later merge self-healed it and every early lane claim hit an add/add conflict. Both halves now land together at init; a non-git target gets the same advice the init output already prints. - **`finalize-tasks` treats an empty frontmatter `dependencies: []` as absent** (#4135). `agent tasks map-requirements` rewrites WP frontmatter and serialised an empty list, which the 3-tier dependency resolver then read as an authoritative user declaration and silently discarded the chain declared in `tasks.md`. An empty list now falls through to `tasks.md`; a non-empty list remains authoritative. - **`agent mission finalize-tasks --refresh-planning-commit` advances the frozen `planning_commit_sha`** (#4141). After a mid-execution plan change every WP was forced past the `kitty-specs/` tracking-state gate with no refresh path. The new flag re-points the recorded SHA to the current planning tip when the recorded SHA is an ancestor of it, refuses otherwise, and reports the decision in the `--json` payload. The orchestrator-api contract moves from 1.4.0 to 1.5.0. - **A corrupt `__pycache__/*.pyc` no longer crashes every `spec-kitty` command at startup** (#4124). CLI app assembly, the compat-planner migration-registry load and `spec-kitty upgrade`'s discovery step run through a bytecode self-heal seam: an import failure plausibly caused by a stale cache (`bad marshal data`, `marshal data too short`, `Non-code object in '…pyc'`, the `co_filename` AttributeError) purges the installed package's derived `*.pyc` caches, invalidates the import caches and retries once with a one-line warning. Genuine failures still propagate, and the planner seam degrades loudly instead of the previous silent `except: pass`. - **The dashboard spawns its detached server via `python -m`, with a log file and a readiness probe** (#4125). Spawning via `python -c` crashed on Windows (`__main__.__file__` AttributeError) silently, with output sent to `DEVNULL` and no readiness check. The server now starts through `specify_cli.dashboard._server_main`, child output goes to `~/.spec-kitty/dashboard-server.log`, and an early exit raises `DashboardSpawnError` with the exit status and the log tail. The ephemeral-port (`port=0`) protocol that accompanies this fix on `main` is not part of the 3.2.6 line and is not included. - **Non-git projects get actionable advice instead of an unhandled `NotInsideRepositoryError`** (#4123). `dispatch` (invoke and `--dry-run`, with a parseable `--json` envelope) and `dashboard` catch charter-resolution failures on a never-initialised project and print how to run `git init` and make an initial commit. - **Windows: coordination artifact writes fall back to a path-based confined write** (#3173). The fd-relative confined write (`dir_fd`, `O_DIRECTORY`, `O_NOFOLLOW`) has no equivalent on Windows, so every coordination write hard-failed. A capability predicate now routes the write and the unlink through a path-based fallback that re-verifies containment and rejects symlinked path components. ### Not included - #4120 (union-merge of a stale lane base's event log; `--profile` resolution of project-local charter profiles) stays on `main`. Its lane-merge half depends on the merge-driver activation plumbing from #2709/#2711 that this line never received; the profile half is covered here by #4114.
Related Repositories
public-apis/public-apis★ 491,124
A collective list of free APIs
NousResearch/hermes-agent★ 255,893
The agent that grows with you
yt-dlp/yt-dlp★ 199,988
A feature-rich command-line audio/video downloader
microsoft/markitdown★ 191,477
Python tool for converting files and office documents to Markdown.
Significant-Gravitas/AutoGPT★ 187,699
AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.