diff --git a/.changeset/fix-3406-detect-stale-sdk-shadow.md b/.changeset/fix-3406-detect-stale-sdk-shadow.md index 989a9fbd7..73bea4d59 100644 --- a/.changeset/fix-3406-detect-stale-sdk-shadow.md +++ b/.changeset/fix-3406-detect-stale-sdk-shadow.md @@ -2,4 +2,4 @@ type: Fixed pr: 3641 --- -**Install-time warning when a stale `@gsd-build/sdk` shadows the bundled `gsd-sdk` shim** — global installs now run `npm ls -g @gsd-build/sdk` and, if the standalone 0.1.0 package is present (it never received `query` subcommand support), print a clear remediation block before the install completes. Detection is fail-closed: any npm/exec error silently returns no-stale. Gated by `GSD_SKIP_STALE_SDK_CHECK=1` for CI/test environments. Resolves #3406. +**Install-time warning when a stale `@open-gsd/sdk` shadows the bundled `gsd-sdk` shim** — global installs now run `npm ls -g @open-gsd/sdk` and, if the standalone 0.1.0 package is present (it never received `query` subcommand support), print a clear remediation block before the install completes. Detection is fail-closed: any npm/exec error silently returns no-stale. Gated by `GSD_SKIP_STALE_SDK_CHECK=1` for CI/test environments. Resolves #3406. diff --git a/.changeset/sharp-quails-leap.md b/.changeset/sharp-quails-leap.md index d200116f5..8352a0006 100644 --- a/.changeset/sharp-quails-leap.md +++ b/.changeset/sharp-quails-leap.md @@ -2,4 +2,4 @@ type: Added pr: 3558 --- -**`executeForCjs` synchronous primitive on the SDK runtime bridge** — new sync entry point at `@gsd-build/sdk/dist/runtime-bridge-sync` that lets CJS callers (the `gsd-tools.cjs` dispatcher and per-family `*-command-router.cjs` files) invoke SDK query handlers in-process without spawning a subprocess and without breaking the synchronous CJS contract that ~21 CJS test files and 100+ consumers depend on. Implemented with `synckit` (Atomics.wait on a SharedArrayBuffer in a pooled Worker thread). First-call cost ~80ms (Worker startup + native bridge construction); steady-state ~0.1ms per call after the Worker warms. Returns a typed sync result `{ ok, data | errorKind, exitCode, errorDetails?, stderrLines }` aligned with the ADR-0001 Dispatch Policy Module error taxonomy. Foundation for the Phase 5 per-family CJS router migrations (state.*, verify.*, init.*, phase.*, phases.*, validate.*, roadmap.*, frontmatter.*, config.*) that follow as separate enhancements. +**`executeForCjs` synchronous primitive on the SDK runtime bridge** — new sync entry point at `@open-gsd/sdk/dist/runtime-bridge-sync` that lets CJS callers (the `gsd-tools.cjs` dispatcher and per-family `*-command-router.cjs` files) invoke SDK query handlers in-process without spawning a subprocess and without breaking the synchronous CJS contract that ~21 CJS test files and 100+ consumers depend on. Implemented with `synckit` (Atomics.wait on a SharedArrayBuffer in a pooled Worker thread). First-call cost ~80ms (Worker startup + native bridge construction); steady-state ~0.1ms per call after the Worker warms. Returns a typed sync result `{ ok, data | errorKind, exitCode, errorDetails?, stderrLines }` aligned with the ADR-0001 Dispatch Policy Module error taxonomy. Foundation for the Phase 5 per-family CJS router migrations (state.*, verify.*, init.*, phase.*, phases.*, validate.*, roadmap.*, frontmatter.*, config.*) that follow as separate enhancements. diff --git a/.coderabbit.yaml b/.coderabbit.yaml index b6895b52a..d57df6e1d 100644 --- a/.coderabbit.yaml +++ b/.coderabbit.yaml @@ -1,4 +1,4 @@ -# CodeRabbit configuration — GSD-redux/get-shit-done-redux +# CodeRabbit configuration — open-gsd/get-shit-done-redux # # Schema: https://docs.coderabbit.ai/reference/yaml-template/ # diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index c4a620dd3..32bef1b26 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,11 +1,11 @@ blank_issues_enabled: false contact_links: - name: "⚠️ v1.31.0 not on npm yet (known issue — workaround inside)" - url: https://github.com/GSD-redux/get-shit-done-redux/discussions + url: https://github.com/open-gsd/get-shit-done-redux/discussions about: v1.31.0 was not published to npm due to a hardware failure. Read the pinned announcement for the workaround before opening an issue. - name: Discord Community url: https://discord.gg/mYgfVNfA2r about: Ask questions and get help from the community - name: Discussions - url: https://github.com/GSD-redux/get-shit-done-redux/discussions + url: https://github.com/open-gsd/get-shit-done-redux/discussions about: Share ideas or ask general questions diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index a168d4df4..ddd89073d 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -11,7 +11,7 @@ body: A feature adds something new to GSD — a new command, workflow, concept, or integration. Features have the **highest bar** for acceptance because every feature adds permanent maintenance burden to a project built for solo developers. **Before opening this issue:** - - Check [Discussions](https://github.com/GSD-redux/get-shit-done-redux/discussions) — has this been proposed and declined before? + - Check [Discussions](https://github.com/open-gsd/get-shit-done-redux/discussions) — has this been proposed and declined before? - Read [CONTRIBUTING.md](../../CONTRIBUTING.md#-feature) — understand what "approved-feature" means and why you must wait for it before writing code. - Ask yourself: *does this solve a real problem for a solo developer working with an AI coding tool, or is it a feature I personally want?* diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index ec53b83c3..f850a08c4 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -17,7 +17,7 @@ Select the template that matches your PR: - If it **corrects broken behavior** → Fix - If it **improves existing behavior** without adding new commands or concepts → Enhancement - If it **adds something that doesn't exist today** → Feature -- If you are not sure → open a [Discussion](https://github.com/GSD-redux/get-shit-done-redux/discussions) first +- If you are not sure → open a [Discussion](https://github.com/open-gsd/get-shit-done-redux/discussions) first --- diff --git a/.github/workflows/hotfix.yml b/.github/workflows/hotfix.yml index a32b99ec5..4228aec7c 100644 --- a/.github/workflows/hotfix.yml +++ b/.github/workflows/hotfix.yml @@ -18,7 +18,7 @@ name: Hotfix Release # - install-smoke gate (cross-platform, parity with release.yml/release-sdk.yml) # - Bundles SDK as both loose tree (sdk/dist/cli.js) and recoverable tarball # (sdk-bundle/gsd-sdk.tgz) — parity with release-sdk.yml so a hotfix shipped -# during the @gsd-build-token outage carries the same payload shape. +# during the @open-gsd-token outage carries the same payload shape. # - Publishes to @latest, tags vX.YY.Z, re-points @next → vX.YY.Z, opens # merge-back PR. @@ -332,7 +332,7 @@ jobs: set -e cd sdk npm pack - TARBALL="gsd-build-sdk-${VERSION}.tgz" + TARBALL="open-gsd-sdk-${VERSION}.tgz" if [ ! -f "$TARBALL" ]; then echo "::error::Expected $TARBALL but npm pack did not produce it." ls -la diff --git a/.github/workflows/release-sdk.yml b/.github/workflows/release-sdk.yml index f7dc56ef5..ff56c52ef 100644 --- a/.github/workflows/release-sdk.yml +++ b/.github/workflows/release-sdk.yml @@ -6,7 +6,7 @@ # per run. # # Why this exists: @gsd-redux/sdk publishes from canary.yml and release.yml -# fail because the @gsd-build npm token is currently unavailable. CC users +# fail because the @open-gsd npm token is currently unavailable. CC users # do not consume @gsd-redux/sdk directly — bin/gsd-sdk.js resolves # sdk/dist/cli.js from inside the installed CC package, so the bundled # copy is sufficient for full functionality. This workflow ships CC alone @@ -579,8 +579,8 @@ jobs: set -e cd sdk npm pack - # npm pack emits gsd-build-sdk-.tgz in the cwd - TARBALL="gsd-build-sdk-${VERSION}.tgz" + # npm pack emits open-gsd-sdk-.tgz in the cwd + TARBALL="open-gsd-sdk-${VERSION}.tgz" if [ ! -f "$TARBALL" ]; then echo "::error::Expected $TARBALL but npm pack did not produce it. Listing sdk/:" ls -la diff --git a/.out-of-scope/agent-template-rendering.md b/.out-of-scope/agent-template-rendering.md index 44928dac1..53dbc86b6 100644 --- a/.out-of-scope/agent-template-rendering.md +++ b/.out-of-scope/agent-template-rendering.md @@ -1,6 +1,6 @@ # Render agent definitions from templates at install/config-change time -**Source:** [#2758](https://github.com/GSD-redux/get-shit-done-redux/issues/2758) +**Source:** [#2758](https://github.com/open-gsd/get-shit-done-redux/issues/2758) **Decision:** wontfix — closed on the technical merits **Date:** 2026-05-02 diff --git a/.out-of-scope/temporal-context.md b/.out-of-scope/temporal-context.md index 8836527c6..8732d5e9f 100644 --- a/.out-of-scope/temporal-context.md +++ b/.out-of-scope/temporal-context.md @@ -1,6 +1,6 @@ # Temporal context as a first-class GSD signal -**Source:** [#2756](https://github.com/GSD-redux/get-shit-done-redux/issues/2756) +**Source:** [#2756](https://github.com/open-gsd/get-shit-done-redux/issues/2756) **Decision:** wontfix — closed without further engagement **Date:** 2026-05-02 diff --git a/.release-monitor.sh b/.release-monitor.sh index ef32a986b..c36937f41 100755 --- a/.release-monitor.sh +++ b/.release-monitor.sh @@ -1,8 +1,8 @@ #!/usr/bin/env bash -# Release monitor for GSD-redux/get-shit-done-redux +# Release monitor for open-gsd/get-shit-done-redux # Checks every 15 minutes, writes new release info to a signal file -REPO="GSD-redux/get-shit-done-redux" +REPO="open-gsd/get-shit-done-redux" SIGNAL_FILE="/tmp/gsd-new-release.json" STATE_FILE="/tmp/gsd-monitor-last-tag" LOG_FILE="/tmp/gsd-monitor.log" diff --git a/CONTEXT.md b/CONTEXT.md index c03197e82..49da3dd89 100644 --- a/CONTEXT.md +++ b/CONTEXT.md @@ -193,7 +193,7 @@ Five-axis story decomposition discipline (**S**pike, **P**aths, **I**nterfaces, ## Workspace seams (machine-oriented predicates) `RULESET.GH.AUTH.DEFAULT=source .envrc GITHUB_TOKEN before gh; exception=ambient allowed only when user explicitly says machine-only fallback` -`RULESET.CODERABBIT.GUARD.OPEN_PRS=gh pr list --repo GSD-redux/get-shit-done-redux --author @me --state open; repeat near end because open PR set can change mid-run` +`RULESET.CODERABBIT.GUARD.OPEN_PRS=gh pr list --repo open-gsd/get-shit-done-redux --author @me --state open; repeat near end because open PR set can change mid-run` `RULESET.CODERABBIT.GUARD.COMPLETE=required_checks_green && coderabbit_check_pass && graphQL(reviewThreads.unresolved_count)==0` `RULESET.CODERABBIT.GUARD.GRAPHQL=reviewThreads(first:100){nodes{id isResolved comments{nodes{author body path line originalLine url}}}}; use unresolved threads as authoritative, not badge text alone` `RULESET.CODERABBIT.GUARD.RERUN=after every push wait for CodeRabbit completion, then re-query unresolved threads; CodeRabbit can add new findings after earlier threads were resolved` @@ -256,7 +256,7 @@ Five-axis story decomposition discipline (**S**pike, **P**aths, **I**nterfaces, `RELEASE-NOTES.STANDARD.footer.hotfix=Install/upgrade: \`npx get-shit-done-redux@latest\`` `RELEASE-NOTES.STANDARD.footer.rc=Install for testing: \`npx get-shit-done-redux@next\` (per branch->dist-tag policy)` `RELEASE-NOTES.STANDARD.footer.canary=Install: \`npx get-shit-done-redux@canary\`` -`RELEASE-NOTES.STANDARD.footer.full-changelog=**Full Changelog**: https://github.com/GSD-redux/get-shit-done-redux/compare/...` +`RELEASE-NOTES.STANDARD.footer.full-changelog=**Full Changelog**: https://github.com/open-gsd/get-shit-done-redux/compare/...` `RELEASE-NOTES.STANDARD.intro=optional one-paragraph framing for RC/feature releases; omit for pure-fix hotfixes` `RELEASE-NOTES.SOURCE.commits=git log .. --pretty=format:'%s%n%n%b' --no-merges` @@ -273,8 +273,8 @@ Five-axis story decomposition discipline (**S**pike, **P**aths, **I**nterfaces, `RELEASE-NOTES.ANTI-PATTERN.implementation-first=do not lead bullet with file path or function name; lead with symptom/user-visible behavior` `RELEASE-NOTES.ANTI-PATTERN.risk-commentary=do not include "may break", "be careful", "test thoroughly" - per global CLAUDE.md no-risk-commentary rule` -`RELEASE-NOTES.EXAMPLE.hotfix=v1.41.1 (https://github.com/GSD-redux/get-shit-done-redux/releases/tag/v1.41.1) - 14 fixes grouped by 6 subgroups` -`RELEASE-NOTES.EXAMPLE.rc=v1.42.0-rc1 (https://github.com/GSD-redux/get-shit-done-redux/releases/tag/v1.42.0-rc1) - intro + Added/Changed/Fixed/Documentation taxonomy` +`RELEASE-NOTES.EXAMPLE.hotfix=v1.41.1 (https://github.com/open-gsd/get-shit-done-redux/releases/tag/v1.41.1) - 14 fixes grouped by 6 subgroups` +`RELEASE-NOTES.EXAMPLE.rc=v1.42.0-rc1 (https://github.com/open-gsd/get-shit-done-redux/releases/tag/v1.42.0-rc1) - intro + Added/Changed/Fixed/Documentation taxonomy` `RELEASE-NOTES.EXAMPLE.minor-auto-acceptable=v1.41.0 - kept auto-generated body; many small fixes with clean conventional-commit titles` `RELEASE-NOTES.TEMPLATE.hotfix=## Fixed\n\n### \n- **** — . (#)\n\n---\n\nInstall/upgrade: \`npx get-shit-done-redux@latest\`\n\n**Full Changelog**: ` @@ -594,7 +594,7 @@ Migration plan: Phase 1 (#3465) seam additions complete; Phase 2 (#3466) targets `DEFECT.GSD-TEST-CONCURRENT-OUTPUT-COLLISION.root-cause=gsd-test-summary lines 126-127 default LOCAL_OUT/DOCKER_OUT to fixed /tmp/gsd-test-{local,docker}.jsonl; concurrent line-buffered writers interleave bytes mid-multibyte → split UTF-8 sequence → decoder explodes on f.read()` `DEFECT.GSD-TEST-CONCURRENT-OUTPUT-COLLISION.detect=two gsd-test-summary --both runs in flight; UnicodeDecodeError in parse_events_from_string traceback; /tmp/gsd-test-*.jsonl size mismatch vs total events emitted` `DEFECT.GSD-TEST-CONCURRENT-OUTPUT-COLLISION.fix-forward=set per-invocation LOCAL_OUT=/tmp/gsd-test--local.jsonl DOCKER_OUT=/tmp/gsd-test--docker.jsonl env vars; or serialize the runs; upstream fix tracked in #3545 (default to tempfile.mkstemp + advisory flock)` -`DEFECT.GSD-TEST-CONCURRENT-OUTPUT-COLLISION.upstream=GSD-redux/get-shit-done-redux#3545` +`DEFECT.GSD-TEST-CONCURRENT-OUTPUT-COLLISION.upstream=open-gsd/get-shit-done-redux#3545` `DEFECT.SUBAGENT-LONG-RUNNING-BG-STALL.symptom=spawned sub-agent kicks off gsd-test-summary --both via Bash run_in_background, then stops on the harness "you will be notified" message; never receives the notification because cross-turn task-notifications are only delivered to the top-level orchestrator` `DEFECT.SUBAGENT-LONG-RUNNING-BG-STALL.detect=sub-agent returns prematurely with text like "I should wait for the notification per CLAUDE.md" and incomplete work in its worktree (commits absent, push absent, PR absent)` `DEFECT.SUBAGENT-LONG-RUNNING-BG-STALL.fix-forward=keep gsd-test-summary --both at the top-level orchestrator; sub-agents either run it foreground with timeout: 1500000 (25min) and block, OR delegate the test step back to the orchestrator (write commits + return); never have a sub-agent fire-and-await a backgrounded long task` diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f9d6cff7d..2ef4da02d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,7 +4,7 @@ ```bash # Clone the repo -git clone https://github.com/GSD-redux/get-shit-done-redux.git +git clone https://github.com/open-gsd/get-shit-done-redux.git cd get-shit-done # Install dependencies @@ -25,7 +25,7 @@ GSD accepts three types of contributions. Each type has a different process and A fix corrects something that is broken, crashes, produces wrong output, or behaves contrary to documented behavior. **Process:** -1. Open a [Bug Report issue](https://github.com/GSD-redux/get-shit-done-redux/issues/new?template=bug_report.yml) — fill it out completely. +1. Open a [Bug Report issue](https://github.com/open-gsd/get-shit-done-redux/issues/new?template=bug_report.yml) — fill it out completely. 2. Wait for a maintainer to confirm it is a bug (label: `confirmed-bug`). For obvious, reproducible bugs this is typically fast. 3. Fix it. Write a test that would have caught the bug. 4. Open a PR using the [Fix PR template](.github/PULL_REQUEST_TEMPLATE/fix.md) — link the confirmed issue. @@ -41,7 +41,7 @@ An enhancement improves an existing feature — better output, faster execution, **The bar:** Enhancements must have a scoped written proposal approved by a maintainer before any code is written. A PR for an enhancement will be closed without review if the linked issue does not carry the `approved-enhancement` label. **Process:** -1. Open an [Enhancement issue](https://github.com/GSD-redux/get-shit-done-redux/issues/new?template=enhancement.yml) with the full proposal. The issue template requires: the problem being solved, the concrete benefit, the scope of changes, and alternatives considered. +1. Open an [Enhancement issue](https://github.com/open-gsd/get-shit-done-redux/issues/new?template=enhancement.yml) with the full proposal. The issue template requires: the problem being solved, the concrete benefit, the scope of changes, and alternatives considered. 2. **Wait for maintainer approval.** A maintainer must label the issue `approved-enhancement` before you write a single line of code. Do not open a PR against an unapproved enhancement issue — it will be closed. 3. Write the code. Keep the scope exactly as approved. If scope creep occurs, comment on the issue and get re-approval before continuing. 4. Open a PR using the [Enhancement PR template](.github/PULL_REQUEST_TEMPLATE/enhancement.md) — link the approved issue. @@ -57,8 +57,8 @@ A feature adds something new — a new command, a new workflow, a new concept, a **The bar:** Features require a complete written specification approved by a maintainer before any code is written. A PR for a feature will be closed without review if the linked issue does not carry the `approved-feature` label. Incomplete specs are closed, not revised by maintainers. **Process:** -1. **Discuss first** — check [Discussions](https://github.com/GSD-redux/get-shit-done-redux/discussions) to see if the idea has been raised. If it has and was declined, don't open a new issue. -2. Open a [Feature Request issue](https://github.com/GSD-redux/get-shit-done-redux/issues/new?template=feature_request.yml) with the complete spec. The template requires: the solo-developer problem being solved, what is being added, full scope of affected files and systems, user stories, acceptance criteria, and assessment of maintenance burden. +1. **Discuss first** — check [Discussions](https://github.com/open-gsd/get-shit-done-redux/discussions) to see if the idea has been raised. If it has and was declined, don't open a new issue. +2. Open a [Feature Request issue](https://github.com/open-gsd/get-shit-done-redux/issues/new?template=feature_request.yml) with the complete spec. The template requires: the solo-developer problem being solved, what is being added, full scope of affected files and systems, user stories, acceptance criteria, and assessment of maintenance burden. 3. **Wait for maintainer approval.** A maintainer must label the issue `approved-feature` before you write a single line of code. Approval is not guaranteed — GSD is intentionally lean and many valid ideas are declined because they conflict with the project's design philosophy. 4. Write the code. Implement exactly the approved spec. Changes to scope require re-approval. 5. Open a PR using the [Feature PR template](.github/PULL_REQUEST_TEMPLATE/feature.md) — link the approved issue. @@ -146,7 +146,7 @@ npm run changeset -- --type Fixed --pr \ This writes `.changeset/--.md`. Three random words → concurrent PRs never collide. Allowed `type:` values follow [Keep a Changelog](https://keepachangelog.com/): `Added`, `Changed`, `Deprecated`, `Removed`, `Fixed`, `Security`. -Fragments are consolidated into `CHANGELOG.md` at release time by the release workflow. See [`.changeset/README.md`](.changeset/README.md) for the format spec and [#2975](https://github.com/GSD-redux/get-shit-done-redux/issues/2975) for the rationale. +Fragments are consolidated into `CHANGELOG.md` at release time by the release workflow. See [`.changeset/README.md`](.changeset/README.md) for the format spec and [#2975](https://github.com/open-gsd/get-shit-done-redux/issues/2975) for the rationale. **CI enforcement:** the `Changeset Required` workflow (`scripts/changeset/lint.cjs`) fails any PR that touches `bin/`, `get-shit-done/`, `agents/`, `commands/`, `hooks/`, or `sdk/src/` without a `.changeset/*.md` fragment. @@ -154,7 +154,7 @@ Fragments are consolidated into `CHANGELOG.md` at release time by the release wo ## Documentation Updates — Update the Relevant Docs -If your PR adds, changes, deprecates, or removes user-visible behavior, you **must** update the relevant documentation in `docs/`. CI will fail any PR whose changeset fragment is typed `Added`, `Changed`, `Deprecated`, or `Removed` without also modifying at least one file under `docs/` ([#3213](https://github.com/GSD-redux/get-shit-done-redux/issues/3213)). +If your PR adds, changes, deprecates, or removes user-visible behavior, you **must** update the relevant documentation in `docs/`. CI will fail any PR whose changeset fragment is typed `Added`, `Changed`, `Deprecated`, or `Removed` without also modifying at least one file under `docs/` ([#3213](https://github.com/open-gsd/get-shit-done-redux/issues/3213)). `Fixed` and `Security` fragments do not trigger this lint — bug fixes restore documented behavior, they do not introduce new behavior to document. (Edit the docs anyway if a fix corrects something the docs got wrong.) diff --git a/QUICK-WINS-CONFIRMED-BUGS.md b/QUICK-WINS-CONFIRMED-BUGS.md index 2dda4ac9a..9c0aa3c8c 100644 --- a/QUICK-WINS-CONFIRMED-BUGS.md +++ b/QUICK-WINS-CONFIRMED-BUGS.md @@ -15,12 +15,12 @@ All six issues carry the `confirmed-bug` label, meaning the bug has been verifie | # | Issue | Short Title | Type | Recommended Flow | Est. Effort | Status | Notes | |---|-------|-------------|------|------------------|-------------|--------|-------| -| 1 | [#3583](https://github.com/GSD-redux/get-shit-done-redux/issues/3583) | Claude skill install leaves `/gsd:` in `SKILL.md` body | Installer / Command namespace | PR 3629 (our branch) + competing 3586 | Small (1 file + test) | PR opened / Review | **Leading PR: 3629** (cristianuibar) — reviewed + hardened with CodeRabbit feedback (left-boundary regex + body-scoped guard). Competing PR 3586 has "needs changes" + "ci: failing". Issue still carries `confirmed-bug`. | -| 2 | [#3579](https://github.com/GSD-redux/get-shit-done-redux/issues/3579) | `build-hooks.js` + npm publish omit graphify auto-update hook | Packaging / Build | `/gsd-quick` | Small | Not started | Classic "new feature missed in release artifact". Easy local verification. | -| 3 | [#3496](https://github.com/GSD-redux/get-shit-done-redux/issues/3496) | `/gsd:update` changelog extraction skips intermediate versions | Workflow / Update logic | `/gsd-quick` or lightweight plan | Medium-small | Not started | Needs deterministic version-range helper. | -| 4 | [#3588](https://github.com/GSD-redux/get-shit-done-redux/issues/3588) | Production `npm audit` has 1 high + 5 moderate advisories | Security / Dependencies | Direct + careful review | Medium | Not started | Transitive via `@anthropic-ai/claude-agent-sdk`. May need overrides. | -| 5 | [#3584](https://github.com/GSD-redux/get-shit-done-redux/issues/3584) | Runtime `bin/lib/*.cjs` still emit `/gsd:` (larger piece deferred from #3583) | Runtime output / Slash formatter | Short plan first, then execute | Medium-Large | Not started | 16+ files. Design a centralized runtime-aware formatter. Do after #3583. | -| 6 | [#3340](https://github.com/GSD-redux/get-shit-done-redux/issues/3340) | SDK publish lag — agent dir fix never shipped in `@gsd-redux/sdk@0.1.0` | Release / SDK publishing | Plan + coordination | Medium (release-focused) | Not started | Oldest. Mostly a publishing/versioning task. | +| 1 | [#3583](https://github.com/open-gsd/get-shit-done-redux/issues/3583) | Claude skill install leaves `/gsd:` in `SKILL.md` body | Installer / Command namespace | PR 3629 (our branch) + competing 3586 | Small (1 file + test) | PR opened / Review | **Leading PR: 3629** (cristianuibar) — reviewed + hardened with CodeRabbit feedback (left-boundary regex + body-scoped guard). Competing PR 3586 has "needs changes" + "ci: failing". Issue still carries `confirmed-bug`. | +| 2 | [#3579](https://github.com/open-gsd/get-shit-done-redux/issues/3579) | `build-hooks.js` + npm publish omit graphify auto-update hook | Packaging / Build | `/gsd-quick` | Small | Not started | Classic "new feature missed in release artifact". Easy local verification. | +| 3 | [#3496](https://github.com/open-gsd/get-shit-done-redux/issues/3496) | `/gsd:update` changelog extraction skips intermediate versions | Workflow / Update logic | `/gsd-quick` or lightweight plan | Medium-small | Not started | Needs deterministic version-range helper. | +| 4 | [#3588](https://github.com/open-gsd/get-shit-done-redux/issues/3588) | Production `npm audit` has 1 high + 5 moderate advisories | Security / Dependencies | Direct + careful review | Medium | Not started | Transitive via `@anthropic-ai/claude-agent-sdk`. May need overrides. | +| 5 | [#3584](https://github.com/open-gsd/get-shit-done-redux/issues/3584) | Runtime `bin/lib/*.cjs` still emit `/gsd:` (larger piece deferred from #3583) | Runtime output / Slash formatter | Short plan first, then execute | Medium-Large | Not started | 16+ files. Design a centralized runtime-aware formatter. Do after #3583. | +| 6 | [#3340](https://github.com/open-gsd/get-shit-done-redux/issues/3340) | SDK publish lag — agent dir fix never shipped in `@gsd-redux/sdk@0.1.0` | Release / SDK publishing | Plan + coordination | Medium (release-focused) | Not started | Oldest. Mostly a publishing/versioning task. | ## Execution Rules for This Batch diff --git a/README.ja-JP.md b/README.ja-JP.md index 9eb3e6ea5..4bda16e0a 100644 --- a/README.ja-JP.md +++ b/README.ja-JP.md @@ -12,9 +12,9 @@ [![npm version](https://img.shields.io/npm/v/get-shit-done-redux?style=for-the-badge&logo=npm&logoColor=white&color=CB3837)](https://www.npmjs.com/package/get-shit-done-redux) [![npm downloads](https://img.shields.io/npm/dm/get-shit-done-redux?style=for-the-badge&logo=npm&logoColor=white&color=CB3837)](https://www.npmjs.com/package/get-shit-done-redux) -[![Tests](https://img.shields.io/github/actions/workflow/status/GSD-redux/get-shit-done-redux/test.yml?branch=main&style=for-the-badge&logo=github&label=Tests)](https://github.com/GSD-redux/get-shit-done-redux/actions/workflows/test.yml) +[![Tests](https://img.shields.io/github/actions/workflow/status/open-gsd/get-shit-done-redux/test.yml?branch=main&style=for-the-badge&logo=github&label=Tests)](https://github.com/open-gsd/get-shit-done-redux/actions/workflows/test.yml) [![Discord](https://img.shields.io/badge/Discord-Join-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/mYgfVNfA2r) -[![GitHub stars](https://img.shields.io/github/stars/GSD-redux/get-shit-done-redux?style=for-the-badge&logo=github&color=181717)](https://github.com/GSD-redux/get-shit-done-redux) +[![GitHub stars](https://img.shields.io/github/stars/open-gsd/get-shit-done-redux?style=for-the-badge&logo=github&color=181717)](https://github.com/open-gsd/get-shit-done-redux) [![License](https://img.shields.io/badge/license-MIT-blue?style=for-the-badge)](LICENSE)
@@ -77,7 +77,7 @@ GSDはそれを解決します。Claude Codeを信頼性の高いものにする ### v1.39.0 ハイライト -完全なリストは [v1.39.0 リリースノート](https://github.com/GSD-redux/get-shit-done-redux/releases/tag/v1.39.0) を参照してください。 +完全なリストは [v1.39.0 リリースノート](https://github.com/open-gsd/get-shit-done-redux/releases/tag/v1.39.0) を参照してください。 - **`--minimal` インストールプロファイル** — エイリアス `--core-only`。メインループの6スキル(`new-project`、`discuss-phase`、`plan-phase`、`execute-phase`、`help`、`update`)のみをインストールし、`gsd-*` サブエージェントはゼロ。コールドスタート時のシステムプロンプトのオーバーヘッドを ~12kトークンから ~700トークンへ削減(≥94%減)。32K〜128Kコンテキストのローカル LLM やトークン課金 API に有効。 - **`/gsd-phase --edit`** — `ROADMAP.md` 上の既存フェーズの任意フィールドをその場で編集(番号や位置は変更されない)。`--force` で確認 diff をスキップ、`depends_on` の参照を検証し、書き込み時に `STATE.md` も更新。 @@ -180,7 +180,7 @@ npx get-shit-done-redux --all --global # すべてのディレクトリに リポジトリをクローンしてインストーラーをローカルで実行します: ```bash -git clone https://github.com/GSD-redux/get-shit-done-redux.git +git clone https://github.com/open-gsd/get-shit-done-redux.git cd get-shit-done node bin/install.js --claude --local ``` @@ -847,11 +847,11 @@ OpenCode、Gemini CLI、Kilo、Codexは `npx get-shit-done-redux` でネイテ ## スター履歴 - + - - - Star History Chart + + + Star History Chart diff --git a/README.ko-KR.md b/README.ko-KR.md index 83f8bf619..e62eab054 100644 --- a/README.ko-KR.md +++ b/README.ko-KR.md @@ -12,9 +12,9 @@ [![npm version](https://img.shields.io/npm/v/get-shit-done-redux?style=for-the-badge&logo=npm&logoColor=white&color=CB3837)](https://www.npmjs.com/package/get-shit-done-redux) [![npm downloads](https://img.shields.io/npm/dm/get-shit-done-redux?style=for-the-badge&logo=npm&logoColor=white&color=CB3837)](https://www.npmjs.com/package/get-shit-done-redux) -[![Tests](https://img.shields.io/github/actions/workflow/status/GSD-redux/get-shit-done-redux/test.yml?branch=main&style=for-the-badge&logo=github&label=Tests)](https://github.com/GSD-redux/get-shit-done-redux/actions/workflows/test.yml) +[![Tests](https://img.shields.io/github/actions/workflow/status/open-gsd/get-shit-done-redux/test.yml?branch=main&style=for-the-badge&logo=github&label=Tests)](https://github.com/open-gsd/get-shit-done-redux/actions/workflows/test.yml) [![Discord](https://img.shields.io/badge/Discord-Join-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/mYgfVNfA2r) -[![GitHub stars](https://img.shields.io/github/stars/GSD-redux/get-shit-done-redux?style=for-the-badge&logo=github&color=181717)](https://github.com/GSD-redux/get-shit-done-redux) +[![GitHub stars](https://img.shields.io/github/stars/open-gsd/get-shit-done-redux?style=for-the-badge&logo=github&color=181717)](https://github.com/open-gsd/get-shit-done-redux) [![License](https://img.shields.io/badge/license-MIT-blue?style=for-the-badge)](LICENSE)
@@ -77,7 +77,7 @@ GSD가 그걸 고칩니다. Claude Code를 신뢰할 수 있게 만드는 컨텍 ### v1.39.0 하이라이트 -전체 목록은 [v1.39.0 릴리스 노트](https://github.com/GSD-redux/get-shit-done-redux/releases/tag/v1.39.0)를 참고하세요. +전체 목록은 [v1.39.0 릴리스 노트](https://github.com/open-gsd/get-shit-done-redux/releases/tag/v1.39.0)를 참고하세요. - **`--minimal` 설치 프로파일** — 별칭 `--core-only`. 메인 루프 6개 스킬(`new-project`, `discuss-phase`, `plan-phase`, `execute-phase`, `help`, `update`)만 설치하고 `gsd-*` 서브에이전트는 설치하지 않음. 콜드 스타트 시스템 프롬프트 오버헤드를 ~12k 토큰에서 ~700 토큰으로 축소(≥94% 감소). 32K–128K 컨텍스트의 로컬 LLM이나 토큰 과금 API에 유용. - **`/gsd-phase --edit`** — `ROADMAP.md`에 있는 기존 단계의 임의 필드를 그 자리에서 수정(번호와 위치는 변경되지 않음). `--force`는 확인 diff를 건너뛰고, `depends_on` 참조를 검증하며 쓰기 시 `STATE.md`도 갱신. @@ -180,7 +180,7 @@ npx get-shit-done-redux --all --global # 모든 디렉터리에 설치 저장소를 클론하고 설치 프로그램을 로컬에서 실행합니다: ```bash -git clone https://github.com/GSD-redux/get-shit-done-redux.git +git clone https://github.com/open-gsd/get-shit-done-redux.git cd get-shit-done node bin/install.js --claude --local ``` @@ -838,11 +838,11 @@ OpenCode, Gemini CLI, Kilo, Codex는 이제 `npx get-shit-done-redux`를 통해 ## 스타 히스토리 - + - - - Star History Chart + + + Star History Chart diff --git a/README.md b/README.md index c6f71f5e4..81d7820df 100644 --- a/README.md +++ b/README.md @@ -40,9 +40,9 @@ [![npm version](https://img.shields.io/npm/v/get-shit-done-redux?style=for-the-badge&logo=npm&logoColor=white&color=CB3837)](https://www.npmjs.com/package/get-shit-done-redux) [![npm downloads](https://img.shields.io/npm/dm/get-shit-done-redux?style=for-the-badge&logo=npm&logoColor=white&color=CB3837)](https://www.npmjs.com/package/get-shit-done-redux) -[![Tests](https://img.shields.io/github/actions/workflow/status/GSD-redux/get-shit-done-redux/test.yml?branch=main&style=for-the-badge&logo=github&label=Tests)](https://github.com/GSD-redux/get-shit-done-redux/actions/workflows/test.yml) +[![Tests](https://img.shields.io/github/actions/workflow/status/open-gsd/get-shit-done-redux/test.yml?branch=main&style=for-the-badge&logo=github&label=Tests)](https://github.com/open-gsd/get-shit-done-redux/actions/workflows/test.yml) [![Discord](https://img.shields.io/badge/Discord-Join-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/mYgfVNfA2r) -[![GitHub stars](https://img.shields.io/github/stars/GSD-redux/get-shit-done-redux?style=for-the-badge&logo=github&color=181717)](https://github.com/GSD-redux/get-shit-done-redux) +[![GitHub stars](https://img.shields.io/github/stars/open-gsd/get-shit-done-redux?style=for-the-badge&logo=github&color=181717)](https://github.com/open-gsd/get-shit-done-redux) [![License](https://img.shields.io/badge/license-MIT-blue?style=for-the-badge)](LICENSE)
@@ -277,11 +277,11 @@ Full troubleshooting and uninstall instructions in **[docs/USER-GUIDE.md](docs/U ## Star History - + - - - Star History Chart + + + Star History Chart diff --git a/README.pt-BR.md b/README.pt-BR.md index c5a1f8faf..f79ac8cc4 100644 --- a/README.pt-BR.md +++ b/README.pt-BR.md @@ -12,9 +12,9 @@ [![npm version](https://img.shields.io/npm/v/get-shit-done-redux?style=for-the-badge&logo=npm&logoColor=white&color=CB3837)](https://www.npmjs.com/package/get-shit-done-redux) [![npm downloads](https://img.shields.io/npm/dm/get-shit-done-redux?style=for-the-badge&logo=npm&logoColor=white&color=CB3837)](https://www.npmjs.com/package/get-shit-done-redux) -[![Tests](https://img.shields.io/github/actions/workflow/status/GSD-redux/get-shit-done-redux/test.yml?branch=main&style=for-the-badge&logo=github&label=Tests)](https://github.com/GSD-redux/get-shit-done-redux/actions/workflows/test.yml) +[![Tests](https://img.shields.io/github/actions/workflow/status/open-gsd/get-shit-done-redux/test.yml?branch=main&style=for-the-badge&logo=github&label=Tests)](https://github.com/open-gsd/get-shit-done-redux/actions/workflows/test.yml) [![Discord](https://img.shields.io/badge/Discord-Join-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/mYgfVNfA2r) -[![GitHub stars](https://img.shields.io/github/stars/GSD-redux/get-shit-done-redux?style=for-the-badge&logo=github&color=181717)](https://github.com/GSD-redux/get-shit-done-redux) +[![GitHub stars](https://img.shields.io/github/stars/open-gsd/get-shit-done-redux?style=for-the-badge&logo=github&color=181717)](https://github.com/open-gsd/get-shit-done-redux) [![License](https://img.shields.io/badge/license-MIT-blue?style=for-the-badge)](LICENSE)
@@ -75,7 +75,7 @@ Quality gates embutidos capturam problemas reais: detecção de schema drift sin ### Destaques v1.39.0 -Lista completa nas [notas de release v1.39.0](https://github.com/GSD-redux/get-shit-done-redux/releases/tag/v1.39.0). +Lista completa nas [notas de release v1.39.0](https://github.com/open-gsd/get-shit-done-redux/releases/tag/v1.39.0). - **Perfil de instalação `--minimal`** — alias `--core-only`. Instala apenas os 6 skills do loop principal (`new-project`, `discuss-phase`, `plan-phase`, `execute-phase`, `help`, `update`) e nenhum subagente `gsd-*`. Reduz o overhead do system prompt no cold-start de ~12k para ~700 tokens (≥94% de redução). Útil para LLMs locais com contexto de 32K–128K e APIs cobradas por token. - **`/gsd-phase --edit`** — edita qualquer campo de uma fase existente em `ROADMAP.md` no lugar, sem alterar o número ou a posição. `--force` pula o diff de confirmação; referências em `depends_on` são validadas e o `STATE.md` é atualizado na escrita. @@ -469,11 +469,11 @@ OpenCode, Gemini CLI, Kilo e Codex agora são suportados nativamente via `npx ge ## Star History - + - - - Star History Chart + + + Star History Chart diff --git a/README.zh-CN.md b/README.zh-CN.md index dd5e23a1a..30219c8f9 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -12,9 +12,9 @@ [![npm version](https://img.shields.io/npm/v/get-shit-done-redux?style=for-the-badge&logo=npm&logoColor=white&color=CB3837)](https://www.npmjs.com/package/get-shit-done-redux) [![npm downloads](https://img.shields.io/npm/dm/get-shit-done-redux?style=for-the-badge&logo=npm&logoColor=white&color=CB3837)](https://www.npmjs.com/package/get-shit-done-redux) -[![Tests](https://img.shields.io/github/actions/workflow/status/GSD-redux/get-shit-done-redux/test.yml?branch=main&style=for-the-badge&logo=github&label=Tests)](https://github.com/GSD-redux/get-shit-done-redux/actions/workflows/test.yml) +[![Tests](https://img.shields.io/github/actions/workflow/status/open-gsd/get-shit-done-redux/test.yml?branch=main&style=for-the-badge&logo=github&label=Tests)](https://github.com/open-gsd/get-shit-done-redux/actions/workflows/test.yml) [![Discord](https://img.shields.io/badge/Discord-Join-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/mYgfVNfA2r) -[![GitHub stars](https://img.shields.io/github/stars/GSD-redux/get-shit-done-redux?style=for-the-badge&logo=github&color=181717)](https://github.com/GSD-redux/get-shit-done-redux) +[![GitHub stars](https://img.shields.io/github/stars/open-gsd/get-shit-done-redux?style=for-the-badge&logo=github&color=181717)](https://github.com/open-gsd/get-shit-done-redux) [![License](https://img.shields.io/badge/license-MIT-blue?style=for-the-badge)](LICENSE)
@@ -75,7 +75,7 @@ GSD 解决的就是这个问题。它是让 Claude Code 变得可靠的上下文 ### v1.39.0 亮点 -完整列表请参阅 [v1.39.0 发行说明](https://github.com/GSD-redux/get-shit-done-redux/releases/tag/v1.39.0)。 +完整列表请参阅 [v1.39.0 发行说明](https://github.com/open-gsd/get-shit-done-redux/releases/tag/v1.39.0)。 - **`--minimal` 安装档** — 别名 `--core-only`。仅安装主循环的 6 个核心技能(`new-project`、`discuss-phase`、`plan-phase`、`execute-phase`、`help`、`update`),不安装任何 `gsd-*` 子代理。将冷启动系统提示开销从 ~12k token 降至 ~700 token(≥94% 减少)。适合 32K–128K 上下文的本地 LLM 和按 token 计费的 API。 - **`/gsd-phase --edit`** — 就地修改 `ROADMAP.md` 中已有阶段的任意字段,不改变其编号或位置。`--force` 跳过确认 diff,验证 `depends_on` 引用,并在写入时更新 `STATE.md`。 @@ -182,7 +182,7 @@ npx get-shit-done-redux --all --global # 安装到所有目录 克隆仓库并在本地运行安装器: ```bash -git clone https://github.com/GSD-redux/get-shit-done-redux.git +git clone https://github.com/open-gsd/get-shit-done-redux.git cd get-shit-done node bin/install.js --claude --local ``` @@ -819,11 +819,11 @@ OpenCode、Gemini CLI、Kilo 和 Codex 现在都已经通过 `npx get-shit-done- ## Star History - + - - - Star History Chart + + + Star History Chart diff --git a/bin/install.js b/bin/install.js index 91a29be61..b398b941e 100755 --- a/bin/install.js +++ b/bin/install.js @@ -8553,7 +8553,7 @@ function install(isGlobal, runtime = 'claude', options = {}) { // Copy agents to agents directory. // Skipped under --minimal: gsd-* subagent descriptions are eagerly loaded // into the runtime's Agent tool schema, costing ~6k tokens per turn even - // when no GSD workflow is active. See GSD-redux/get-shit-done-redux#2762. + // when no GSD workflow is active. See open-gsd/get-shit-done-redux#2762. // Note: agentsSrc is declared as let before the enclosing try block so it // is accessible by installCodexConfig() in the Codex config section below. agentsSrc = _stageAgents(path.join(src, 'agents')); @@ -10425,14 +10425,14 @@ function renderSdkFailFastReport(ir) { console.error(` Or, if you prefer a one-shot run, clear the npx cache first:`); console.error(` ${cyan}npx --yes get-shit-done-redux@latest${reset}`); console.error(` Or build from source (git clone):`); - console.error(` ${cyan}git clone https://github.com/GSD-redux/get-shit-done-redux && cd get-shit-done/sdk && npm install && npm run build${reset}`); + console.error(` ${cyan}git clone https://github.com/open-gsd/get-shit-done-redux && cd get-shit-done/sdk && npm install && npm run build${reset}`); } else if (ir.context === 'tarball') { console.error(` The published tarball appears to be missing sdk/dist/ (see #2647).`); console.error(''); console.error(` Fix: install a version that ships sdk/dist/ globally:`); console.error(` ${cyan}${ir.fix_command}${reset}`); console.error(` Or build from source (git clone):`); - console.error(` ${cyan}git clone https://github.com/GSD-redux/get-shit-done-redux && cd get-shit-done/sdk && npm install && npm run build${reset}`); + console.error(` ${cyan}git clone https://github.com/open-gsd/get-shit-done-redux && cd get-shit-done/sdk && npm install && npm run build${reset}`); } else { console.error(` Running from a git clone — build the SDK first:`); console.error(` ${cyan}${ir.fix_command}${reset}`); @@ -10688,7 +10688,7 @@ function formatStaleStandaloneSdkWarning(info) { ' npm uninstall -g @gsd-redux/sdk', ' npx -y get-shit-done-redux@latest -- --global', '', - ' Tracking: #3406 — https://github.com/GSD-redux/get-shit-done-redux/issues/3406', + ' Tracking: #3406 — https://github.com/open-gsd/get-shit-done-redux/issues/3406', ].join('\n'); } diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index 42d1671c5..a8c103942 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -120,7 +120,7 @@ User-facing entry points. Each file contains YAML frontmatter (name, description **Total commands:** see [`docs/INVENTORY.md`](INVENTORY.md#commands) for the authoritative count and full roster. -#### Two-stage hierarchical routing (v1.40, [#2792](https://github.com/GSD-redux/get-shit-done-redux/issues/2792)) +#### Two-stage hierarchical routing (v1.40, [#2792](https://github.com/open-gsd/get-shit-done-redux/issues/2792)) To keep the eager skill-listing token cost low, v1.40 introduces six namespace **meta-skills** (`gsd-workflow`, `gsd-project`, `gsd-quality`, `gsd-context`, `gsd-manage`, `gsd-ideate` — sourced from `commands/gsd/ns-*.md`, but the invocable `name:` is the bare form shown here) layered above the concrete sub-skills. The model sees 6 namespace routers (~120 tokens) instead of a flat 86-skill listing (~2,150 tokens), selects a namespace, then routes to the concrete sub-skill via a routing table embedded in the namespace router's body. Namespace skills are **additive** — every concrete command is still directly invocable. diff --git a/docs/CANARY.md b/docs/CANARY.md index 9647a47c8..1b7d54c85 100644 --- a/docs/CANARY.md +++ b/docs/CANARY.md @@ -57,10 +57,10 @@ If you have a local project that interacted with canary-only features (for insta ## Reporting issues against canary -File against the [issue tracker](https://github.com/GSD-redux/get-shit-done-redux/issues) with the `bug` template. Include the exact canary version (`get-shit-done-redux --version` reports it) so triage can route the report back into the `dev` stream rather than the stable stream. +File against the [issue tracker](https://github.com/open-gsd/get-shit-done-redux/issues) with the `bug` template. Include the exact canary version (`get-shit-done-redux --version` reports it) so triage can route the report back into the `dev` stream rather than the stable stream. ## Where to look next - Active canary release notes: [`docs/RELEASE-v1.50.0-canary.1.md`](RELEASE-v1.50.0-canary.1.md) - Stable release notes: [`CHANGELOG.md`](../CHANGELOG.md) -- Stream architecture rationale: discussed across [#2727](https://github.com/GSD-redux/get-shit-done-redux/issues/2727), [#2773](https://github.com/GSD-redux/get-shit-done-redux/issues/2773) (codex schema-break and the resulting promotion bottleneck that motivated explicit stream isolation) +- Stream architecture rationale: discussed across [#2727](https://github.com/open-gsd/get-shit-done-redux/issues/2727), [#2773](https://github.com/open-gsd/get-shit-done-redux/issues/2773) (codex schema-break and the resulting promotion bottleneck that motivated explicit stream isolation) diff --git a/docs/COMMANDS.md b/docs/COMMANDS.md index f9fef1d7a..6e4bf1d3a 100644 --- a/docs/COMMANDS.md +++ b/docs/COMMANDS.md @@ -16,7 +16,7 @@ The hyphen and colon forms are *runtime-specific spellings of the same command*. ## Namespace Meta-Skills -Six namespace routers ship as the first-stage entry points in v1.40. They keep the eager skill-listing token cost low (~120 tokens for 6 routers vs ~2,150 for a flat 86-skill listing) while the full surface remains directly invocable. The model selects a namespace, then routes to the concrete sub-skill. See [#2792](https://github.com/GSD-redux/get-shit-done-redux/issues/2792). +Six namespace routers ship as the first-stage entry points in v1.40. They keep the eager skill-listing token cost low (~120 tokens for 6 routers vs ~2,150 for a flat 86-skill listing) while the full surface remains directly invocable. The model selects a namespace, then routes to the concrete sub-skill. See [#2792](https://github.com/open-gsd/get-shit-done-redux/issues/2792). | Command | Routes to | |---------|-----------| @@ -757,7 +757,7 @@ Generate a developer behavioral profile from Claude Code session analysis across Validate `.planning/` directory integrity. With `--context`, probes the context-window utilization guard against the 60 % / 70 % thresholds (added -v1.40.0, [#2792](https://github.com/GSD-redux/get-shit-done-redux/issues/2792)). +v1.40.0, [#2792](https://github.com/open-gsd/get-shit-done-redux/issues/2792)). | Flag | Description | |------|-------------| diff --git a/docs/CONFIGURATION.md b/docs/CONFIGURATION.md index def9ebb77..94174d79c 100644 --- a/docs/CONFIGURATION.md +++ b/docs/CONFIGURATION.md @@ -136,11 +136,11 @@ GSD stores project settings in `.planning/config.json`. Created during `/gsd-new |---------|------|---------|---------|-------------| | `mode` | enum | `interactive`, `yolo` | `interactive` | `yolo` auto-approves decisions; `interactive` confirms at each step | | `granularity` | enum | `coarse`, `standard`, `fine` | `standard` | Controls phase count: `coarse` (3-5), `standard` (5-8), `fine` (8-12) | -| `model_profile` | enum | `quality`, `balanced`, `budget`, `adaptive`, `inherit` | `balanced` | Model tier for each agent (see [Model Profiles](#model-profiles)). `adaptive` was added per [#1713](https://github.com/GSD-redux/get-shit-done-redux/issues/1713) / [#1806](https://github.com/GSD-redux/get-shit-done-redux/issues/1806) and resolves the same way as the other tiers under runtime-aware profiles. | -| `runtime` | string | `claude`, `codex`, or any string | (none) | Active runtime for [runtime-aware profile resolution](#runtime-aware-profiles-2517). When set, profile tiers (opus/sonnet/haiku) resolve to runtime-native model IDs. Today only the Codex install path emits per-agent model IDs from this resolver; other runtimes (`opencode`, `gemini`, `qwen`, `copilot`, …) consume the resolver at spawn time and gain dedicated install-path support in [#2612](https://github.com/GSD-redux/get-shit-done-redux/issues/2612). When unset (default), behavior is unchanged from prior versions. Added in v1.39 | +| `model_profile` | enum | `quality`, `balanced`, `budget`, `adaptive`, `inherit` | `balanced` | Model tier for each agent (see [Model Profiles](#model-profiles)). `adaptive` was added per [#1713](https://github.com/open-gsd/get-shit-done-redux/issues/1713) / [#1806](https://github.com/open-gsd/get-shit-done-redux/issues/1806) and resolves the same way as the other tiers under runtime-aware profiles. | +| `runtime` | string | `claude`, `codex`, or any string | (none) | Active runtime for [runtime-aware profile resolution](#runtime-aware-profiles-2517). When set, profile tiers (opus/sonnet/haiku) resolve to runtime-native model IDs. Today only the Codex install path emits per-agent model IDs from this resolver; other runtimes (`opencode`, `gemini`, `qwen`, `copilot`, …) consume the resolver at spawn time and gain dedicated install-path support in [#2612](https://github.com/open-gsd/get-shit-done-redux/issues/2612). When unset (default), behavior is unchanged from prior versions. Added in v1.39 | | `model_profile_overrides..` | string \| object | per-runtime tier override | (none) | Override the runtime-aware tier mapping for a specific `(runtime, tier)`. Tier is one of `opus`, `sonnet`, `haiku`. Value is either a model ID string (e.g. `"gpt-5-pro"`) or `{ model, reasoning_effort }`. See [Runtime-Aware Profiles](#runtime-aware-profiles-2517). Added in v1.39 | -| `models.` | enum | `opus`, `sonnet`, `haiku`, `inherit` | (none) | Per-phase-type model tier. Six accepted slots: `planning`, `discuss`, `research`, `execution`, `verification`, `completion`. Lets you tune at the phase level ("Opus for planning, Sonnet for the rest") without learning agent names. Resolves between `model_overrides` (higher) and `model_profile` (lower); see [Per-Phase-Type Models](#per-phase-type-models-models--added-in-v140). Added in v1.40 ([#3023](https://github.com/GSD-redux/get-shit-done-redux/pull/3030)) | -| `dynamic_routing.enabled` | boolean | `true`, `false` | `false` | Master switch for [dynamic routing with failure-tier escalation](#dynamic-routing-with-failure-tier-escalation-dynamic_routing--added-in-v140). When `true`, agents resolve to `tier_models[default_tier]` and escalate one tier up on orchestrator-detected soft failure. Added in v1.40 ([#3024](https://github.com/GSD-redux/get-shit-done-redux/pull/3031)) | +| `models.` | enum | `opus`, `sonnet`, `haiku`, `inherit` | (none) | Per-phase-type model tier. Six accepted slots: `planning`, `discuss`, `research`, `execution`, `verification`, `completion`. Lets you tune at the phase level ("Opus for planning, Sonnet for the rest") without learning agent names. Resolves between `model_overrides` (higher) and `model_profile` (lower); see [Per-Phase-Type Models](#per-phase-type-models-models--added-in-v140). Added in v1.40 ([#3023](https://github.com/open-gsd/get-shit-done-redux/pull/3030)) | +| `dynamic_routing.enabled` | boolean | `true`, `false` | `false` | Master switch for [dynamic routing with failure-tier escalation](#dynamic-routing-with-failure-tier-escalation-dynamic_routing--added-in-v140). When `true`, agents resolve to `tier_models[default_tier]` and escalate one tier up on orchestrator-detected soft failure. Added in v1.40 ([#3024](https://github.com/open-gsd/get-shit-done-redux/pull/3031)) | | `dynamic_routing.tier_models.` | enum | `opus`, `sonnet`, `haiku` | (none) | Tier alias for `light`, `standard`, or `heavy`. Used when `dynamic_routing.enabled: true`. Added in v1.40 | | `dynamic_routing.escalate_on_failure` | boolean | `true`, `false` | `true` | When `false`, escalation is disabled even if `enabled: true` — every attempt uses the default tier. Added in v1.40 | | `dynamic_routing.max_escalations` | integer | `0`, `1`, `2`, … | `1` | Hard cap on retries per agent invocation. Beyond the cap the resolver returns the cap-tier model. Added in v1.40 | @@ -258,7 +258,7 @@ All workflow toggles follow the **absent = enabled** pattern. If a key is missin | `executor.stall_detect_interval_minutes` | number | `5` | Minutes between executor stall checks while an executor agent is active. The execute-phase orchestrator uses this cadence to inspect recent commits and avoid waiting forever on a silent agent. | | `executor.stall_threshold_minutes` | number | `10` | Minutes without executor completion or expected-branch commit activity before execute-phase offers recovery choices for a possible stalled executor. | | `workflow.inline_plan_threshold` | number | `3` | Maximum number of tasks in a phase before the planner generates a separate PLAN.md file instead of inlining tasks in the prompt | -| `workflow.drift_threshold` | number | `3` | Minimum number of new structural elements (new directories, barrel exports, migrations, route modules) introduced during a phase before the post-execute codebase-drift gate takes action. See [#2003](https://github.com/GSD-redux/get-shit-done-redux/issues/2003). Added in v1.39 | +| `workflow.drift_threshold` | number | `3` | Minimum number of new structural elements (new directories, barrel exports, migrations, route modules) introduced during a phase before the post-execute codebase-drift gate takes action. See [#2003](https://github.com/open-gsd/get-shit-done-redux/issues/2003). Added in v1.39 | | `workflow.drift_action` | string | `warn` | What to do when `workflow.drift_threshold` is exceeded after `/gsd-execute-phase`. `warn` prints a message suggesting `/gsd-map-codebase --paths …`; `auto-remap` spawns `gsd-codebase-mapper` scoped to the affected paths. Added in v1.39 | | `workflow.build_command` | string | (none) | Shell command to build the project in the post-merge build gate (Step A of step 5.6 in execute-phase). When unset, the gate auto-detects: Xcode (`.xcodeproj` present) → `xcodebuild build`, `Makefile` with `build:` target → `make build`, Justfile → `just build`, `Cargo.toml` → `cargo build`, `go.mod` → `go build ./...`, Python → `python -m py_compile`, `package.json` with `build` script → `npm run build`. Runs with a 5-minute timeout; failure increments `WAVE_FAILURE_COUNT`. Added in v1.39 | | `workflow.test_command` | string | (none) | Shell command to run the project's test suite in the post-merge test gate (Step B of step 5.6 in execute-phase) and the regression gate. When unset, the gate auto-detects: Xcode (`.xcodeproj` present) → `xcodebuild test`, `Makefile` with `test:` target → `make test`, Justfile → `just test`, `package.json` → `npm test`, `Cargo.toml` → `cargo test`, `go.mod` → `go test ./...`, Python → `python -m pytest`. Runs with a 5-minute timeout; failure increments `WAVE_FAILURE_COUNT`. Added in v1.39 | @@ -811,7 +811,7 @@ for the change to take effect. See issue #2256. ### Per-Phase-Type Models (`models`) — added in v1.41 -> Express tuning at the **phase** level (planning, research, execution, verification) without learning the agent taxonomy. Added in [#3023](https://github.com/GSD-redux/get-shit-done-redux/pull/3030). +> Express tuning at the **phase** level (planning, research, execution, verification) without learning the agent taxonomy. Added in [#3023](https://github.com/open-gsd/get-shit-done-redux/pull/3030). `model_overrides` is per-**agent** (precise but verbose; you have to know that `gsd-codebase-mapper` is research and `gsd-doc-writer` is execution). The `models` block lets you say "Opus for planning and execution, Sonnet for the rest" in two lines: @@ -895,7 +895,7 @@ Direct edits to `.planning/config.json` are looser — the resolver simply ignor ### Dynamic Routing with Failure-Tier Escalation (`dynamic_routing`) — added in v1.41 -> Start cheap, escalate only when the agent fails the gate. Added in [#3024](https://github.com/GSD-redux/get-shit-done-redux/pull/3031). +> Start cheap, escalate only when the agent fails the gate. Added in [#3024](https://github.com/open-gsd/get-shit-done-redux/pull/3031). `dynamic_routing` lets you pay for the cheap tier by default and only escalate to the more expensive tier when the orchestrator detects a soft failure (verification inconclusive, plan-check FLAG, etc.). @@ -974,7 +974,7 @@ The `dynamic_routing` block is **disabled by default** — `enabled: false` (or ### Non-Claude Runtimes (Codex, OpenCode, Gemini CLI, Kilo) -> **Codex CLI minimum supported version: `0.130.0`** (issue [#3562](https://github.com/GSD-redux/get-shit-done-redux/issues/3562)). +> **Codex CLI minimum supported version: `0.130.0`** (issue [#3562](https://github.com/open-gsd/get-shit-done-redux/issues/3562)). > > [Codex CLI 0.130.0](https://github.com/openai/codex/releases/tag/rust-v0.130.0) (released 2026-05-08) removed extra-skills-roots discovery via [openai/codex#21485](https://github.com/openai/codex/pull/21485). From this version forward, Codex CLI only scans `~/.codex/skills//SKILL.md`, `/.codex/skills/`, and registered plugin roots for invocable skills. GSD installs the `$gsd-*` surface as `~/.codex/skills/gsd-/SKILL.md` so commands resolve after a Codex restart. Earlier Codex CLI versions can show a duplicate listing (the legacy extra-roots scan plus the user-root copies) — restart Codex and either upgrade to ≥ 0.130.0 or accept the duplicates until you do. diff --git a/docs/FEATURES.md b/docs/FEATURES.md index 821742def..490594f33 100644 --- a/docs/FEATURES.md +++ b/docs/FEATURES.md @@ -2644,7 +2644,7 @@ Users who run a memory / knowledge-base MCP server (for example, ExoCortex-style - REQ-CONSOLIDATE-03: Deleted micro-skill slash forms (the bare `gsd-add-todo`, `gsd-add-backlog`, `gsd-plant-seed`, `gsd-check-todos`, `gsd-add-phase`, `gsd-insert-phase`, `gsd-remove-phase`, `gsd-edit-phase`, `gsd-new-workspace`, `gsd-list-workspaces`, `gsd-remove-workspace`, `gsd-settings-advanced`, `gsd-settings-integrations`, `gsd-set-profile`, `gsd-sketch-wrap-up`, `gsd-spike-wrap-up`, `gsd-reapply-patches`, `gsd-code-review-fix`, …) MUST resolve to "Unknown command" — no shadow stubs. - REQ-CONSOLIDATE-04: `autonomous.md` invokes `/gsd-code-review --fix` (was previously calling the deleted `gsd-code-review-fix`). -**Reference issue:** [#2790](https://github.com/GSD-redux/get-shit-done-redux/issues/2790) +**Reference issue:** [#2790](https://github.com/open-gsd/get-shit-done-redux/issues/2790) --- @@ -2672,7 +2672,7 @@ Users who run a memory / knowledge-base MCP server (for example, ExoCortex-style - REQ-NS-02: Existing sub-skills are unchanged and still invocable directly — namespace skills are additive, not a replacement for direct slash forms. - REQ-NS-03: The body of each namespace router contains a routing table that maps user intent to the correct concrete sub-skill on the post-#2790 consolidated surface. -**Reference issue:** [#2792](https://github.com/GSD-redux/get-shit-done-redux/issues/2792) +**Reference issue:** [#2792](https://github.com/open-gsd/get-shit-done-redux/issues/2792) --- @@ -2687,7 +2687,7 @@ Users who run a memory / knowledge-base MCP server (for example, ExoCortex-style - REQ-CTX-GUARD-02: The same triage is exposed as `gsd-sdk query validate.context --tokens-used --context-window ` — a structured envelope for status-line and hook callers (#125). Both flags are required; the handler returns the same `{ percent, state }` envelope as the pure classifier in REQ-CTX-GUARD-03. - REQ-CTX-GUARD-03: The classifier (`bin/lib/context-utilization.cjs`) is pure: input `(tokensUsed, contextWindow)`, output `{ percent, state }`. Easy to unit-test, easy to reuse from any caller. -**Reference issue:** [#2792](https://github.com/GSD-redux/get-shit-done-redux/issues/2792) +**Reference issue:** [#2792](https://github.com/open-gsd/get-shit-done-redux/issues/2792) --- @@ -2704,7 +2704,7 @@ Users who run a memory / knowledge-base MCP server (for example, ExoCortex-style - REQ-LIFECYCLE-02: `formatGsdState()` checks the lifecycle fields in priority order and emits the first matching scene (Phase active → Idle next-recommended → Milestone complete → Default fallback). - REQ-LIFECYCLE-03: All four fields default to undefined; existing STATE.md files render byte-for-byte identically. -**Reference issue:** [#2833](https://github.com/GSD-redux/get-shit-done-redux/issues/2833) — see [`docs/STATE-MD-LIFECYCLE.md`](STATE-MD-LIFECYCLE.md) for the full field reference and rendering rules. +**Reference issue:** [#2833](https://github.com/open-gsd/get-shit-done-redux/issues/2833) — see [`docs/STATE-MD-LIFECYCLE.md`](STATE-MD-LIFECYCLE.md) for the full field reference and rendering rules. --- @@ -2744,7 +2744,7 @@ Users who run a memory / knowledge-base MCP server (for example, ExoCortex-style - REQ-PHASE-MODELS-02: Configs without a `models` block behave byte-for-byte identically to pre-v1.41 behavior. - REQ-PHASE-MODELS-03: `discuss` and `completion` are accepted by the schema for forward compatibility; setting them today is a no-op until a subagent maps to each. -**Reference issue:** [#3023](https://github.com/GSD-redux/get-shit-done-redux/pull/3030) +**Reference issue:** [#3023](https://github.com/open-gsd/get-shit-done-redux/pull/3030) --- @@ -2765,7 +2765,7 @@ Users who run a memory / knowledge-base MCP server (for example, ExoCortex-style - REQ-DYNROUTE-02: New resolver `resolveModelForTier(cwd, agent, attempt)` in `core.cjs` is the single call-site for orchestrator integration. - REQ-DYNROUTE-03: `max_escalations` caps the escalation chain to prevent runaway cost. -**Reference issue:** [#3024](https://github.com/GSD-redux/get-shit-done-redux/pull/3031) +**Reference issue:** [#3024](https://github.com/open-gsd/get-shit-done-redux/pull/3031) --- @@ -2785,7 +2785,7 @@ Users who run a memory / knowledge-base MCP server (for example, ExoCortex-style - REQ-BANNER-02: No additional network requests — reuses the existing background update-check cache. - REQ-BANNER-03: Uninstall path removes the banner hook. -**Reference issue:** [#2795](https://github.com/GSD-redux/get-shit-done-redux/pull/2795) +**Reference issue:** [#2795](https://github.com/open-gsd/get-shit-done-redux/pull/2795) --- @@ -2804,7 +2804,7 @@ Users who run a memory / knowledge-base MCP server (for example, ExoCortex-style No new commands or daemon process — purely a documentation artifact that maps existing primitives onto a tracker-driven workflow. -**Reference issue:** [#2840](https://github.com/GSD-redux/get-shit-done-redux/pull/2840) +**Reference issue:** [#2840](https://github.com/open-gsd/get-shit-done-redux/pull/2840) --- @@ -2832,7 +2832,7 @@ Source commit: abc1234 (3 commits behind HEAD) **Fallback:** pre-v0.7 graphs and non-git checkouts return `commit_stale: null`; callers fall back to the existing mtime-based `stale` flag. No behavior change for existing users. -**Reference issue:** [#3170](https://github.com/GSD-redux/get-shit-done-redux/issues/3170) +**Reference issue:** [#3170](https://github.com/open-gsd/get-shit-done-redux/issues/3170) --- @@ -2853,7 +2853,7 @@ CLI flag → ROADMAP `**Mode:** mvp` → `workflow.mvp_mode` config → `false` **Bug fix:** `roadmap.get-phase --pick mode` in the SDK's `roadmap.ts` previously returned `null` for phases with `**Mode:** mvp`, causing MVP_MODE to silently fall through to false on the native dispatch path. Restores parity with the CJS implementation. -**Reference issue:** [#3178](https://github.com/GSD-redux/get-shit-done-redux/pull/3178) +**Reference issue:** [#3178](https://github.com/open-gsd/get-shit-done-redux/pull/3178) --- diff --git a/docs/INVENTORY.md b/docs/INVENTORY.md index 47ae0e7d4..e680f17bc 100644 --- a/docs/INVENTORY.md +++ b/docs/INVENTORY.md @@ -60,7 +60,7 @@ Full roster at `commands/gsd/*.md`. The groupings below mirror `docs/COMMANDS.md ### Namespace Meta-Skills -These six routers are descriptor-only entries that the model picks first; the body of each contains a routing table that points at the correct concrete sub-skill. They exist to keep the eager skill-listing token cost low while the full surface remains reachable. See [#2792](https://github.com/GSD-redux/get-shit-done-redux/issues/2792) for the rationale; the routing tables target the post-[#2790](https://github.com/GSD-redux/get-shit-done-redux/issues/2790) consolidated surface. +These six routers are descriptor-only entries that the model picks first; the body of each contains a routing table that points at the correct concrete sub-skill. They exist to keep the eager skill-listing token cost low while the full surface remains reachable. See [#2792](https://github.com/open-gsd/get-shit-done-redux/issues/2792) for the rationale; the routing tables target the post-[#2790](https://github.com/open-gsd/get-shit-done-redux/issues/2790) consolidated surface. | Command | Role | Source | |---------|------|--------| diff --git a/docs/STATE-MD-LIFECYCLE.md b/docs/STATE-MD-LIFECYCLE.md index a53aa786e..a4316b7d7 100644 --- a/docs/STATE-MD-LIFECYCLE.md +++ b/docs/STATE-MD-LIFECYCLE.md @@ -1,7 +1,7 @@ # STATE.md Phase Lifecycle Frontmatter > **Status:** Read-side shipped in v1.40.0 (issue -> [#2833](https://github.com/GSD-redux/get-shit-done-redux/issues/2833)). +> [#2833](https://github.com/open-gsd/get-shit-done-redux/issues/2833)). > `parseStateMd()` reads the four frontmatter fields below and > `formatGsdState()` renders the in-flight / idle / progress scenes. > SDK write-side support to maintain the fields automatically is tracked diff --git a/docs/TESTING-SUITES.md b/docs/TESTING-SUITES.md index cecc18b17..623338d42 100644 --- a/docs/TESTING-SUITES.md +++ b/docs/TESTING-SUITES.md @@ -2,7 +2,7 @@ This project's `tests/` directory uses **filename suffix markers** to group tests into named suites. The harness `scripts/run-tests.cjs` filters by suite when given `--suite `. Without a flag it runs every `*.test.cjs` file (the historical default — unchanged). -> Tracked by issue [#3597](https://github.com/GSD-redux/get-shit-done-redux/issues/3597). +> Tracked by issue [#3597](https://github.com/open-gsd/get-shit-done-redux/issues/3597). ## Suites diff --git a/docs/USER-GUIDE.md b/docs/USER-GUIDE.md index 6cef548e2..ca90c3181 100644 --- a/docs/USER-GUIDE.md +++ b/docs/USER-GUIDE.md @@ -1219,7 +1219,7 @@ For the full audit, harness reference, and the composition note with `model_prof ### Using Non-Claude Runtimes (Codex, OpenCode, Gemini CLI, Kilo) -> **Codex CLI minimum supported version: `0.130.0`** (issue [#3562](https://github.com/GSD-redux/get-shit-done-redux/issues/3562)). +> **Codex CLI minimum supported version: `0.130.0`** (issue [#3562](https://github.com/open-gsd/get-shit-done-redux/issues/3562)). > > Codex CLI [0.130.0](https://github.com/openai/codex/releases/tag/rust-v0.130.0) (released 2026-05-08) removed extra-skills-roots discovery via [openai/codex#21485](https://github.com/openai/codex/pull/21485). From that version onward, Codex only discovers commands from `~/.codex/skills//SKILL.md` (user root), `/.codex/skills/` (cwd root), and registered plugin roots. The GSD installer writes `~/.codex/skills/gsd-/SKILL.md` directly so `$gsd-help`, `$gsd-new-project`, etc. are discoverable after restart. > @@ -1295,7 +1295,7 @@ Skills are installed to `~/.qwen/skills/gsd-*/SKILL.md`. Use the `QWEN_CONFIG_DI Many supported runtimes ship a prerelease edition alongside their stable release — Windsurf Next, Cursor Nightly, VS Code Insiders, Codex preview channels, JetBrains EAP, and so on. Prerelease editions read from a sibling configuration directory, so the default install path won't reach them. -GSD does not enumerate prerelease editions as separate named runtimes. They are accommodated through the existing `_CONFIG_DIR` environment variables and the free-string runtime policy (see [#2517](https://github.com/GSD-redux/get-shit-done-redux/issues/2517)) — installs work, paths resolve, GSD operates. Prerelease editions are **best-effort and not separately tested** as part of release CI. +GSD does not enumerate prerelease editions as separate named runtimes. They are accommodated through the existing `_CONFIG_DIR` environment variables and the free-string runtime policy (see [#2517](https://github.com/open-gsd/get-shit-done-redux/issues/2517)) — installs work, paths resolve, GSD operates. Prerelease editions are **best-effort and not separately tested** as part of release CI. **Pattern.** Set the runtime's `*_CONFIG_DIR` env var to the prerelease directory before running the installer: diff --git a/docs/adr/0012-command-routing-hub.md b/docs/adr/0012-command-routing-hub.md index 35f449ae2..2f9808166 100644 --- a/docs/adr/0012-command-routing-hub.md +++ b/docs/adr/0012-command-routing-hub.md @@ -48,4 +48,4 @@ Future direction (deferred): the hub should consult `manifest` to detect per-sub ## References - Extends ADR-0001 (Dispatch Policy Module) — the hub implements the no-throw + structured-result contract ADR-0001 established for the SDK query layer, applying it to the CJS adapter layer. -- Issue: [#3788](https://github.com/GSD-redux/get-shit-done-redux/issues/3788) +- Issue: [#3788](https://github.com/open-gsd/get-shit-done-redux/issues/3788) diff --git a/docs/adr/3524-cjs-sdk-hard-seam.md b/docs/adr/3524-cjs-sdk-hard-seam.md index 0897252f2..cf0761393 100644 --- a/docs/adr/3524-cjs-sdk-hard-seam.md +++ b/docs/adr/3524-cjs-sdk-hard-seam.md @@ -2,7 +2,7 @@ - **Status:** Proposed - **Date:** 2026-05-14 -- **Tracking issue:** [#3524](https://github.com/GSD-redux/get-shit-done-redux/issues/3524) +- **Tracking issue:** [#3524](https://github.com/open-gsd/get-shit-done-redux/issues/3524) - **Related PRD:** [`docs/prd/3524-cjs-sdk-hard-seam.md`](../prd/3524-cjs-sdk-hard-seam.md) - **Extends:** ADR-0005 (seam map) — adds the **Shared-Module Source Policy** to the seam family - **Defers to:** ADR-0001 (Dispatch Policy Module), ADR-0003 (Model Catalog Module), ADR-0004 (Planning Workspace Module), ADR-0006 (Planning Path Projection Module), ADR-0009 (Shell Command Projection Module — post-Phase 3–4, also subsuming superseded ADR-0010) diff --git a/docs/agents/cjs-sdk-seam.md b/docs/agents/cjs-sdk-seam.md index eeaa6a5d2..208e9e13d 100644 --- a/docs/agents/cjs-sdk-seam.md +++ b/docs/agents/cjs-sdk-seam.md @@ -9,13 +9,13 @@ The CJS↔SDK hard-seam migration (#3524) eliminates a class of config-schema dr | Phase | PR | Summary | |-------|----|---------| -| Phase 1 | [#3531](https://github.com/GSD-redux/get-shit-done-redux/pull/3531) | `state-document` Shared Module — source-of-truth at `sdk/src/state-document/`, generator, freshness check, CJS Adapter (`state-document.generated.cjs`). Worked example for the pattern. | -| Phase 2 | [#3540](https://github.com/GSD-redux/get-shit-done-redux/pull/3540) | `configuration` Shared Module — `sdk/shared/config-schema.manifest.json` + `sdk/shared/config-defaults.manifest.json` as data manifests; generator + freshness check + CJS Adapter. | -| Phase 3 | [#3548](https://github.com/GSD-redux/get-shit-done-redux/pull/3548) | `workstream-inventory` Shared Module — source-of-truth at `sdk/src/workstream-inventory/`, builder, generator, freshness check, CJS Adapter. | -| Phase 4 | [#3554](https://github.com/GSD-redux/get-shit-done-redux/pull/3554) | `project-root` Shared Module — source-of-truth at `sdk/src/project-root/`, generator, freshness check, CJS Adapter. | -| Phase 5.0 | [#3558](https://github.com/GSD-redux/get-shit-done-redux/pull/3558) | `runtime-bridge-sync` worker — enables CJS-side execution of SDK native handlers; state.* family initial router delegation via `executeForCjs`. | -| Phase 5.1 | [#3574](https://github.com/GSD-redux/get-shit-done-redux/pull/3574) | `state.*` router delegation complete — all known state subcommands delegated via `executeForCjs`; Phase 5.0 worker bug fix. | -| Phase 6 | [#3577](https://github.com/GSD-redux/get-shit-done-redux/pull/3577) (closes [#3575](https://github.com/GSD-redux/get-shit-done-redux/issues/3575)) | Enforcement hardening + Final completion — hand-sync drift lint, CODEOWNERS, 6 family-router migrations, 5 Shared Module migrations (plan-scan, secrets, schema-detect, decisions, workstream-name-policy), workstream native support, parity fixes. Migration feature-complete: 22 cooperating siblings, 0 backlog pairs. | +| Phase 1 | [#3531](https://github.com/open-gsd/get-shit-done-redux/pull/3531) | `state-document` Shared Module — source-of-truth at `sdk/src/state-document/`, generator, freshness check, CJS Adapter (`state-document.generated.cjs`). Worked example for the pattern. | +| Phase 2 | [#3540](https://github.com/open-gsd/get-shit-done-redux/pull/3540) | `configuration` Shared Module — `sdk/shared/config-schema.manifest.json` + `sdk/shared/config-defaults.manifest.json` as data manifests; generator + freshness check + CJS Adapter. | +| Phase 3 | [#3548](https://github.com/open-gsd/get-shit-done-redux/pull/3548) | `workstream-inventory` Shared Module — source-of-truth at `sdk/src/workstream-inventory/`, builder, generator, freshness check, CJS Adapter. | +| Phase 4 | [#3554](https://github.com/open-gsd/get-shit-done-redux/pull/3554) | `project-root` Shared Module — source-of-truth at `sdk/src/project-root/`, generator, freshness check, CJS Adapter. | +| Phase 5.0 | [#3558](https://github.com/open-gsd/get-shit-done-redux/pull/3558) | `runtime-bridge-sync` worker — enables CJS-side execution of SDK native handlers; state.* family initial router delegation via `executeForCjs`. | +| Phase 5.1 | [#3574](https://github.com/open-gsd/get-shit-done-redux/pull/3574) | `state.*` router delegation complete — all known state subcommands delegated via `executeForCjs`; Phase 5.0 worker bug fix. | +| Phase 6 | [#3577](https://github.com/open-gsd/get-shit-done-redux/pull/3577) (closes [#3575](https://github.com/open-gsd/get-shit-done-redux/issues/3575)) | Enforcement hardening + Final completion — hand-sync drift lint, CODEOWNERS, 6 family-router migrations, 5 Shared Module migrations (plan-scan, secrets, schema-detect, decisions, workstream-name-policy), workstream native support, parity fixes. Migration feature-complete: 22 cooperating siblings, 0 backlog pairs. | --- @@ -203,13 +203,13 @@ If the module affects `CONTEXT.md`'s module inventory, update that section. Also Add the new source-of-truth path to `.github/CODEOWNERS` under the Phase 6 block to make the architectural ownership explicit. -**Reference:** Phase 1 PR [#3531](https://github.com/GSD-redux/get-shit-done-redux/pull/3531) — `state-document` migration. +**Reference:** Phase 1 PR [#3531](https://github.com/open-gsd/get-shit-done-redux/pull/3531) — `state-document` migration. --- ## Guide: Adding a new canonical command -Use this when adding a new `gsd-sdk query .` that should be handled natively in the SDK (not delegated to CJS). Phase 5.1's `state.update` migration (PR [#3574](https://github.com/GSD-redux/get-shit-done-redux/pull/3574)) is the worked example. +Use this when adding a new `gsd-sdk query .` that should be handled natively in the SDK (not delegated to CJS). Phase 5.1's `state.update` migration (PR [#3574](https://github.com/open-gsd/get-shit-done-redux/pull/3574)) is the worked example. **Step 1 — Declare in the command manifest** @@ -232,7 +232,7 @@ Add a test in `tests/-command-router.test.cjs` (or a new file if the fam This test enforces that the delegate and the native handler stay aligned. -**Reference:** Phase 5.1 PR [#3574](https://github.com/GSD-redux/get-shit-done-redux/pull/3574) — `state.update` delegation. +**Reference:** Phase 5.1 PR [#3574](https://github.com/open-gsd/get-shit-done-redux/pull/3574) — `state.update` delegation. --- diff --git a/docs/agents/issue-tracker.md b/docs/agents/issue-tracker.md index e3d7a6d71..6516b7b2e 100644 --- a/docs/agents/issue-tracker.md +++ b/docs/agents/issue-tracker.md @@ -1,6 +1,6 @@ # Issue tracker: GitHub -Issues for this repo live in **GitHub Issues** at `GSD-redux/get-shit-done-redux`. +Issues for this repo live in **GitHub Issues** at `open-gsd/get-shit-done-redux`. ## Auth @@ -9,19 +9,19 @@ repo-local `.envrc` before running `gh`. ## Conventions -- **Create**: `gh issue create --repo GSD-redux/get-shit-done-redux --title "..." --body "..."` -- **Read**: `gh issue view --repo GSD-redux/get-shit-done-redux --comments` -- **List**: `gh issue list --repo GSD-redux/get-shit-done-redux --state open --json number,title,labels --jq '...'` -- **Comment**: `gh issue comment --repo GSD-redux/get-shit-done-redux --body "..."` -- **Label**: `gh issue edit --repo GSD-redux/get-shit-done-redux --add-label "..." --remove-label "..."` -- **Close**: `gh issue close --repo GSD-redux/get-shit-done-redux --comment "..."` +- **Create**: `gh issue create --repo open-gsd/get-shit-done-redux --title "..." --body "..."` +- **Read**: `gh issue view --repo open-gsd/get-shit-done-redux --comments` +- **List**: `gh issue list --repo open-gsd/get-shit-done-redux --state open --json number,title,labels --jq '...'` +- **Comment**: `gh issue comment --repo open-gsd/get-shit-done-redux --body "..."` +- **Label**: `gh issue edit --repo open-gsd/get-shit-done-redux --add-label "..." --remove-label "..."` +- **Close**: `gh issue close --repo open-gsd/get-shit-done-redux --comment "..."` -Always pass `--repo GSD-redux/get-shit-done-redux` explicitly — the local clone has multiple remotes and `gh` may resolve to the wrong one. +Always pass `--repo open-gsd/get-shit-done-redux` explicitly — the local clone has multiple remotes and `gh` may resolve to the wrong one. ## When a skill says "publish to the issue tracker" -Create a GitHub issue at `GSD-redux/get-shit-done-redux`. +Create a GitHub issue at `open-gsd/get-shit-done-redux`. ## When a skill says "fetch the relevant ticket" -Run `gh issue view --repo GSD-redux/get-shit-done-redux --comments`. +Run `gh issue view --repo open-gsd/get-shit-done-redux --comments`. diff --git a/docs/agents/triage-labels.md b/docs/agents/triage-labels.md index f571f06c8..2ba1c8b69 100644 --- a/docs/agents/triage-labels.md +++ b/docs/agents/triage-labels.md @@ -1,6 +1,6 @@ # Triage Labels -Maps the five canonical triage roles to the actual label strings in `GSD-redux/get-shit-done-redux`. +Maps the five canonical triage roles to the actual label strings in `open-gsd/get-shit-done-redux`. | Canonical role | Label in this repo | Notes | |-------------------|--------------------------|----------------------------------------------------------------| diff --git a/docs/branch-protection.md b/docs/branch-protection.md index 7f4c8a6da..f09063bb6 100644 --- a/docs/branch-protection.md +++ b/docs/branch-protection.md @@ -36,13 +36,13 @@ immutable once created. Tag creation is unrestricted. ```bash # Dry-run (evaluate mode — logs violations, does not block) -REPO=GSD-redux/get-shit-done-redux ENFORCEMENT=evaluate bash scripts/sync-rulesets.sh +REPO=open-gsd/get-shit-done-redux ENFORCEMENT=evaluate bash scripts/sync-rulesets.sh # Activate protection -REPO=GSD-redux/get-shit-done-redux ENFORCEMENT=active bash scripts/sync-rulesets.sh +REPO=open-gsd/get-shit-done-redux ENFORCEMENT=active bash scripts/sync-rulesets.sh # Roll back to disabled -REPO=GSD-redux/get-shit-done-redux ENFORCEMENT=disabled bash scripts/sync-rulesets.sh +REPO=open-gsd/get-shit-done-redux ENFORCEMENT=disabled bash scripts/sync-rulesets.sh ``` The script is idempotent: running it twice with the same `ENFORCEMENT` value @@ -53,7 +53,7 @@ is a no-op semantically (PUT with identical body). After applying with `evaluate`, check which PRs/pushes would have been blocked: ```bash -REPO=GSD-redux/get-shit-done-redux +REPO=open-gsd/get-shit-done-redux RULESET_ID=$(gh api repos/$REPO/rulesets --jq '.[] | select(.name=="main-protection") | .id') gh api repos/$REPO/rulesets/$RULESET_ID/rule-suites ``` diff --git a/docs/discussions/grok-build-support-2026-05.md b/docs/discussions/grok-build-support-2026-05.md index 08ffe3547..160ceed98 100644 --- a/docs/discussions/grok-build-support-2026-05.md +++ b/docs/discussions/grok-build-support-2026-05.md @@ -28,7 +28,7 @@ Currently, Grok Build is only supported via its Claude compatibility layer. This ## 2. Current Multi-Runtime Setup (as of May 2026) ### Development Source (Single Source of Truth) -- **Path:** `/home/cristian/bum/get-shit-done` (this repo — your working fork of `GSD-redux/get-shit-done-redux`) +- **Path:** `/home/cristian/bum/get-shit-done` (this repo — your working fork of `open-gsd/get-shit-done-redux`) ### Installed Locations - `~/.agents/get-shit-done/` — Core workflows, references, templates, `gsd-tools.cjs`, `bin/` diff --git a/docs/manual-update.md b/docs/manual-update.md index 325829ab2..b508e223e 100644 --- a/docs/manual-update.md +++ b/docs/manual-update.md @@ -5,7 +5,7 @@ Use this procedure when `npx get-shit-done-redux@latest` is unavailable — e.g. ## Prerequisites - Node.js installed -- This repo cloned locally (`git clone https://github.com/GSD-redux/get-shit-done-redux`) +- This repo cloned locally (`git clone https://github.com/open-gsd/get-shit-done-redux`) ## Steps diff --git a/docs/prd/3524-cjs-sdk-hard-seam.md b/docs/prd/3524-cjs-sdk-hard-seam.md index 77a27e64a..ebba60143 100644 --- a/docs/prd/3524-cjs-sdk-hard-seam.md +++ b/docs/prd/3524-cjs-sdk-hard-seam.md @@ -2,7 +2,7 @@ - **Status:** Reference - **Date:** 2026-05-14 -- **Tracking issue:** [#3524](https://github.com/GSD-redux/get-shit-done-redux/issues/3524) +- **Tracking issue:** [#3524](https://github.com/open-gsd/get-shit-done-redux/issues/3524) - **Related ADR:** [`docs/adr/3524-cjs-sdk-hard-seam.md`](../adr/3524-cjs-sdk-hard-seam.md) ## Why this PRD exists @@ -11,7 +11,7 @@ The ADR defines the target architecture — one source of truth per Shared Modul ## Problem statement -The CJS↔SDK boundary in `GSD-redux/get-shit-done-redux` is structurally permeable. Multiple Shared Modules — STATE.md Document Module, Workstream Inventory Module, and several others — exist today as **hand-synced pairs** of `.cjs` and `.ts` files with character-identical implementations. Constants (`CONFIG_DEFAULTS`, `VALID_CONFIG_KEYS`) are likewise defined twice. The boundary is policed only by: +The CJS↔SDK boundary in `open-gsd/get-shit-done-redux` is structurally permeable. Multiple Shared Modules — STATE.md Document Module, Workstream Inventory Module, and several others — exist today as **hand-synced pairs** of `.cjs` and `.ts` files with character-identical implementations. Constants (`CONFIG_DEFAULTS`, `VALID_CONFIG_KEYS`) are likewise defined twice. The boundary is policed only by: - A naming-parity test (`tests/config-schema-sdk-parity.test.cjs`) - Output-parity golden tests for read-only handlers (`sdk/src/golden/read-only-parity.integration.test.ts`) diff --git a/docs/research/2026-05-12-skill-surface-budget.md b/docs/research/2026-05-12-skill-surface-budget.md index 746ac31e5..d45e858ca 100644 --- a/docs/research/2026-05-12-skill-surface-budget.md +++ b/docs/research/2026-05-12-skill-surface-budget.md @@ -1,7 +1,7 @@ # Skill surface budget — research memo **Date:** 2026-05-12 -**Author:** triage analysis for issue [#3408](https://github.com/GSD-redux/get-shit-done-redux/issues/3408) +**Author:** triage analysis for issue [#3408](https://github.com/open-gsd/get-shit-done-redux/issues/3408) **Status:** Research input for ADR-0010 **Reading time:** ~15 min @@ -260,7 +260,7 @@ Phase 2 — runtime surface command (follow-up ADR or amendment): ## 10. References -- Issue: [#3408](https://github.com/GSD-redux/get-shit-done-redux/issues/3408) +- Issue: [#3408](https://github.com/open-gsd/get-shit-done-redux/issues/3408) - Existing seam: `get-shit-done/bin/lib/install-profiles.cjs` - Description lint: `scripts/lint-descriptions.cjs` - Install dispatcher: `bin/install.js:123` (mode parsing), `bin/install.js:8167-8207` (minimal staging) diff --git a/get-shit-done/bin/lib/model-catalog.cjs b/get-shit-done/bin/lib/model-catalog.cjs index c0706d384..638f10d2c 100644 --- a/get-shit-done/bin/lib/model-catalog.cjs +++ b/get-shit-done/bin/lib/model-catalog.cjs @@ -11,7 +11,7 @@ const path = require('node:path'); // // 2. Source-repo dev path — sdk/shared/model-catalog.json // Three levels up from bin/lib/: works when running directly from the -// GSD-redux/get-shit-done-redux clone (the original path introduced by #3230). +// open-gsd/get-shit-done-redux clone (the original path introduced by #3230). // // 3. GSD_MODEL_CATALOG env override — allows test harnesses and custom // deployments to point at an arbitrary catalog file. diff --git a/get-shit-done/workflows/forensics.md b/get-shit-done/workflows/forensics.md index 4f3f1d2de..0d40f544c 100644 --- a/get-shit-done/workflows/forensics.md +++ b/get-shit-done/workflows/forensics.md @@ -256,14 +256,14 @@ If actionable anomalies were found (HIGH or MEDIUM confidence): If confirmed: ```bash # Check if "bug" label exists before using it -BUG_LABEL=$(gh label list --repo GSD-redux/get-shit-done-redux --search "bug" --json name -q '.[0].name' 2>/dev/null) +BUG_LABEL=$(gh label list --repo open-gsd/get-shit-done-redux --search "bug" --json name -q '.[0].name' 2>/dev/null) LABEL_FLAG="" if [ -n "$BUG_LABEL" ]; then LABEL_FLAG="--label bug" fi gh issue create \ - --repo GSD-redux/get-shit-done-redux \ + --repo open-gsd/get-shit-done-redux \ --title "bug: {concise description from anomaly}" \ $LABEL_FLAG \ --body "{formatted findings from report}" diff --git a/get-shit-done/workflows/update.md b/get-shit-done/workflows/update.md index f853763a7..ca16f4954 100644 --- a/get-shit-done/workflows/update.md +++ b/get-shit-done/workflows/update.md @@ -377,8 +377,8 @@ Exit. ```bash CHANGELOG_TMP="/tmp/gsd-changelog-$$.md" -curl -fsSL "https://raw.githubusercontent.com/gsd-build/get-shit-done/main/CHANGELOG.md" -o "$CHANGELOG_TMP" 2>/dev/null \ - || wget -qO "$CHANGELOG_TMP" "https://raw.githubusercontent.com/gsd-build/get-shit-done/main/CHANGELOG.md" 2>/dev/null +curl -fsSL "https://raw.githubusercontent.com/open-gsd/get-shit-done-redux/main/CHANGELOG.md" -o "$CHANGELOG_TMP" 2>/dev/null \ + || wget -qO "$CHANGELOG_TMP" "https://raw.githubusercontent.com/open-gsd/get-shit-done-redux/main/CHANGELOG.md" 2>/dev/null EXTRACT_JSON=$(node "$GSD_DIR/get-shit-done/scripts/changeset/cli.cjs" extract \ --from "$INSTALLED_VERSION" \ @@ -631,7 +631,7 @@ Format completion message (changelog was already shown in confirmation step): ⚠️ Restart your runtime to pick up the new commands. -[View full changelog](https://github.com/GSD-redux/get-shit-done-redux/blob/main/CHANGELOG.md) +[View full changelog](https://github.com/open-gsd/get-shit-done-redux/blob/main/CHANGELOG.md) ``` diff --git a/package.json b/package.json index 6fbc0f78a..56274cc3f 100644 --- a/package.json +++ b/package.json @@ -38,11 +38,11 @@ "license": "MIT", "repository": { "type": "git", - "url": "git+https://github.com/GSD-redux/get-shit-done-redux.git" + "url": "git+https://github.com/open-gsd/get-shit-done-redux.git" }, - "homepage": "https://github.com/GSD-redux/get-shit-done-redux", + "homepage": "https://github.com/open-gsd/get-shit-done-redux", "bugs": { - "url": "https://github.com/GSD-redux/get-shit-done-redux/issues" + "url": "https://github.com/open-gsd/get-shit-done-redux/issues" }, "engines": { "node": ">=22.0.0" diff --git a/scripts/changeset/cli.cjs b/scripts/changeset/cli.cjs index d54545354..25fee6961 100755 --- a/scripts/changeset/cli.cjs +++ b/scripts/changeset/cli.cjs @@ -32,7 +32,7 @@ function parseArgs(argv) { toRef: null, changelog: null, output: null, - repoSlug: 'GSD-redux/get-shit-done-redux', + repoSlug: 'open-gsd/get-shit-done-redux', installCommand: 'npx get-shit-done-redux@latest', json: false, }; diff --git a/scripts/changeset/github-release-notes.cjs b/scripts/changeset/github-release-notes.cjs index 76a3d4dd4..306b3c169 100644 --- a/scripts/changeset/github-release-notes.cjs +++ b/scripts/changeset/github-release-notes.cjs @@ -145,7 +145,7 @@ function serializeGithubReleaseNotes({ ir, fromRef, toRef, - repoSlug = 'GSD-redux/get-shit-done-redux', + repoSlug = 'open-gsd/get-shit-done-redux', installCommand = 'npx get-shit-done-redux@latest', }) { if (installCommand.includes('`')) { diff --git a/scripts/sync-rulesets.sh b/scripts/sync-rulesets.sh index 870023ef9..b5f05e588 100755 --- a/scripts/sync-rulesets.sh +++ b/scripts/sync-rulesets.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -euo pipefail -REPO="${REPO:-GSD-redux/get-shit-done-redux}" +REPO="${REPO:-open-gsd/get-shit-done-redux}" ENFORCEMENT="${ENFORCEMENT:-evaluate}" case "$ENFORCEMENT" in diff --git a/sdk/HANDOVER-GOLDEN-PARITY.md b/sdk/HANDOVER-GOLDEN-PARITY.md index ae3c020b7..5b81bcb75 100644 --- a/sdk/HANDOVER-GOLDEN-PARITY.md +++ b/sdk/HANDOVER-GOLDEN-PARITY.md @@ -55,7 +55,7 @@ Use this document at the start of a new session so work continues in context wit - **Workspace:** `D:\Repos\get-shit-done` (GSD PBR backport initiative). - **Feature branch:** `feat/sdk-phase3-query-layer` (62 commits ahead of `main`; confirm against `origin` before merging). -- **Upstream PRs:** `GSD-redux/get-shit-done-redux` issue #2302. +- **Upstream PRs:** `open-gsd/get-shit-done-redux` issue #2302. --- diff --git a/sdk/HANDOVER-PARITY-DOCS.md b/sdk/HANDOVER-PARITY-DOCS.md index b76d6adb8..5798b2782 100644 --- a/sdk/HANDOVER-PARITY-DOCS.md +++ b/sdk/HANDOVER-PARITY-DOCS.md @@ -11,14 +11,14 @@ Paste this document (or `@sdk/HANDOVER-PARITY-DOCS.md`) at the start of a new ch ## Parent tracking -- **Issue:** [GSD-redux/get-shit-done-redux#2302](https://github.com/GSD-redux/get-shit-done-redux/issues/2302) — Phase 3 SDK query parity, registry, docs (parent umbrella #2007). +- **Issue:** [open-gsd/get-shit-done-redux#2302](https://github.com/open-gsd/get-shit-done-redux/issues/2302) — Phase 3 SDK query parity, registry, docs (parent umbrella #2007). - **Acceptance criteria touched here:** parity coverage/exceptions documented; registry audit reflected in a **matrix** (issue wording: “every required CJS surface either has a handler or appears in the CJS-only matrix with justification”). ## Repo / branch - **Workspace:** `D:\Repos\get-shit-done` (PBR backport); adjust path if different machine. - **Feature branch (typical):** `feat/sdk-phase3-query-layer` — confirm with `git branch` before editing. -- **Upstream:** `GSD-redux/get-shit-done-redux`. +- **Upstream:** `open-gsd/get-shit-done-redux`. ## What already exists (do not duplicate blindly) diff --git a/sdk/HANDOVER-QUERY-LAYER.md b/sdk/HANDOVER-QUERY-LAYER.md index 619432b69..8563d8032 100644 --- a/sdk/HANDOVER-QUERY-LAYER.md +++ b/sdk/HANDOVER-QUERY-LAYER.md @@ -4,17 +4,17 @@ Paste this document (or `@sdk/HANDOVER-QUERY-LAYER.md`) at the start of a new se ## Parent tracking -- **Issue:** [GSD-redux/get-shit-done-redux#2302](https://github.com/GSD-redux/get-shit-done-redux/issues/2302) — Phase 3 SDK query parity, registry, docs (umbrella #2007). -- **Workspace:** `D:\Repos\get-shit-done` (PBR backport). **Upstream:** `GSD-redux/get-shit-done-redux`. Confirm branch with `git branch` (typical: `feat/sdk-phase3-query-layer`). +- **Issue:** [open-gsd/get-shit-done-redux#2302](https://github.com/open-gsd/get-shit-done-redux/issues/2302) — Phase 3 SDK query parity, registry, docs (umbrella #2007). +- **Workspace:** `D:\Repos\get-shit-done` (PBR backport). **Upstream:** `open-gsd/get-shit-done-redux`. Confirm branch with `git branch` (typical: `feat/sdk-phase3-query-layer`). ### Scope anchors (do not confuse issues) | Role | GitHub | Notes | | --------------------------------------- | -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| **Product / requirements anchor** | [#2007](https://github.com/GSD-redux/get-shit-done-redux/issues/2007) | Problem statement, user stories, and target architecture for the SDK-first migration. **Do not** treat its original acceptance-checklist boxes as proof of what is merged upstream; work was split into phased PRs after maintainer review. | -| **Phase 3 execution scope** | [#2302](https://github.com/GSD-redux/get-shit-done-redux/issues/2302) **+ this handover** | What this branch is actually doing now: registry/CLI parity, docs, harness gaps, runner alignment follow-ups as listed below. | -| **Patch mine (if local tree is short)** | [PR #2008](https://github.com/GSD-redux/get-shit-done-redux/pull/2008) and matching branches | Large pre-phasing PR; cherry-pick or compare when something looks missing vs that line of work. | +| **Product / requirements anchor** | [#2007](https://github.com/open-gsd/get-shit-done-redux/issues/2007) | Problem statement, user stories, and target architecture for the SDK-first migration. **Do not** treat its original acceptance-checklist boxes as proof of what is merged upstream; work was split into phased PRs after maintainer review. | +| **Phase 3 execution scope** | [#2302](https://github.com/open-gsd/get-shit-done-redux/issues/2302) **+ this handover** | What this branch is actually doing now: registry/CLI parity, docs, harness gaps, runner alignment follow-ups as listed below. | +| **Patch mine (if local tree is short)** | [PR #2008](https://github.com/open-gsd/get-shit-done-redux/pull/2008) and matching branches | Large pre-phasing PR; cherry-pick or compare when something looks missing vs that line of work. | --- diff --git a/sdk/package.json b/sdk/package.json index 0f9415e17..efc900c07 100644 --- a/sdk/package.json +++ b/sdk/package.json @@ -21,12 +21,12 @@ ], "repository": { "type": "git", - "url": "git+https://github.com/GSD-redux/get-shit-done-redux.git", + "url": "git+https://github.com/open-gsd/get-shit-done-redux.git", "directory": "sdk" }, - "homepage": "https://github.com/GSD-redux/get-shit-done-redux/tree/main/sdk", + "homepage": "https://github.com/open-gsd/get-shit-done-redux/tree/main/sdk", "bugs": { - "url": "https://github.com/GSD-redux/get-shit-done-redux/issues" + "url": "https://github.com/open-gsd/get-shit-done-redux/issues" }, "author": "TÂCHES", "license": "MIT", diff --git a/sdk/src/workflow-agent-skills-consistency.test.ts b/sdk/src/workflow-agent-skills-consistency.test.ts index 49c26d759..b78d00d0e 100644 --- a/sdk/src/workflow-agent-skills-consistency.test.ts +++ b/sdk/src/workflow-agent-skills-consistency.test.ts @@ -8,7 +8,7 @@ * prompt, so any `agent_skills.` configuration in * `.planning/config.json` is silently ignored. This test prevents regression. * - * Related: https://github.com/GSD-redux/get-shit-done-redux/issues/2615 + * Related: https://github.com/open-gsd/get-shit-done-redux/issues/2615 */ import { describe, it, expect } from 'vitest'; import { readFileSync, readdirSync, statSync } from 'node:fs'; diff --git a/tests/agent-required-reading-consistency.test.cjs b/tests/agent-required-reading-consistency.test.cjs index ace444afd..75db3c29e 100644 --- a/tests/agent-required-reading-consistency.test.cjs +++ b/tests/agent-required-reading-consistency.test.cjs @@ -8,7 +8,7 @@ * Validates that all agent .md files use the standardized * pattern and that no legacy blocks remain. * - * See: https://github.com/GSD-redux/get-shit-done-redux/issues/2168 + * See: https://github.com/open-gsd/get-shit-done-redux/issues/2168 */ const { test, describe } = require('node:test'); diff --git a/tests/agent-size-budget.test.cjs b/tests/agent-size-budget.test.cjs index 3c6b13891..0619aa806 100644 --- a/tests/agent-size-budget.test.cjs +++ b/tests/agent-size-budget.test.cjs @@ -19,7 +19,7 @@ * rationale in the PR, and make sure the bloat is not duplicated content * that belongs in `get-shit-done/references/`. * - * See: https://github.com/GSD-redux/get-shit-done-redux/issues/2361 + * See: https://github.com/open-gsd/get-shit-done-redux/issues/2361 */ const { test, describe } = require('node:test'); diff --git a/tests/bug-3670-cursor-local-install-migration-lock.test.cjs b/tests/bug-3670-cursor-local-install-migration-lock.test.cjs index 1e9e3677e..f6b120158 100644 --- a/tests/bug-3670-cursor-local-install-migration-lock.test.cjs +++ b/tests/bug-3670-cursor-local-install-migration-lock.test.cjs @@ -42,7 +42,7 @@ * truly un-reclaimable lock, must still throw with a useful message naming * the holder PID. (This guards against over-reclamation.) * - * @see https://github.com/GSD-redux/get-shit-done-redux/issues/3670 + * @see https://github.com/open-gsd/get-shit-done-redux/issues/3670 */ 'use strict'; diff --git a/tests/docs-parity-live-registry.test.cjs b/tests/docs-parity-live-registry.test.cjs index 24ff4fdf1..5b97ae8af 100644 --- a/tests/docs-parity-live-registry.test.cjs +++ b/tests/docs-parity-live-registry.test.cjs @@ -105,9 +105,9 @@ const INTERNAL_COMPONENT_SLUGS = new Set([ // a real command token. 'init-', - // gsd-build — GitHub organization name: "github.com/GSD-redux/get-shit-done-redux". + // gsd-build — GitHub organization name: "github.com/open-gsd/get-shit-done-redux". // Every occurrence of "/gsd-build" in docs is the path component of a GitHub URL - // (e.g., "[#2792](https://github.com/GSD-redux/get-shit-done-redux/issues/2792)"). + // (e.g., "[#2792](https://github.com/open-gsd/get-shit-done-redux/issues/2792)"). // The regex captures "/gsd-build" from the URL path. Not a slash command. 'build', diff --git a/tests/forensics.test.cjs b/tests/forensics.test.cjs index f4bc04c94..368ad167d 100644 --- a/tests/forensics.test.cjs +++ b/tests/forensics.test.cjs @@ -143,25 +143,25 @@ describe('forensics workflow', () => { ); }); - test('workflow submits issues to GSD-redux/get-shit-done-redux, not the current repo', () => { + test('workflow submits issues to open-gsd/get-shit-done-redux, not the current repo', () => { const content = fs.readFileSync(workflowPath, 'utf-8'); // Scope check to the gh issue create invocation — a whole-file search would // pass even if gh issue create lacked --repo, because gh label list also // contains the repo string. assert.match( content, - /gh issue create[\s\S]{0,250}--repo\s+GSD-redux\/get-shit-done-redux/, - 'gh issue create must use --repo GSD-redux/get-shit-done-redux to avoid submitting to the user\'s current project repo' + /gh issue create[\s\S]{0,250}--repo\s+open-gsd/get-shit-done-redux/, + 'gh issue create must use --repo open-gsd/get-shit-done-redux to avoid submitting to the user\'s current project repo' ); }); - test('workflow checks bug label in GSD-redux/get-shit-done-redux, not the current repo', () => { + test('workflow checks bug label in open-gsd/get-shit-done-redux, not the current repo', () => { const content = fs.readFileSync(workflowPath, 'utf-8'); // Regex is more robust than a fixed-length slice to formatting changes assert.match( content, - /gh label list[\s\S]{0,250}--repo\s+GSD-redux\/get-shit-done-redux/, - 'gh label list must target GSD-redux/get-shit-done-redux' + /gh label list[\s\S]{0,250}--repo\s+open-gsd/get-shit-done-redux/, + 'gh label list must target open-gsd/get-shit-done-redux' ); }); diff --git a/tests/windows-robustness.test.cjs b/tests/windows-robustness.test.cjs index f8f9c2cb0..f764b83dd 100644 --- a/tests/windows-robustness.test.cjs +++ b/tests/windows-robustness.test.cjs @@ -14,7 +14,7 @@ * 4. findProjectRoot detects .git at same level as .planning/ * 5. @file: handoff present in all workflows that call init * - * Regression tests for: https://github.com/GSD-redux/get-shit-done-redux/issues/1343 + * Regression tests for: https://github.com/open-gsd/get-shit-done-redux/issues/1343 */ const { test, describe } = require('node:test'); diff --git a/tests/workflow-size-budget.test.cjs b/tests/workflow-size-budget.test.cjs index 2f95ce50c..f864a2dda 100644 --- a/tests/workflow-size-budget.test.cjs +++ b/tests/workflow-size-budget.test.cjs @@ -21,8 +21,8 @@ * pattern introduced by #2551). * * See: - * - https://github.com/GSD-redux/get-shit-done-redux/issues/2551 (this test) - * - https://github.com/GSD-redux/get-shit-done-redux/issues/2361 (agent budget) + * - https://github.com/open-gsd/get-shit-done-redux/issues/2551 (this test) + * - https://github.com/open-gsd/get-shit-done-redux/issues/2361 (agent budget) */ const { test, describe } = require('node:test');