Install
npm i @opengsd/gsd-core@1.3.0
# or
npm i @opengsd/gsd-core@latestWhat's Changed
Feature
- feat(#39): milestone-prefixed phase IDs (M-NN convention) + migration tool + validation by @trek-e in #565
- feat(#49): provider-neutral model policy presets by @trek-e in #569
- feat(#78): complete documentation and release MVP Vertical Slice mode by @trek-e in #576
- feat(#163): tighten gsd-roadmapper granularity defaults to reduce thin-phase fragmentation by @trek-e in #591
- feat(#68): per-phase granularity overrides (granularities.) by @trek-e in #595
- feat(#607): rebuild get-shit-done-cc → gsd-core migration (per-package cache + installer auto-cleanup + --dry-run) by @trek-e in #611
Enhancement
- [codex] Rebrand public docs as GSD Core by @jeremymcs in #524
- Main by @jeremymcs in #525
- [codex] Include README assets in next package by @jeremymcs in #527
- [codex] Streamline README brand header by @jeremymcs in #531
- ci(#534): skip maintainer PR policy gates by @jeremymcs in #535
- [codex] Remove README continuity section by @jeremymcs in #533
- [codex] Correct GSD Core tagline punctuation by @jeremymcs in #529
- [codex] docs: align README version source of truth by @jeremymcs in #543
- docs(#546): update changelog for 1.2.0 by @jeremymcs in #547
- enhancement(#537): pilot TS build-at-publish for bin/lib (semver-compare) by @trek-e in #541
- enhancement(#34): add Antigravity CLI (agy) as a peer reviewer in /gsd-review by @trek-e in #553
- chore(#552): lint hand-written bin/lib/*.cjs and remove surfaced dead code by @trek-e in #554
- chore(#556): retire orphaned CJS-SDK hand-sync tooling by @trek-e in #559
- enhancement(#40): integrate branch pruning into /gsd-cleanup archival workflow by @trek-e in #564
- enhancement(#558): add liveness hints to all GSD spawn announcements by @trek-e in #566
- chore(#504): remove dead sdk/ references from eslint & stryker config by @trek-e in #567
- test(#425): replace source-grep assertions with behavioral coverage by @trek-e in #573
- Enhancement(#41): /gsd-ship extracts per-commit gate_status into a PR-body TDD Audit + squash trailer by @trek-e in #585
- refactor(#588): consolidate duplicated worktree_branch_check into one canonical fragment by @trek-e in #589
- chore(#597): replace count-based ratchet guards with AST lint + named-set allowlists by @trek-e in #603
- test(#593): executable e2e for the #48 cwd-drift guard by @trek-e in #594
- docs: rebrand to GSD Core and restructure docs with Diataxis by @trek-e in #605
- enhancement(#537): migrate all hand-written bin/lib/*.cjs to TypeScript source of truth (ADR-457) by @trek-e in #602
- test(#606): regression guard — every same-dir require() target of a shipped hook must itself ship by @trek-e in #613
- chore(#604): rename get-shit-done/ runtime directory to gsd-core/ by @trek-e in #615
- chore(#625): automate GitHub release-notes formatting by @trek-e in #626
- refactor(#596): drop dead projection metadata in state-command-router by @jslitzkerttcu in #633
- chore(#632): remove dead source-grep regex lint scripts superseded by ESLint rule by @jslitzkerttcu in #639
- chore(#653): set npm package author to OpenGSD by @trek-e in #654
- docs: roll up legacy (get-shit-done-cc / -redux) release notes into a single archive by @trek-e in #659
- docs(#660): ADR — release from head of next, immutable tags, @next as RC surface by @trek-e in #661
Fix
- fix(#447): scope post-planning gap analysis to phase_req_ids by @trek-e in #538
- fix(#448): resolve UI safety gate helper against the GSD install dir by @trek-e in #539
- fix(#551): lint hand-written bin/lib/*.cjs mislabeled as generated by @trek-e in #555
- fix(#38): replace misleading approved checkpoint in execute-phase human_needed branch by @trek-e in #560
- fix(#557): milestone erased when version is in
tag by @trek-e in #563 - fix(#549): progress writer double-counts decimal phases by @trek-e in #561
- fix(#571): forbid Write in doc-writer fix mode; add workflow truncation guard by @trek-e in #575
- fix(#570): scope Codex leak scanner to manifest + replace bare ~/.claude refs by @trek-e in #574
- fix(#488): add gsd-tools effort sync command by @trek-e in #578
- fix(#492): manifest effort.agent_overrides and effort.default now fall back correctly by @trek-e in #577
- fix(#49): Object.hasOwn guards + model_policy precedence in resolveModelForTier by @trek-e in #572
- fix(#260): enforce worktree absolute-path safety via PreToolUse hook by @trek-e in #579
- fix(#581): add Edit to six writer agents' tools so Edit-only discipline is enforceable by @trek-e in #582
- fix(#580): drop bash.exe wrapper from local .sh hooks on Claude/Windows by @trek-e in #583
- fix(#48): verify-only worktree_branch_check + orchestrator cwd-drift guard by @trek-e in #590
- fix(#214): make gsd-phase-researcher survive OpenCode write-tool truncation by @trek-e in #598
- fix(#214): apply OpenCode write-truncation contract to all large-file writer agents by @trek-e in #599
- fix(#245): surface worktree.cleanup-wave SUMMARY rescue copy failure by @trek-e in #616
- fix(#384): make getAgentsDir runtime-aware so non-Claude installs find agents by @trek-e in #617
- fix(#614): resolve gsd-tools via runtime shim in discuss-phase mode routing by @trek-e in #618
- fix(#623): make release Verify-publish tolerant of npm propagation lag by @trek-e in #624
- fix(#622): make graph.html copy optional in /gsd-graphify build chain by @trek-e in #634
- fix(#621): route plan-phase post-planning-gaps through gsd_run launcher by @trek-e in #635
- fix(#631): correct stale code references in CONTRIBUTING.md by @jslitzkerttcu in #638
- fix(#628): read snake_case requirements_completed in summary-extract by @trek-e in #640
- fix(#630): pin wave-cleanup to orchestrator root via manifest, not worktree-list first-entry by @trek-e in #643
- fix(#619): resolve gsd-tools via runtime shim in codebase-drift-gate by @trek-e in #645
- fix(#641): expand bare suite tokens in --files-from path by @trek-e in #647
- fix(#586): make ship PHASE_VERIFICATION_INCOMPLETE actionable, drop dead
passstatus branch by @trek-e in #650
New Contributors
- @jslitzkerttcu made their first contribution in #638
Full Changelog: v1.2.0...v1.3.0