fix(3582): regression test for Codex install skill-materialization
GSD 1.42.2 reported a successful Codex install but printed `Skipped Codex skill-copy generation (Codex discovers official skills directly)` and left users with no routable `$gsd-*` entrypoints in Codex CLI 0.130.0+. Confirmed reproducible on Windows 11 and macOS by three independent reporters. Root cause: Codex CLI 0.130.0 does NOT auto-discover commands from `~/.codex/get-shit-done/workflows/*.md` or `agents/*.md`. It only registers slash commands derived from `~/.codex/skills/<name>/SKILL.md`. The "Codex discovers official skills directly" assumption was wrong. The fix already shipped in #3562 — `bin/install.js` now calls `copyCommandsAsCodexSkills()` for the Codex install path, materializing one `SKILL.md` per `commands/gsd/*.md` with Codex-flavored frontmatter and the `<codex_skill_adapter>` body. Verified locally: a Codex global install into a temp `CODEX_HOME` produces 67 `gsd-*/SKILL.md` files including `gsd-map-codebase` (the literal command from the bug report). This change adds the regression test the triage diagnose pass called for. It pins five facets of the contract so the 1.42.2 failure mode cannot silently come back: 1. `<CODEX_HOME>/skills/gsd-*/SKILL.md` exists for every shipped command (count matches `commands/gsd/**/*.md` exactly). 2. Each generated SKILL.md has YAML frontmatter with `name:` matching the directory and a non-empty `description:`. 3. Every SKILL.md body contains the `<codex_skill_adapter>` block — without it Codex can't route `$gsd-<cmd>` invocations. 4. The five representative commands named in the report and triage (`gsd-map-codebase`, `gsd-execute-phase`, `gsd-plan-phase`, `gsd-new-project`, `gsd-health`) are all present. 5. Installer output never prints "Skipped Codex skill-copy generation" or "Codex discovers official skills directly", and DOES print "Installed N skills to skills/" — locking the success-while-skipping anti-pattern out. Validation: - New test: 5/5 pass on Mac and Linux Docker. - Full suite (`gsd-test-both` per CLAUDE.md): 10,682/10,682 on Mac, 10,682/10,682 on Linux Docker, zero cross-platform diff. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
5
.changeset/tidy-voles-rally.md
Normal file
5
.changeset/tidy-voles-rally.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
type: Fixed
|
||||
pr: 3582
|
||||
---
|
||||
**Locked Codex skill-materialization contract** — added a regression test for the GSD 1.42.2 failure where Codex global install completed successfully but printed `Skipped Codex skill-copy generation (Codex discovers official skills directly)` and left users with no routable `$gsd-*` entrypoints in Codex CLI 0.130.0+. The fix shipped in #3562 (Codex install now materializes `$CODEX_HOME/skills/gsd-<name>/SKILL.md` for every shipped command); this test pins the contract so the regression cannot silently come back.
|
||||
Reference in New Issue
Block a user