|
| 1 | +--- |
| 2 | +quick_id: 260421-u38 |
| 3 | +slug: upgrade-gsd-plugin-to-version-1-38-3-mat |
| 4 | +description: Upgrade gsd-plugin to upstream GSD v1.38.3 (hotfix) and bump plugin to v2.38.3 |
| 5 | +created: 2026-04-21 |
| 6 | +upstream_version: 1.38.3 |
| 7 | +plugin_version: 2.38.3 |
| 8 | +--- |
| 9 | + |
| 10 | +# Upgrade gsd-plugin to upstream GSD v1.38.3 |
| 11 | + |
| 12 | +## Goal |
| 13 | + |
| 14 | +Sync plugin to upstream GSD v1.38.3 (the hotfix stack after 1.38.1: 1.38.2 → 1.38.3), bump plugin to v2.38.3 per the `plugin_major = upstream_major + 1` scheme, and publish a GitHub release. |
| 15 | + |
| 16 | +## Upstream release notes |
| 17 | + |
| 18 | +**v1.38.2** (2026-04-21): No CHANGELOG update; release body is just the compare link. Diff-based inspection shows behavior-level workflow changes only (sketch/spike internals). |
| 19 | + |
| 20 | +**v1.38.3** (2026-04-21): "Spike workflow defaults to interactive UI demos instead of stdout. Build a simple HTML page/web UI by default — fall back to terminal output only for pure fact-checking." |
| 21 | + |
| 22 | +## File-level diff between 1.38.1 and 1.38.3 |
| 23 | + |
| 24 | +Full list from `diff -rq`: |
| 25 | + |
| 26 | +| File | Size (diff lines) | Relevance to plugin | |
| 27 | +|------|-------------------|---------------------| |
| 28 | +| `commands/gsd/sketch.md` | 25 | → `skills/gsd-sketch/SKILL.md` (SYNC) | |
| 29 | +| `commands/gsd/spike.md` | 31 | → `skills/gsd-spike/SKILL.md` (SYNC) | |
| 30 | +| `get-shit-done/workflows/sketch.md` | 184 | **Not in plugin layout; SKIP** — plugin has no `workflows/` dir; all `@~/.claude/get-shit-done/workflows/*` refs point at the legacy install path, not the plugin. This is drift that v1.2 Phase 7 will catch and flag. | |
| 31 | +| `get-shit-done/workflows/sketch-wrap-up.md` | 19 | Skip (same reason) | |
| 32 | +| `get-shit-done/workflows/spike.md` | 414 | Skip (same reason) | |
| 33 | +| `get-shit-done/workflows/spike-wrap-up.md` | 220 | Skip (same reason) | |
| 34 | +| `package.json` | — | Version bump noted upstream (ours is separate) | |
| 35 | + |
| 36 | +## Sync scope (narrow) |
| 37 | + |
| 38 | +1. Overwrite `skills/gsd-sketch/SKILL.md` with upstream 1.38.3's `commands/gsd/sketch.md` content |
| 39 | +2. Overwrite `skills/gsd-spike/SKILL.md` with upstream 1.38.3's `commands/gsd/spike.md` content |
| 40 | +3. Both files have NEW content: |
| 41 | + - Frontier mode (no argument or "frontier") that analyzes existing sketch/spike landscape |
| 42 | + - Additional tools in allowed-tools (WebSearch, WebFetch, context7) |
| 43 | + - Updated descriptions and argument hints |
| 44 | +4. Run the durable namespace rewrite script to convert any new `/gsd-<skill>` dash-form refs introduced by upstream to `/gsd:<skill>` colon-form |
| 45 | + |
| 46 | +## Local patches to preserve |
| 47 | + |
| 48 | +`bin/lib/core.cjs` — `resolveGsdRoot`, `resolveGsdDataDir`, `resolveGsdAsset`, `MODEL_ALIAS_MAP.opus = 'claude-opus-4-7'`. (Not touched by this sync; listed for invariant checking.) |
| 49 | + |
| 50 | +## Version bumps |
| 51 | + |
| 52 | +- `package.json`: 2.38.2 → 2.38.3 |
| 53 | +- `.claude-plugin/plugin.json`: 2.38.2 → 2.38.3 |
| 54 | +- `.claude-plugin/marketplace.json`: 2.38.2 → 2.38.3 |
| 55 | +- `README.md`: "Based on" line `GSD 1.38.1` → `GSD 1.38.3`, "Plugin version" line `2.38.2` → `2.38.3` |
| 56 | +- `.planning/PROJECT.md`: Context section `GSD 1.38.1` → `GSD 1.38.3`, footer timestamp |
| 57 | + |
| 58 | +## Smoke test |
| 59 | + |
| 60 | +- `node -e "require('./bin/lib/core.cjs').resolveGsdRoot"` returns a function |
| 61 | +- `node -e "JSON.parse(require('fs').readFileSync('hooks/hooks.json','utf-8'))"` succeeds |
| 62 | +- `node bin/gsd-tools.cjs current-timestamp date` returns today's date |
| 63 | +- `node bin/maintenance/rewrite-command-namespace.cjs --dry` reports 0 remaining after the namespace-rewrite step |
| 64 | + |
| 65 | +## Commit pattern |
| 66 | + |
| 67 | +1. `feat(quick-260421-u38): sync upstream GSD v1.38.3 sketch/spike SKILL.md updates` |
| 68 | +2. `chore(quick-260421-u38): bump plugin version 2.38.2 → 2.38.3` |
| 69 | +3. `docs(quick-260421-u38): record upstream sync + version bump` |
| 70 | + |
| 71 | +## Tag + publish |
| 72 | + |
| 73 | +- `git tag -a v2.38.3 -m "..."` |
| 74 | +- `git push origin master --follow-tags` |
| 75 | +- `gh release create v2.38.3 --title "v2.38.3"` with release-notes body |
| 76 | + |
| 77 | +## Not in this sync |
| 78 | + |
| 79 | +- **Workflow file changes** (sketch.md, spike.md, sketch-wrap-up.md, spike-wrap-up.md in upstream's `get-shit-done/workflows/`). Plugin has no workflows/ dir and every `@~/.claude/get-shit-done/workflows/...` reference in plugin SKILL.md files dangles. This structural drift is v1.2 Phase 7's target. Capturing it here only would be a scope creep. |
| 80 | +- **Upstream CHANGELOG.md update** — upstream hasn't updated CHANGELOG for 1.38.2/1.38.3 yet; our plugin CHANGELOG doesn't exist yet either (DOCS-02 is v1.2 Phase 9 scope). |
0 commit comments