From 33ba6ab84c57d9930924c15dd8d906494454b93f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 9 Jun 2026 13:38:12 -0400 Subject: [PATCH] fix(changeset): valid pr fields + correct migration name in 1.4.3 fragments --- .changeset/934-reapply-pristine-baseline.md | 4 ++-- .changeset/935-changeset-cli-install.md | 2 +- .changeset/936-convergence-inline-plan-phase.md | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.changeset/934-reapply-pristine-baseline.md b/.changeset/934-reapply-pristine-baseline.md index 9b86100a7..717948e6f 100644 --- a/.changeset/934-reapply-pristine-baseline.md +++ b/.changeset/934-reapply-pristine-baseline.md @@ -1,9 +1,9 @@ --- type: Fixed -pr: 935 +pr: 937 --- Fix `--reapply` verifier false-positives on post-#604-rename installs caused by two gaps in pristine-baseline handling: **Gap 1** (`verify-reapply-patches.cjs`): when `backup-meta.json` records a `pristine_hash` for a file but `gsd-pristine/` has no corresponding snapshot on disk, the verifier fell to over-broad mode (every upstream-changed line treated as a user-added requirement) and produced `FAIL_USER_LINES_MISSING` false positives. Fix: return advisory `OK_NO_BASELINE` reason (non-blocking, exit 0) when a recorded hash is present but the pristine file is absent — the verifier cannot reason correctly without a baseline and must not block. -**Gap 2** (new migration `004-prune-stale-pristine-get-shit-done`): migration 003 removed legacy `get-shit-done/` runtime files but left `gsd-pristine/get-shit-done/` orphan snapshots in place. Those stale snapshots referenced `get-shit-done/...` key paths that no longer match the active `gsd-core/...` layout, contributing to `FAIL_INSTALLED_MISSING` false reports. Fix: add a new migration (not editing 003, to preserve its checksum) that removes all files under `gsd-pristine/get-shit-done/`. (#934) +**Gap 2** (new migration `004-prune-stale-pristine-snapshots`): migration 003 removed legacy `get-shit-done/` runtime files but left `gsd-pristine/get-shit-done/` orphan snapshots in place. Those stale snapshots referenced `get-shit-done/...` key paths that no longer match the active `gsd-core/...` layout, contributing to `FAIL_INSTALLED_MISSING` false reports. Fix: add a new migration (not editing 003, to preserve its checksum) that removes all files under `gsd-pristine/get-shit-done/`. (#934) diff --git a/.changeset/935-changeset-cli-install.md b/.changeset/935-changeset-cli-install.md index d18850c8a..c2a2a8c49 100644 --- a/.changeset/935-changeset-cli-install.md +++ b/.changeset/935-changeset-cli-install.md @@ -1,5 +1,5 @@ --- type: Fixed -pr: 935 +pr: 938 --- **`/gsd-update` changelog preview no longer silently fails** — the installer now copies `scripts/changeset/` and `scripts/lib/` into the runtime config dir so `$GSD_DIR/scripts/changeset/cli.cjs` resolves at runtime; `update.md` was updated to use the correct installed path and to surface an explicit error if the CLI is missing rather than swallowing it. diff --git a/.changeset/936-convergence-inline-plan-phase.md b/.changeset/936-convergence-inline-plan-phase.md index 5ebdf7df6..6577aeb0d 100644 --- a/.changeset/936-convergence-inline-plan-phase.md +++ b/.changeset/936-convergence-inline-plan-phase.md @@ -1,5 +1,5 @@ --- type: Fixed -pr: 0 +pr: 939 --- **`plan-review-convergence` now runs `gsd-plan-phase` inline instead of inside `Agent()`** — both sites that previously wrapped `gsd-plan-phase` in `Agent()` (initial planning + replan loop) have been changed to bare `Skill()` calls at depth 0. On Claude Code, a depth-1 Agent has no Agent tool, so a wrapped `plan-phase` could never spawn `gsd-planner` or `gsd-plan-checker` — the replan loop silently failed to produce a revised plan whenever HIGH concerns were found. Running plan-phase inline from the depth-0 orchestrator (which retains the Agent tool) restores the full planner→checker sub-agent chain. A new structural guard test (`bug-936-no-nested-spawner-wrap.test.cjs`) statically scans all workflow files and fails if any workflow wraps a spawner orchestrator in `Agent()` without a `RUNTIME != claude` carve-out, preventing regression. (#936)