github open-gsd/gsd-core v1.5.0-rc.1

latest release: v1.4.4
pre-release8 hours ago

Install

This pre-release is published to npm under the next dist-tag.

npm i @opengsd/gsd-core@1.5.0-rc.1
# or
npm i @opengsd/gsd-core@next

What's Changed

Feature

  • feat(#656): Research module — content-addressed cache + provider seam + registry-API legitimacy by @trek-e in #664
  • feat(#717): re-base workflow size budget on bytes + document quality rationale by @trek-e in #719
  • feat(#159): auto-use existing RESEARCH.md in /gsd:plan-phase --research-phase by @trek-e in #718
  • feat(#703): add --granularity override flag to /gsd:plan-phase by @trek-e in #750
  • feat(#25): scope gsd-verifier Step 7b to enumerate-or-single-test; forbid full-suite re-runs by @trek-e in #753
  • feat(#52): add agent_skills_security.trusted_global_roots allowlist for global skills by @trek-e in #754
  • feat(#759): non-destructive CHANGELOG preview in the rc release job by @trek-e in #763
  • feat(#761): scheduled base-context sweep to close SHA-branch-evading draft PRs by @trek-e in #765
  • feat(#764): skip cross-platform test matrix for docs-only and inert-CI PRs by @trek-e in #798
  • feat(#766): distribute gsd-core as a native Claude Code plugin by @trek-e in #797
  • feat(#786): elevate GitHub Copilot installer — lifecycle hook + AGENTS.md by @trek-e in #804
  • feat(#785): write .cursor/commands/ Cursor 1.6 slash-command surface by @trek-e in #805
  • feat(#787): elevate Cline — .clinerules/ dir form, PreToolUse hook, AGENTS.md by @trek-e in #803
  • feat(#788): expand Qwen Code hook-event coverage by @trek-e in #807
  • feat(#790): emit Augment slash commands by @trek-e in #808
  • feat(#773): add --ephemeral and --dangerously-bypass-hook-trust to automated codex exec wrappers by @trek-e in #824
  • feat(#775): ship a gemini-extension.json extension package for one-step Gemini install by @trek-e in #818
  • feat(#768): pre-populate settings.json permissions.allow/deny for Claude Code by @trek-e in #819
  • feat(#774): emit service_tier/model_verbosity in Codex agent TOML + agents/openai.yaml skill chip by @trek-e in #828
  • feat(#769): adopt context:fork + effort on heavy workflow skills by @trek-e in #820
  • feat(#772): adopt stable Codex hook events + commandWindows for Windows parity by @trek-e in #827
  • feat(#778): cross-runtime command enrichment (Gemini {{args}}/!{}, Qwen priority) by @trek-e in #825
  • feat(#789): elevate CodeBuddy — slash commands by @trek-e in #830
  • feat(#776): Gemini hook events (BeforeAgent/AfterAgent/BeforeModel) + hooksConfig.enabled check by @trek-e in #829
  • feat(#777): register Cursor-native hooks (.cursor/hooks.json) for session-start/post-tool parity by @trek-e in #831
  • feat(#815): add /gsd-update --next to install the @next RC channel by @trek-e in #839
  • feat(#836): no-LLM duplicate-issue detection + challenge + 1-day auto-close by @trek-e in #843
  • feat(#770): register Claude Code lifecycle hooks (SubagentStop/Stop/PreCompact/FileChanged) by @trek-e in #821
  • feat(#69): complete namespace meta-skill architecture — nest concrete skills under routers by @trek-e in #883
  • feat(#896): Capability Registry generator + UI pilot (ADR-857 phase 3a-impl) by @trek-e in #902
  • feat(#903): generate Loop Host Contract from workflow markers (ADR-857 phase 3a-impl-2) by @trek-e in #906
  • feat(#910): federated config merge in config-loader (ADR-857 phase 3b) by @trek-e in #914
  • feat(#918): loop.render-hooks resolver — consume the Capability Registry (ADR-857 phase 3c) by @trek-e in #920
  • feat(#744): add Kimi CLI runtime support by @viktorplus in #743
  • feat(#942): tier→profile/cluster derivation + consistency gate (ADR-857 phase 4a) by @trek-e in #943
  • feat(#945): unified capability-state resolver (ADR-857 phase 4b) by @trek-e in #946
  • feat(#949): install/surface consume derived profiles/clusters (UI→tier:full, proven no-op) — ADR-857 phase 4c by @trek-e in #954
  • feat(#961): capability command mechanism (commandFamilies index + default-case dispatch) — ADR-857 phase 4d-impl-1 by @trek-e in #964
  • feat(#972): graphify command cutover — first capability owning a command family (ADR-857 phase 4d-impl-2) by @trek-e in #975
  • feat(#981): audit-uat + audit-open command cutover — commands-only capability (ADR-857 phase 4d-impl-3) by @trek-e in #984
  • feat(#985): intel command cutover — commands-only capability, last first-party family (ADR-857 phase 4d-impl-4) by @trek-e in #988
  • feat(templates): add optional Business Context section to PROJECT.md template by @jslitzkerttcu in #756

Enhancement

  • docs: promote README/branding fixes from next to main by @trek-e in #540
  • [codex] docs: promote README version cleanup to main by @jeremymcs in #545
  • docs(#546): promote changelog update to main by @jeremymcs in #548
  • chore: merge release v1.3.0 to main by @trek-e in #662
  • chore: back-merge main into next after v1.3.0 release by @trek-e in #671
  • chore(#660): bump next to 1.3.1-dev.0 (-dev stream per ADR 660) by @trek-e in #672
  • ci(#660): scoped GSD_BOT_PR_TOKEN for backmerge & release merge-back PR creation by @trek-e in #673
  • chore: merge hotfix v1.3.1 back to main by @trek-e in #681
  • chore: back-merge main (v1.3.1 hotfix) to next + hono advisory bump by @trek-e in #682
  • chore: back-merge main → next (051588f, #690 CHANGELOG fast-track) by @trek-e in #697
  • chore: back-merge main → next (3e0578a) by @trek-e in #701
  • chore(release): archive 463 shipped changeset fragments before wiring render (#690 follow-up) by @trek-e in #714
  • chore(release): wire CHANGELOG render into release finalize job (#690 follow-up) by @trek-e in #715
  • docs(#695): document --only and --text flags for /gsd-autonomous by @trek-e in #716
  • chore: clean up clear-cut ESLint warnings (#732) by @trek-e in #734
  • chore(lint): justify intentional no-control-regex (ANSI strip) + ratchet to error by @trek-e in #737
  • chore(lint): eliminate magic-sleep test warnings + ratchet rules to error by @trek-e in #735
  • refactor(scripts): replace process.exit() with ExitError + runMain handler (part 1 of #738) by @trek-e in #740
  • refactor(bin): replace process.exit() in CLI entrypoints + ratchet n/no-process-exit to error (part 2 of #738) by @trek-e in #741
  • refactor(#720): lazy-load MVP-only reference bodies on non-MVP runs by @trek-e in #746
  • refactor(#712): replace Codex slash-command denylist lookbehind with positive-boundary match by @trek-e in #747
  • refactor(#651): consolidate verification-status routing into one queryable seam by @trek-e in #755
  • docs(#58): add ADR for Runtime Install Policy Module boundary by @trek-e in #762
  • test(#339): regression guard for gsd-sdk refs in runtime surfaces by @jslitzkerttcu in #691
  • refactor(#60): make runtime config adapter registry explicit by @trek-e in #795
  • refactor(#56): retire legacy runtime directory helpers into runtime-homes projection by @trek-e in #802
  • enhancement(#782): emit gsd skills to ~/.cline/skills for Cline >= v3.48 by @trek-e in #809
  • enh(#784): emit native skills for OpenCode + Kilo runtimes by @trek-e in #810
  • chore(#771): convert agent color: hex/magenta values to documented named colors by @trek-e in #823
  • docs(#832): add how-to guide for minimal install / skill profiles by @trek-e in #835
  • chore(#846): remove unused PR-size labeler (size/S–XL) workflow by @trek-e in #848
  • docs(#849): capture 1.4.0 release features across the docs base by @trek-e in #850
  • docs(#857): ADR-857 Capability system — five-step loop core, features as plug-ins by @trek-e in #858
  • refactor(#859): extract CLI I/O primitives from core.cts into io.cts by @trek-e in #864
  • refactor(#865): extract pure phase-id helpers from core.cts into phase-id.cts by @trek-e in #868
  • ci(#869): raise full-test Windows lane timeout 15m→20m by @trek-e in #871
  • chore(#57): add runtime install no-drift guard tests by @trek-e in #867
  • refactor(#870): extract ROADMAP.md parsing into roadmap-parser.cts by @trek-e in #876
  • refactor(#877): extract shared low-level utilities into core-utils.cts by @trek-e in #878
  • refactor(#881): extract phase-locator fs-search into phase-locator.cts by @trek-e in #882
  • refactor(#885): extract loadConfig cluster into config-loader.cts by @trek-e in #886
  • refactor(#887): consolidate duplicated CHILD_ROUTER test maps into shared helper by @trek-e in #889
  • refactor(#888): extract model+effort resolution into model-resolver.cts by @trek-e in #890
  • docs(#894): ADR-894 Capability declaration format + registry generation by @trek-e in #895
  • chore(#899): auto-close unsolicited fork PRs with no linked issue by @trek-e in #901
  • chore(#893): remove dead loadConfig from configuration.cts by @trek-e in #912
  • chore(#930): remove self-masking next dist-tag repoint from release finalize by @trek-e in #931
  • docs(#956): MemPalace capability pre-proposal (PRD/ADR draft) by @trek-e in #957
  • docs(#959): ADR-959 capability command contribution (ADR-857 phase 4d design) by @trek-e in #960
  • ci(#962): pipeline audit fixes — scoped matrix, merged coverage gate, suite seeding, bug-* ratchet by @Solvely-Colin in #963
  • test(#969): fix stale-build flake (incremental + re-emit-on-missing) and harden runGsdTools against subprocess kills by @trek-e in #996

Fix

  • fix(#663): resolve open CodeQL/Dependabot security alerts (ReDoS, prototype pollution, workflow perms, qs DoS) by @trek-e in #665
  • fix: accept published installer migration checksums by @Solvely-Colin in #674
  • fix(#670): tolerate installer-migration checksum drift on upgrade by @trek-e in #675
  • fix(#676): consolidate hotfix into release.yml (delete standalone hotfix workflow) by @trek-e in #678
  • fix(#676): update tests/docs referencing deleted hotfix.yml by @trek-e in #680
  • fix(#690): promote CHANGELOG 1.3.x + gate release-notes promotion by @trek-e in #694
  • fix(#690): backfill CHANGELOG 1.3.x on main for /gsd:update preview by @trek-e in #696
  • fix(#698): make auto-backmerge main→next actually land (admin-merge via PAT) by @trek-e in #699
  • fix(#698): sync main's auto-backmerge.yml to next (hardened admin-merge + scoped PAT) by @trek-e in #700
  • fix(#637): route 3 more workflows through gsd_run launcher (hardcoded $HOME sweep) by @jslitzkerttcu in #642
  • fix(#705): route hardcoded $HOME gsd-tools invocations in agents/commands through gsd_run by @trek-e in #707
  • fix(#685): set windowsHide on all Windows child-process spawns by @trek-e in #688
  • fix(#687): cap agy -p with a hard wall-clock timeout (no indefinite hang) by @trek-e in #689
  • fix(#669): /gsd-review --cursor actually invokes cursor-agent by @trek-e in #686
  • fix(#704): exclude } and ) from Codex path-rewrite lookbehind (no literal $gsd-core in installs) by @trek-e in #710
  • fix(#706): skip rescue of already-committed SUMMARY to avoid worktree cleanup merge_failed by @trek-e in #709
  • fix(#730): scope current-milestone Phase Details section in roadmap parser by @trek-e in #748
  • fix(#683): auto-degrade phase execution to sequential on worktree base mismatch by @trek-e in #749
  • fix(#751): recognise config-set prototype-pollution guard in CodeQL + test dynamic-key vectors by @trek-e in #752
  • fix(#758): trigger draft-PR auto-close on pull_request_target by @trek-e in #760
  • fix(ci): repair Discord release changelog announcements by @Solvely-Colin in #780
  • fix(#783): resolve Kilo global skills base to ~/.kilo/skills by @trek-e in #806
  • fix(#812): honor COPILOT_HOME in Copilot global config-dir resolution by @trek-e in #814
  • fix(#813): apply per-runtime skill path rewrites in applySurface by @trek-e in #817
  • fix(#816): mirror install command-prefix handling in _syncGsdDir by @trek-e in #822
  • fix(#837): three-dot diff in ci-test-scope so docs-only PRs skip the heavy matrix by @trek-e in #841
  • fix(#844): sync runtime manifest versions on npm version bump by @trek-e in #845
  • fix(#834): derive installer --help skill counts from PROFILES by @trek-e in #847
  • fix(#856): remove gsd-cmd-rewrites temp dirs after install by @trek-e in #862
  • fix(#853): gate manager/autonomous background dispatch by runtime by @trek-e in #863
  • fix(#872): make roadmap-phase-fallback tests hermetic against ambient GSD env by @trek-e in #873
  • fix(#866): route profile-pipeline temp output under reaped root + fixture teardown by @trek-e in #879
  • fix(#875): make getMilestonePhaseFilter fence-aware by @trek-e in #880
  • fix(#904): normalize phase number in init.execute-phase branch_name by @trek-e in #909
  • fix(#891): probe non-Claude runtime homes in gsd-tools launcher shim detection by @trek-e in #911
  • fix(#892): parse checklist-style roadmap phases in validate/verify by @trek-e in #908
  • fix(#905): preserve STATE.md frontmatter scalars in syncStateFrontmatter by @trek-e in #907
  • fix(#913): guard top-level Claude Code plan-phase against role collapse by @trek-e in #915
  • fix(#916): deterministic phase-complete subprocess in regression tests by @trek-e in #917
  • fix(#925): context monitor echoes the invoking hook event name by @trek-e in #927
  • fix(#921,#922): orchestrators must not fork; plan-phase Agent gate is attempt-based by @trek-e in #926
  • fix(#924): revert Claude to flat skill layout so concrete skills are discoverable by @trek-e in #928
  • fix(#929): cmdSkillManifest discovers nested concrete skills by @trek-e in #933
  • fix(#935): install changeset CLI so /gsd-update changelog preview works by @trek-e in #938
  • fix(#936): run plan-phase inline in convergence; guard against nested spawner wraps by @trek-e in #939
  • fix(#934): reapply verifier handles missing pristine baseline post-rename by @trek-e in #937
  • fix(#941): track managed-hooks-registry.cjs in file manifest by @trek-e in #953
  • fix(#948): guard STATE.md no-op writes; preserve milestone_name/stopped_at (closes #944) by @trek-e in #952
  • fix(#950): emit status: complete in quick-task SUMMARY frontmatter by @trek-e in #951
  • fix(#947): restore gsd- prefix on Hermes skills for canonical dispatch by @trek-e in #955
  • fix(#851): correct Codex quick adapter for generic multi_agent_v1 schema by @trek-e in #958
  • fix(#970): ratchet --update drift repair + inherited-drift guidance by @Solvely-Colin in #971
  • fix(#978): parse --force in milestone complete dispatcher so the guard's documented override works by @trek-e in #982
  • fix(#965): emit structured json error for unexpected handler throws under --json-errors by @trek-e in #987
  • fix(#973): add Edit to gsd-planner tools and forbid whole-file Write of ROADMAP.md by @trek-e in #989
  • fix(#976): detect command+args (wrapped) hook registrations in installer presence checks by @trek-e in #994
  • fix(#974): error on graphify --budget with missing/non-numeric value instead of silent NaN no-op by @trek-e in #986
  • fix(#967): make verify key-links docs author-strict (from:/to: are file paths; symbols go in via:) by @trek-e in #990
  • fix(#977): map ephemeral fnm multishell execPath to a stable fnm alias in normalizeNodePath by @trek-e in #992
  • fix(codex): avoid partial model effort pinning by @radioflyer28 in #842
  • fix(#983): rewrite bare .claude paths in Trae/Windsurf converters (Codex/Cline parity) by @trek-e in #995
  • fix(#1001): make bug-969 hardening tests hermetic + move build tsbuildinfo out of shipped tree (regression from #996) by @trek-e in #1002
  • fix(#991): inject configured agent_skills into code-review family subagents by @trek-e in #1005
  • fix(#725): route Codex gsd-tools calls through shim by @jeremymcs in #731
  • fix(#724): block convergence on actionable review findings by @jeremymcs in #728
  • fix(#1006): rc CHANGELOG preview crash on malformed changeset fragment + validate fragment content at the gate by @trek-e in #1007
  • fix(#711): wire autonomous convergence flag by @jeremymcs in #729

New Contributors

Full Changelog: v1.3.1...v1.5.0-rc.1

Don't miss a new gsd-core release

NewReleases is sending notifications on new releases.