What's Changed
- refactor: deepen query architecture seams with compatibility shims by @trek-e in #3108
- fix: respect explicit milestone version in milestone complete by @trek-e in #3109
- fix: normalize stale STATE narrative tails on milestone completion by @trek-e in #3122
- fix: guard optional sketch-findings probes from non-zero ls exits by @trek-e in #3119
- fix: make orphaned worktree prune non-destructive by default by @trek-e in #3117
- fix: remove stale /gsd-list-phase-assumptions guidance from progress routing by @trek-e in #3111
- fix: align SDK install/fallback guidance with query-capable CLI by @trek-e in #3123
- fix: prevent state complete-phase from resolving literal 'Phase' token by @trek-e in #3118
- fix: normalize legacy top-level branching_strategy into git config by @trek-e in #3116
- fix: remove /clear then from resume route templates by @trek-e in #3113
- fix: make update custom-file backup resilient to EACCES by @trek-e in #3124
- fix: count nested plans/ layout in phase status indexing by @trek-e in #3115
- fix: remove stale /gsd-next references from user-facing surfaces by @trek-e in #3114
- fix: canonicalize plan-summary matching for suffixless summaries by @trek-e in #3112
- fix: make phase insert placeholder/dry-run preconditions explicit by @trek-e in #3125
- fix(#3131): re-wire 4 orphaned workflows as flags on parent commands by @trek-e in #3133
- docs(#3148): rewrite root README — storyline + highlights only, link to docs for detail by @trek-e in #3149
- fix(#3130): harden update.md npx invocations against cache-stale and token-routing failures by @trek-e in #3136
- fix(#3087): restore 10 demoted directive phrases in gsd-planner.md by @trek-e in #3138
- fix(#3128): extend roadmap.cjs plan-count to detect {N}-PLAN-{NN}-{slug}.md layout by @trek-e in #3139
- fix(#3126): replace hardcoded globalSkillsBase with first-class runtime-aware mapping by @trek-e in #3140
- fix(#3129): replace bypassed bash regex with token-walk git-cmd.js classifier by @trek-e in #3141
- fix(#3120): add register_authored_at_plan_time guard — prevent rubber-stamping legacy phases by @trek-e in #3142
- fix(#3096): enforce sequential Steps 7+8 + Edit-only tool discipline in ai-integration-phase by @trek-e in #3143
- fix(#3097, #3099): add cwd-drift sentinel + absolute-path guard to executor worktree protocol by @trek-e in #3144
- fix(#3127): make state.begin-phase idempotent on mid-flight phases by @trek-e in #3145
- fix(#3121): implement commands verb in SDK native registry by @trek-e in #3146
- fix(#3135): restore workflows/add-backlog.md — capture --backlog had no workflow to load by @trek-e in #3147
- fix(statusline): accept numeric 100 and block-list next_phases parsing by @trek-e in #3154
- enh(#3151): command contract validation module + prose @-ref cleanup + workflow extraction (ADR-0002) by @trek-e in #3152
- test(stats): lock decimal phase continuity when .10 exists by @trek-e in #3155
- feat(sdk): deepen runtime bridge seam for native-first SDK dispatch by @trek-e in #3158
Full Changelog: v1.41.0-rc1...v1.41.0-rc3