Fixed
Install & runtime conversion
gsd-sdknow installs reliably on Windows — the installer probes the persistent Windows Path via PowerShell, filters transientnpxPATH entries, replaces stalegsd-sdk.cmdshims that point at deprecatedgsd-tools.cjs, and warns instead of printing a false-ready signal when the npm-prefix bin dir is not persistent. (#3282)gsd-tools.cjsand CJS fallback bridge work again post-install — the install payload now includessdk/shared/model-catalog.jsonat the co-locatedget-shit-done/bin/shared/model-catalog.jsonpath, andmodel-catalog.cjsresolves through install path → source repo path →GSD_MODEL_CATALOG. (#3293)get-shit-done-cc --codexaccepts Codexhooks.state.*trust-persistence tables — schema validation no longer treatshooks.stateas an event-handler array-of-tables while preserving AoT requirements for real hook events. (#3289)- Gemini and Antigravity conversion drops Claude-only agent dispatcher tools instead of emitting invalid
agentpermissions. (#3349) - Gemini install output is valid on Windows PowerShell — managed hook commands use PowerShell's call operator for quoted Node runners, reinstall rewrites existing managed hooks without double-prefixing, and Gemini agent conversion drops Claude-only
AskUserQuestion/ask_usertool metadata while neutralizing body references. (#3368) - Installer SDK readiness detects stale
gsd-sdkexecutables earlier on PATH — mismatchedgsd-sdk --versionoutput now withholds the ready message and prints the resolved path, detected version, expected version, and global update remediation. (#3363)
State, planning & execution
state record-metric,state add-decision, andstate add-blockerno longer silently lose data — missing target sections are auto-created with canonical scaffolds, and all three verbs honor--ws <name>routing to workstreamSTATE.md. (#3291)/gsd-plan-phasedeep-work rules now match the planner action contract — planners keep action blocks as directive prose, avoid fenced implementation dumps, and allow behavior/test acceptance criteria alongside source assertions. (#3326)- Executor stall detection and safe-resume contracts added so interrupted
execute-phaseruns surface partial-plan drift before dispatching duplicate executor work. (#3329) - Human-needed verification no longer completes phases or passes ship preflight — SDK phase execution keeps
human_neededand missing verification results pending, andcheck.ship-readyonly passes explicit pass/passed verification states. (#3339) - Codex
execute-phasefails closed whenworkflow.use_worktrees=true— because Codexspawn_agenthas no direct equivalent for Claude Code worktree isolation, the workflow stops before executor dispatch instead of editing the main checkout under false isolation assumptions. (#3365) phase remove --forceno longer collapses later ROADMAP phases to the removed phase number — integer phase removal now renumbers ROADMAP structures in single-pass callbacks, preserving later progress rows and headings. (#3367)- SDK
resolve-modelandinit.progressreport Codex runtime override models beforeresolve_model_ids: "omit"so Codex projects with runtime-specific model overrides see planner/executor model IDs instead of empty strings or the composedsonnetfallback. (#3361)
Verification, update & review safety
detect-custom-filesnow scansskills/— SDK custom-file detection is back in parity withbin/gsd-tools.cjs, preventing user-added skills from being silently destroyed during/gsd-update. (#3318)- Phase verification no longer passes with unresolved
TBD/FIXME/XXXmarkers in phase-modified source files. Same-line issue/PR references andDEF-*IDs remain valid formal deferrals. (#3343) - The verifier now runs declared probe scripts directly instead of accepting SUMMARY-reported probe PASS markers as evidence. (#3350)
- Codex installs clean up legacy GSD-managed
hooks.jsonupdate hooks after writing the TOMLSessionStarthook, avoiding duplicate update hooks while preserving user-owned JSON hooks. (#3364)
Removed
Intel updater
gsd-intel-updaterno longer emits the vestigial "Layout detection returned 'unknown'" line on non-GSD-framework projects — the layout-detection bash block is gated on package nameget-shit-done-cc, so ordinary user projects skip it silently. (#3299)
Install/upgrade: npx get-shit-done-cc@latest
Full Changelog: v1.41.1...v1.41.2