github open-gsd/gsd-core v1.10.0

11 hours ago

Install

npm i @opengsd/gsd-core@1.10.0
# or
npm i @opengsd/gsd-core@latest

What's Changed

Feature

  • feat(#2646): surface unresolved deferred-items.md at milestone close by @nabki in #2983
  • feat(#3072): ship the deferred MCP served catalog (resources + prompts) by @trek-e in #3083

Enhancement

  • enh(#2904): add a reviewer entry type so third-party reviewer lanes are discoverable by @trek-e in #2912
  • enhance(#2530): extend UAT checkpoint frame language pack (9 more languages) by @JusticeWay in #2564
  • enhance(#2255): blocking catastrophic-shrink guard for curated .planning/ writes by @0xdhx in #2301
  • enhance(#3118): close the dead injectables and the shell projection follow-on — Wave 4 by @trek-e in #3124
  • enhance(#3149): dedicated init.debug entry point for /gsd:debug by @trek-e in #3154

Fix

  • fix(#2667): run-with-timeout mediates .cmd/.bat/.exe spawns on Windows (CVE-2024-27980); fallow pre-pass names failure kind by @trek-e in #2897
  • fix(#2788): recover Gaps Found rows; mark-complete no longer false-succeeds on a rejected row by @trek-e in #2902
  • fix(#2834): write defaults.json before agent TOML generation on clean Codex install by @trek-e in #2900
  • fix(#2825): gsd-code-fixer honors workflow.use_worktrees; never rm -rf a reparse point by @trek-e in #2905
  • fix(#2843): findProjectRoot stops at git-repo boundaries, not just MAX_DEPTH by @trek-e in #2909
  • fix(#2844): verify-summary ignores future/prose path mentions; resolves project root by @trek-e in #2910
  • fix(#2853): roadmap.update-plan-progress preserves hand-written annotations by @trek-e in #2916
  • fix(#2733): route gate-passed spec-phase paths into the probe steps by @davesienkowski in #2779
  • fix(#2848): non-Latin titles no longer produce empty slugs (Cyrillic transliteration) by @trek-e in #2934
  • fix(#2914): per-PR ack fragments instead of one shared mutable file by @trek-e in #2923
  • fix(#2647): code-fixer worktree under .claude/worktrees/, not a hardcoded /tmp path by @trek-e in #2942
  • fix(#2944): remove the catastrophic-backtracking regex from the ADR-1671 example by @trek-e in #2950
  • fix(#2648): phase.complete refuses when non-retired plans lack summaries (fail-closed coverage gate) by @trek-e in #2953
  • fix(#2649): diagnose-issues + execute-plan run worktree.base-check before worktree dispatch by @trek-e in #2955
  • fix(#2602): discover project-local Codex agents by @deinspanjer in #2623
  • fix(#2956): scope Phase extraction to ## Current Position (3rd gen of #2444/#2567) by @trek-e in #2961
  • fix(#2943): rename get-library-docs -> query-docs; correct the ctx7 fallback rationale by @trek-e in #2963
  • fix(#2849): strip trailing hyphen after 60-char slug truncation by @trek-e in #2967
  • fix(#2858): exclude gen-emitted-baseline.cjs from npm tarball + class-extinction guard by @trek-e in #2968
  • fix(#2913): distinguish empty cherry-pick from genuine conflict in hotfix create by @trek-e in #2970
  • fix(#2941): hint at global: prefix when bare skill name matches a global skill by @trek-e in #2973
  • fix(#2640): report truthful state_updated + keep progress frontmatter in sync after phase remove by @trek-e in #2974
  • fix(#2893): preserve prose below the JSON ledger on windows append/waive/fixed by @trek-e in #2975
  • fix(#2639): warn when local is ahead of origin before forking phase branch by @trek-e in #2981
  • fix(#2641): treat absent capture_artifacts as enabled (schema default) by @trek-e in #2982
  • fix(#2840): exclude runtime from defaults.json spread into project config by @trek-e in #2985
  • fix(#2544): stage the CommonJS marker in GSD-owned dirs, not the config root by @0xdhx in #2593
  • fix(#2738): report graphify query budget outcome and stop between-tier over-trimming by @0xdhx in #2819
  • fix(#2562): scope workstream progress/status to the current milestone by @nabki in #2588
  • fix(#2777): remove stale codex local home metadata by @kyle-the-dev in #2831
  • fix(#2658): detect trae runtime and resolve its instruction file to a concrete rules file by @trek-e in #3006
  • fix(#2855): scope the phase-locator archived-milestone fallback to the active workstream by @trek-e in #3008
  • fix(#2852): isolate wave-cleanup blocks to their own entry by @trek-e in #3009
  • fix(#2657): untrack the nine ADR-457 migration-gap compiled artifacts by @trek-e in #3011
  • fix(#2850): resolve the active workstream in the statusline GSD-state segment by @trek-e in #3012
  • fix(#1700): scope spike MANIFEST requirements per idea key by @trek-e in #3014
  • fix(#2645): persist verification verdicts so deletion cannot raise completeness by @trek-e in #3016
  • fix(#2847): require gap_closure value in plan-gap-closure schema and bind validate_plan to it by @trek-e in #3018
  • fix(#2650): bound and auto-recover plan-phase planner/plan-checker stalls by @trek-e in #3015
  • fix(#2644): deduplicate Cursor slash menu by @clezcoding in #2812
  • fix(#2785): implement missing gate predicate evaluators by @denniyahh in #2816
  • fix(#2787): clarify broken-windows ship blocking enforcement by @denniyahh in #2814
  • fix(#2703): strip GSD-2 frontmatter with the canonical parser by @trek-e in #3027
  • fix(#2755): resolve the kimi hooks-TOML root per runtime by @trek-e in #3032
  • fix(#2830): propagate a halted plan to its transitive dependents by @trek-e in #3038
  • fix(#2868): resume a phase stranded between its last plan and verification by @trek-e in #3041
  • fix(#2903): use the command form that actually works in reader-facing docs by @trek-e in #3047
  • fix(#2911): resolve surface re-stage destinations the way the installer does by @trek-e in #3049
  • fix(#3050): fail closed when a worktree guard cannot verify safety by @trek-e in #3054
  • fix(#3050): consolidate the spawn-timeout predicate and propagate the unresolved-root reason by @trek-e in #3060
  • fix(#2927): merge installed overlay reviewer lanes into review-lane invocation by @trek-e in #3062
  • fix(#2939): honor the declared depth budget in shouldFlattenDispatch by @trek-e in #3063
  • fix(#2940): preserve codex config.toml content after the GSD marker on update by @trek-e in #3067
  • fix(#3045): fail closed when an executor dispatch drops its resolved isolation by @trek-e in #3069
  • fix(#2949): exclude sentinel phase ids from stage-3 next-phase candidacy by @trek-e in #3070
  • fix(#2945): roll back the REQUIREMENTS checkbox when the traceability row rejects the write by @trek-e in #3073
  • fix(#2977): tolerate a leading UTF-8 BOM before the frontmatter fence by @trek-e in #3076
  • fix(#2946): run milestone complete unstarted-phase guard independent of STATE by @trek-e in #3081
  • fix(#2766): scan archived phases and read table-shaped Gaps/deferred entries by @trek-e in #3082
  • fix(#2947): preserve preamble phase details when milestone section has none by @trek-e in #3084
  • fix(#2962): enable nullglob in for-glob shell blocks for zsh portability by @trek-e in #3087
  • fix(#3057): make a guard's failure distinguishable from its benign result — Wave 1 by @trek-e in #3088
  • fix(#2969): ratchet completed_plans up for gap-closure plans under deriveProgressKeys by @trek-e in #3091
  • fix(#2978): add structural validation to roadmap validate by @trek-e in #3092
  • fix(#2979): document ExitError plain-text carve-out in json-errors.md by @trek-e in #3093
  • fix(#2988): local changeset/docs lint falls back to next, not main by @trek-e in #3095
  • fix(#2989): anchor code-review diff-base grep to phase-mention convention by @trek-e in #3096
  • fix(#2991): route /gsd command output through Pi's display shape by @trek-e in #3097
  • fix(#2997): include phase_id_convention in resolved config by @trek-e in #3098
  • fix(#2998): point bug template at runtime-home version, not npm list -g by @trek-e in #3100
  • fix(#3001): indent continuation lines in serializeChangelog by @trek-e in #3101
  • fix(#3004): update Codex adapter collaboration-tool vocabulary by @trek-e in #3104
  • fix(#3017): scope state write disk scan to stored milestone by @trek-e in #3105
  • fix(#3020): verify graphify tool identity before reporting compatibility by @trek-e in #3107
  • fix(#3057): reach the branches nothing could reach, and stop reaping on a PID we never probed — Wave 3 by @trek-e in #3106
  • fix(#3021): recognize worktree-wf_* branch namespace in all guards by @trek-e in #3109
  • fix(#3022): suppress spurious typebox fallback warning on Pi startup by @trek-e in #3111
  • fix(#3026): document --pi and --gemini in installer --help by @trek-e in #3112
  • fix(#3029): remove redundant hooks declaration from plugin manifest by @trek-e in #3113
  • fix(#3033): resolve zero-plan split-parent phase as complete when roadmap checkbox is checked by @trek-e in #3114
  • fix(#3035): add kimi-code detection and flag to review workflow by @trek-e in #3115
  • fix(#3036): accept non-numeric-leading phase ids in roadmap.analyze by @trek-e in #3117
  • fix(#3039): clamp max/xhigh effort to high for Claude-runtime skills by @trek-e in #3119
  • fix(#3044): add zh-CN verification-patterns.md to secret-scan exclusions by @trek-e in #3122
  • fix(#2784): suppress detectApiIntegration on negated prose by @trek-e in #3127
  • fix(#2786): skip sentinel phase ids in phase-complete stage 2 heading scan by @trek-e in #3130
  • fix(#2665): scrub config-location env vars in TEST_ENV_BASE by @trek-e in #3134
  • fix(#3116): strip trailing CR per line in parseFrontmatterStrict for CRLF WINDOWS.md by @trek-e in #3137
  • fix(#3132): realign retired covered/backstop-as-status vocab to resolved+verification by @trek-e in #3138
  • fix(#3099): emit LAST_ACTIVITY_UNPARSEABLE diagnostic for unusable last_activity by @trek-e in #3139
  • fix(#3052): preserve frontmatter last_activity_desc on same-date body prose conflict by @trek-e in #3140
  • fix(#3079): query commit no longer resurrects deleted phase branches via silent switch by @trek-e in #3141
  • fix(#3086): apply #2667 .cmd-shim gate to deps.spawn + surface errorCode in review lanes by @trek-e in #3142
  • fix(#3023): stage pi's shared hook bundle outside pi's reserved hooks/ directory by @trek-e in #3175
  • fix(#3024): route sync-skills through the shipped gsd-tools instead of an unshipped install.js by @trek-e in #3195

New Contributors

Full Changelog: v1.9.1...v1.10.0

Don't miss a new gsd-core release

NewReleases is sending notifications on new releases.