New Features
- Add exact agent routing and structural status. (#430, #431)
- Connect classified documentation and source files. (#440, #431)
- Add registry-owned source/document/configuration/other/opaque classifications and explicit source/document/both selection. (#449)
- Parse Markdown headings and explicit local document links, publishing canonical documents relations with typed unresolved evidence and exact heading selectors. (#449)
- Migrate schema 16 to schema 17 atomically, preserving 0.4.4 data while adding classification, selector, and document-reason integrity. (#449)
Bug Fixes
- Remove the stale requirement that pulldown-cmark remain an optional dependency of projectatlas-cli. (#458)
- Preserve the #440 ownership boundary where Markdown parsing lives in projectatlas-symbols. (#458)
- Unblock clean optional-parser-pack construction without restoring unnecessary CLI build coupling. (#458)
- Close the missing brace in the post-publication atlas_session_brief JSON-RPC request. (#460)
- Restore execution of the existing holistic RC agent E2E without adding a second harness. (#460)
- Restores directional document-to-file graph coverage and trusted no-candidate states. (#470)
- Bounds token TUI output to one captured terminal viewport. (#470)
- Admits purpose mutations only through a fresh, retry-bounded observation witness. (#470)
- Makes every closed GraphLimitKind spelling admissible in SQLite schema 19, with transactional schema-18 migration and real language-neutral Markdown publication proof. (#474)
- Makes CLI and MCP lint share one typed report owner, with JSON/TOON stdout serialization, flush/error handling, routing, no-mutation, and installed-candidate contracts. (#474)
- Bounds qualified symbol-parent identities at the shared graph projection boundary, reserves the compact namespace from raw source identities, and keeps 4,000-deep language-neutral publication bounded and collision-separated. (#474)
Chores
- Sync the completed average/maximum token-impact contract into the durable main OpenSpec capability. (#444)
- Archive the complete #439 proposal, design, delta, tasks, and .openspec.yaml. (#444)
- Remove the completed active issue mapping and preserve the disclosed auto-release sequencing deviation in both the archive and closed issue. (#444)
- Gate release candidates and clean obsolete dependency PRs. (#448, #450)
- Make packaged scan ownership deterministic. (#459)
- Promote the verified v0.4.5-rc3 capability set to stable v0.4.5 across Rust packages, plugin manifests, installer pins, documentation, and frozen CLI surfaces. (#475)
- Preserve the cumulative v0.4.4 stable release-note baseline and de-duplicate shared closing issues so distinct follow-up fixes remain visible. (#475)
- Keep the existing RC ancestry, optional-parser proof, prerelease/Latest, and hosted release contracts from #448. (#475)
Changelog
Full Changelog: v0.4.4...v0.4.5
- #431 feat(worktrees): add exact agent routing and classified navigation @styler-ai
- #444 chore(openspec): archive v0.4.4 token impact @styler-ai
- #449 feat(graph): connect classified documentation and source files @styler-ai
- #450 feat(release): add release candidate promotion @styler-ai
- #458 fix(release): align parser ownership check (#448) @styler-ai
- #459 test(release): make packaged scan ownership deterministic @styler-ai
- #460 fix(release): repair holistic RC MCP request @styler-ai
- #470 fix(release): stabilize v0.4.5-rc2 @styler-ai
- #474 fix(release): close v0.4.5-rc3 root-cause gaps @styler-ai
- #475 chore(release): promote v0.4.5 @styler-ai