Files
msd-core/docs/RELEASE-v1.40.0-rc.1.md
Tom Boucher 334a64168e chore(npm): rebrand packages to @opengsd scope (#127)
* chore(npm): rebrand packages to @opengsd scope

Rename:
- get-shit-done-redux → @opengsd/get-shit-done-redux
- @gsd-redux/sdk → @opengsd/gsd-sdk

Add publishConfig.access=public for first-time scoped publish.
CLI binary names (get-shit-done-redux, gsd-sdk, gsd-tools) unchanged.

Sweeps install commands, npx invocations, CI publish/version-check
workflows, tests, docs, READMEs (all translations), and the
PACKAGE_NAME constant in check-latest-version.

Bumps qs 6.15.1 → 6.15.2 to clear a moderate advisory surfaced by
the audit-clean test (GHSA-q8mj-m7cp-5q26).

Closes #126

* chore: pin 2.0.0 release + remove canary workflow

- Bump both packages 1.50.0-canary.0 → 2.0.0 for first @opengsd publish
- Remove .github/workflows/canary.yml and canary dist-tag handling in
  release.yml / release-sdk.yml
- Drop canary section from VERSIONING.md

Refs #126

* chore: address review findings + harden tarball-smoke timeout

- .changeset/opengsd-org-rename.md: match project's custom
  parse.cjs frontmatter (type: Changed / pr: 127); the scoped
  @changesets/cli keys were silently rejected.
- CONTEXT.md: drop two canary-stream policy lines and a dangling
  DEFECT.CANARY-VERSION-LEAK.cross-ref now that canary.yml is gone.
- tests/release-tarball-smoke.install.test.cjs: pass
  timeout: 600_000 for npm pack + global install; the 3-minute
  runNpm default was timing out on slower Docker hosts (cartographer).

Refs #126

* fix(sdk): add missing type/runtime devDependencies for build

prepublishOnly invokes tsc which couldn't resolve @types/node,
@types/ws, or synckit. They had been hoisted from root but were
not declared in sdk/'s own package.json — first publish from a
clean SDK tree failed.

Refs #126

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(ci): use npm pack stdout instead of glob to find tarball

`npm pack --silent` for a scoped package (@opengsd/get-shit-done-redux)
produces `opengsd-get-shit-done-redux-*.tgz`, not `get-shit-done-redux-*.tgz`.
Capture the filename from stdout instead of a hardcoded glob so the step
works regardless of package name format.

Fixes smoke (ubuntu-latest, 22, false) CI failure.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* ci: treat workflow-file changes as test-skip eligible

`.github/workflows/install-smoke.yml` (and other workflow files)
were in neither `test.yml` paths nor `test-skip.yml` paths-ignore,
so neither workflow ran on a workflow-only commit — leaving the
required test-skip check perpetually missing.

Refs #126

* chore: reset version to 1.0.0 for first @opengsd publish

Nothing has been published yet under the @opengsd scope, so the
inaugural release uses 1.0.0 rather than 2.0.0. The "major bump"
in the changeset reflects the breaking install-command change for
users migrating from the prior unscoped `get-shit-done-redux`, not
a numeric continuation from a 1.x line under the new identity.

Refs #126

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-22 16:22:41 -04:00

137 lines
6.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# v1.40.0-rc.1 Release Notes
Pre-release candidate. Published to npm under the `next` tag.
```bash
npx @opengsd/get-shit-done-redux@next
```
---
## What's in this release
rc.1 opens the 1.40.0 train. The headline change is the **skill-surface
consolidation** ([#2790](https://github.com/GSD-redux/get-shit-done-redux/issues/2790))
and the new **two-stage hierarchical namespace routing** that sits on top of it
([#2792](https://github.com/GSD-redux/get-shit-done-redux/issues/2792)) — together
they drop the cold-start system-prompt overhead from ~2,150 tokens (86 flat skills)
to ~120 tokens (6 namespace routers). The release also adds the read-side of the
phase-lifecycle status-line, hardens multi-runtime installs, and clears a backlog of
correctness fixes for Gemini, Copilot, Codex, and the canary publish workflow.
### Added
- **Six namespace meta-skills with keyword-tag descriptions** — replace the flat
86-skill listing with a two-stage hierarchical routing layer. The model sees 6
namespace routers (`gsd:workflow`, `gsd:project`, `gsd:review`, `gsd:context`,
`gsd:manage`, `gsd:ideate`) instead of 86 entries; selects a namespace, then routes
to the sub-skill. Existing sub-skills are unchanged and still invocable directly.
([#2792](https://github.com/GSD-redux/get-shit-done-redux/issues/2792))
- **`/gsd-health --context` utilization guard** — context-window quality guard with
two thresholds: 60 % warns ("consider `/gsd-thread`"), 70 % is critical ("reasoning
quality may degrade"). Also exposed as `gsd-tools validate context`.
([#2792](https://github.com/GSD-redux/get-shit-done-redux/issues/2792))
- **Phase-lifecycle status-line — read-side** — `parseStateMd()` now reads four new
STATE.md frontmatter fields: `active_phase`, `next_action`, `next_phases`, and
`progress`. `formatGsdState()` gains scenes for in-flight, idle, and progress
display. Write-side wiring follows in a later RC.
([#2833](https://github.com/GSD-redux/get-shit-done-redux/issues/2833))
- **`--minimal` install flag** (alias `--core-only`) — writes only the six core
skills needed for the main workflow loop; no `gsd-*` subagents. Drops cold-start
overhead from ~12k tokens to ~700. Useful for local LLMs with 32K–128K context.
([#2762](https://github.com/GSD-redux/get-shit-done-redux/issues/2762))
### Changed
- **Skill surface consolidated 86 → 59 `commands/gsd/*.md` entries** — four new
grouped skills replace clusters of micro-skills (`capture`, `phase`, `config`,
`workspace`); six existing parents absorb wrap-up and sub-operations as flags
(`update --sync/--reapply`, `sketch --wrap-up`, `spike --wrap-up`,
`map-codebase --fast/--query`, `code-review --fix`, `progress --do/--next`).
Zero functional loss — 31 micro-skills deleted, all behavior preserved via flags.
([#2790](https://github.com/GSD-redux/get-shit-done-redux/issues/2790))
- **Canary release workflow now publishes from `dev` branch only** — aligns with
the branch→dist-tag policy (`dev` → `@canary`, `main` → `@next`/`@latest`).
`workflow_dispatch` on `main` now completes build/test/dry-run validation but
skips publish and tag.
([#2868](https://github.com/GSD-redux/get-shit-done-redux/issues/2868))
- **PRs missing `Closes #NNN` are auto-closed** — the `Issue link required`
workflow now auto-closes any PR opened without a closing keyword, posting a
comment that points to the contribution guide.
([#2872](https://github.com/GSD-redux/get-shit-done-redux/issues/2872))
### Fixed
- **Gemini slash commands now namespaced as `/gsd:<cmd>` instead of `/gsd-<cmd>`** —
Gemini CLI namespaces commands under `gsd:` so `/gsd-plan-phase` was unexecutable.
The install path now converts every body-text reference via a roster-checked regex,
consistently rewriting command files, agent bodies, and banners.
([#2768](https://github.com/GSD-redux/get-shit-done-redux/issues/2768),
[#2783](https://github.com/GSD-redux/get-shit-done-redux/issues/2783))
- **GSD slash-command namespace drift cleaned up across docs, workflows, and
autocomplete** — remaining stale `/gsd:<cmd>` references now use canonical
`/gsd-<cmd>`; `scripts/fix-slash-commands.cjs` rewrites retired colon syntax.
([#2858](https://github.com/GSD-redux/get-shit-done-redux/pull/2858))
- **`SKILL.md` description quoted for Copilot / Antigravity / Trae / CodeBuddy** —
descriptions starting with a YAML 1.2 flow indicator crashed gh-copilot's strict
YAML loader. Six emission sites now wrap descriptions in `yamlQuote(...)`.
([#2876](https://github.com/GSD-redux/get-shit-done-redux/issues/2876))
- **`gsd-tools` invocations use the absolute installed path** — bare `gsd-tools …`
calls inside skill bodies relied on PATH resolution not guaranteed in every runtime;
replaced with the absolute path emitted at install time.
([#2851](https://github.com/GSD-redux/get-shit-done-redux/issues/2851))
- **Codex installer preserves trailing newline when stripping legacy hooks** — the
legacy-hook strip ran against files with no terminating newline at EOF, breaking
downstream parsers.
([#2866](https://github.com/GSD-redux/get-shit-done-redux/issues/2866))
---
## What was in rc.7
[`RELEASE-v1.39.0-rc.7.md`](RELEASE-v1.39.0-rc.7.md) — first 1.39.0 RC to roll in
post-rc.5 fixes from `main`. Includes the `extractCurrentMilestone` fenced-code-block
fix ([#2787](https://github.com/GSD-redux/get-shit-done-redux/issues/2787)), `audit-uat`
frontmatter parse fix ([#2788](https://github.com/GSD-redux/get-shit-done-redux/issues/2788)),
skill description budget + lint gate ([#2789](https://github.com/GSD-redux/get-shit-done-redux/issues/2789)),
`gsd-sdk` workstream + binary-collision fixes ([#2791](https://github.com/GSD-redux/get-shit-done-redux/issues/2791)),
and nine additional correctness fixes across OpenCode, Codex, and Gemini runtimes.
---
## Installing the pre-release
```bash
# npm
npm install -g @opengsd/get-shit-done-redux@next
# npx (one-shot)
npx @opengsd/get-shit-done-redux@next
```
To pin to this exact RC:
```bash
npm install -g @opengsd/get-shit-done-redux@1.40.0-rc.1
```
---
## What's next
- Soak rc.1 against real installs across Claude Code, Codex, Copilot, Gemini,
OpenCode, and Antigravity runtimes.
- Wire write-side phase-lifecycle status-line on top of the
[#2833](https://github.com/GSD-redux/get-shit-done-redux/issues/2833) read-side.
- Run `finalize` on the release workflow to promote `1.40.0` to `latest` once
the train has soaked.