From 4bdf0fd1cd56ae85668a30581a6fd0daedafea25 Mon Sep 17 00:00:00 2001 From: Tom Boucher Date: Tue, 30 Jun 2026 00:11:34 -0400 Subject: [PATCH] fix: normalize package version in golden-install-parity hashes (#1837) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The rc release step runs `npm version X.Y.Z-rc.N` before tests, which rebakes the current version string into hook files and `gsd-core/VERSION`. Without normalization, every golden parity hash differed post-bump and the entire test suite failed with 16 golden failures — even though no files actually changed in a semantically meaningful way. Add `PKG_VERSION` normalization (`.split(PKG_VERSION).join('')`) alongside the existing `` root normalization so the goldens are stable across version bumps. Regenerate all 16 fixtures with the new normalization to establish the new baseline. Co-authored-by: Claude Sonnet 4.6 --- .../golden-install-parity/antigravity.json | 40 ++-- .../golden-install-parity/augment.json | 40 ++-- .../golden-install-parity/claude.json | 40 ++-- .../fixtures/golden-install-parity/cline.json | 4 +- .../golden-install-parity/codebuddy.json | 40 ++-- .../fixtures/golden-install-parity/codex.json | 8 +- .../golden-install-parity/copilot.json | 4 +- .../golden-install-parity/cursor.json | 4 +- .../golden-install-parity/gemini.json | 40 ++-- .../golden-install-parity/hermes.json | 182 +++++++++--------- .../fixtures/golden-install-parity/kilo.json | 40 ++-- .../fixtures/golden-install-parity/kimi.json | 4 +- .../golden-install-parity/opencode.json | 40 ++-- .../fixtures/golden-install-parity/qwen.json | 40 ++-- .../fixtures/golden-install-parity/trae.json | 4 +- .../golden-install-parity/windsurf.json | 4 +- tests/golden-install-parity.test.cjs | 12 +- 17 files changed, 275 insertions(+), 271 deletions(-) diff --git a/tests/fixtures/golden-install-parity/antigravity.json b/tests/fixtures/golden-install-parity/antigravity.json index b8d76746d..18b3aa0ba 100644 --- a/tests/fixtures/golden-install-parity/antigravity.json +++ b/tests/fixtures/golden-install-parity/antigravity.json @@ -35,8 +35,8 @@ "agents/gsd-ui-researcher.md": "8c7e91c85e7099f5", "agents/gsd-user-profiler.md": "25d65f6458454764", "agents/gsd-verifier.md": "5902e27c7091f4b1", - "gsd-core/CHANGELOG.md": "e141e3fb369ff712", - "gsd-core/VERSION": "562368b20a64be95", + "gsd-core/CHANGELOG.md": "8bf626da3d88f8af", + "gsd-core/VERSION": "ef0deccd81a6723c", "gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74", "gsd-core/bin/gsd-tools.cjs": "5cf26d5f9e588cf8", "gsd-core/bin/gsd_run": "62d9b647ede212e6", @@ -300,24 +300,24 @@ "gsd-core/workflows/validate-phase.md": "5bac28c71d21c740", "gsd-core/workflows/verify-phase.md": "e7059c04c816e62d", "gsd-core/workflows/verify-work.md": "dd7f78f947b86976", - "hooks/gsd-check-update-worker.js": "668c24ea284ff623", - "hooks/gsd-check-update.js": "7e42f76b2bcdd764", - "hooks/gsd-config-reload.js": "17bf778d432b3d2a", - "hooks/gsd-context-monitor.js": "ead852d2b4ddb92a", - "hooks/gsd-cursor-post-tool.js": "d61ee04f6ee7858c", - "hooks/gsd-cursor-session-start.js": "148b8ec4e2c97f00", - "hooks/gsd-ensure-canonical-path.js": "83e02e841e123037", - "hooks/gsd-graphify-update.sh": "845aeecb0d82dd6e", - "hooks/gsd-phase-boundary.sh": "6aa3ba9af3d465d9", - "hooks/gsd-prompt-guard.js": "4b08c2dce0233e2d", - "hooks/gsd-read-guard.js": "b602f88f046a7551", - "hooks/gsd-read-injection-scanner.js": "d17d30e2b1a42582", - "hooks/gsd-session-state.sh": "b1496e6a5204a6df", - "hooks/gsd-statusline.js": "c3ceac8122b2c3ed", - "hooks/gsd-update-banner.js": "74817c820b7a4ec1", - "hooks/gsd-validate-commit.sh": "14d3d966c74dc310", - "hooks/gsd-workflow-guard.js": "e22b9fb57f0e64f6", - "hooks/gsd-worktree-path-guard.js": "25969c741edaf032", + "hooks/gsd-check-update-worker.js": "fa301e6366270d5f", + "hooks/gsd-check-update.js": "4617a98bf529e4c3", + "hooks/gsd-config-reload.js": "96546e0e8bb47904", + "hooks/gsd-context-monitor.js": "6d81d7326e5b2710", + "hooks/gsd-cursor-post-tool.js": "9168e0a09de1972a", + "hooks/gsd-cursor-session-start.js": "9b2e6f4f0c405375", + "hooks/gsd-ensure-canonical-path.js": "64d092d7e4a01211", + "hooks/gsd-graphify-update.sh": "e4c6e14fe6ad64ff", + "hooks/gsd-phase-boundary.sh": "32739d5fbe0d0a1c", + "hooks/gsd-prompt-guard.js": "a749b8cb2c5248de", + "hooks/gsd-read-guard.js": "9e423cd03e2d1b16", + "hooks/gsd-read-injection-scanner.js": "eefea61f9b0e464c", + "hooks/gsd-session-state.sh": "e54379ba86bf1b6d", + "hooks/gsd-statusline.js": "8ae31be7a006204b", + "hooks/gsd-update-banner.js": "55143a25f978f301", + "hooks/gsd-validate-commit.sh": "bf5dd61d33cb3a38", + "hooks/gsd-workflow-guard.js": "91ae24a15d2bca6f", + "hooks/gsd-worktree-path-guard.js": "838498aa91619740", "hooks/lib/git-cmd.js": "268ba15992ca0b23", "hooks/lib/gsd-graphify-rebuild.sh": "66af89601074d2a9", "hooks/managed-hooks-registry.cjs": "45b2431992d3d7d2", diff --git a/tests/fixtures/golden-install-parity/augment.json b/tests/fixtures/golden-install-parity/augment.json index 004b272f2..30b4704a0 100644 --- a/tests/fixtures/golden-install-parity/augment.json +++ b/tests/fixtures/golden-install-parity/augment.json @@ -104,8 +104,8 @@ "commands/gsd-verify-work.md": "1cb62ea69b117acb", "commands/gsd-workspace.md": "dd1bc09d2b768e0b", "commands/gsd-workstreams.md": "52ab9c585d3a00f3", - "gsd-core/CHANGELOG.md": "e141e3fb369ff712", - "gsd-core/VERSION": "562368b20a64be95", + "gsd-core/CHANGELOG.md": "8bf626da3d88f8af", + "gsd-core/VERSION": "ef0deccd81a6723c", "gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74", "gsd-core/bin/gsd-tools.cjs": "74594e8bf36e5580", "gsd-core/bin/gsd_run": "62d9b647ede212e6", @@ -369,24 +369,24 @@ "gsd-core/workflows/validate-phase.md": "50f37b705b6e44fb", "gsd-core/workflows/verify-phase.md": "7579af6cd757f644", "gsd-core/workflows/verify-work.md": "6f9c666386cb6d7e", - "hooks/gsd-check-update-worker.js": "e42be7414a05e99d", - "hooks/gsd-check-update.js": "b3333951b2091807", - "hooks/gsd-config-reload.js": "17bf778d432b3d2a", - "hooks/gsd-context-monitor.js": "11e88809e2cdc331", - "hooks/gsd-cursor-post-tool.js": "d61ee04f6ee7858c", - "hooks/gsd-cursor-session-start.js": "148b8ec4e2c97f00", - "hooks/gsd-ensure-canonical-path.js": "3499b6e6b453dc59", - "hooks/gsd-graphify-update.sh": "845aeecb0d82dd6e", - "hooks/gsd-phase-boundary.sh": "6aa3ba9af3d465d9", - "hooks/gsd-prompt-guard.js": "4b08c2dce0233e2d", - "hooks/gsd-read-guard.js": "b602f88f046a7551", - "hooks/gsd-read-injection-scanner.js": "ca99873d0bf8b4ba", - "hooks/gsd-session-state.sh": "b1496e6a5204a6df", - "hooks/gsd-statusline.js": "9b7005c36891671d", - "hooks/gsd-update-banner.js": "74817c820b7a4ec1", - "hooks/gsd-validate-commit.sh": "14d3d966c74dc310", - "hooks/gsd-workflow-guard.js": "e22b9fb57f0e64f6", - "hooks/gsd-worktree-path-guard.js": "7921523b20372a1e", + "hooks/gsd-check-update-worker.js": "cc1ef5f840f9dfc9", + "hooks/gsd-check-update.js": "7b3a7983d5f1f5d3", + "hooks/gsd-config-reload.js": "96546e0e8bb47904", + "hooks/gsd-context-monitor.js": "44ff1bbf292747af", + "hooks/gsd-cursor-post-tool.js": "9168e0a09de1972a", + "hooks/gsd-cursor-session-start.js": "9b2e6f4f0c405375", + "hooks/gsd-ensure-canonical-path.js": "d569f5f3578e93e5", + "hooks/gsd-graphify-update.sh": "e4c6e14fe6ad64ff", + "hooks/gsd-phase-boundary.sh": "32739d5fbe0d0a1c", + "hooks/gsd-prompt-guard.js": "a749b8cb2c5248de", + "hooks/gsd-read-guard.js": "9e423cd03e2d1b16", + "hooks/gsd-read-injection-scanner.js": "c8800819f7443a15", + "hooks/gsd-session-state.sh": "e54379ba86bf1b6d", + "hooks/gsd-statusline.js": "3be32d2012c77fc1", + "hooks/gsd-update-banner.js": "55143a25f978f301", + "hooks/gsd-validate-commit.sh": "bf5dd61d33cb3a38", + "hooks/gsd-workflow-guard.js": "91ae24a15d2bca6f", + "hooks/gsd-worktree-path-guard.js": "65b934c3a1709e89", "hooks/lib/git-cmd.js": "268ba15992ca0b23", "hooks/lib/gsd-graphify-rebuild.sh": "66af89601074d2a9", "hooks/managed-hooks-registry.cjs": "f46a329fcfefa465", diff --git a/tests/fixtures/golden-install-parity/claude.json b/tests/fixtures/golden-install-parity/claude.json index 1c5edb297..3ce7511f4 100644 --- a/tests/fixtures/golden-install-parity/claude.json +++ b/tests/fixtures/golden-install-parity/claude.json @@ -34,8 +34,8 @@ "agents/gsd-ui-researcher.md": "85d7d6cc36388435", "agents/gsd-user-profiler.md": "003276f85792cfda", "agents/gsd-verifier.md": "76bcf41aa9fd9b53", - "gsd-core/CHANGELOG.md": "e141e3fb369ff712", - "gsd-core/VERSION": "562368b20a64be95", + "gsd-core/CHANGELOG.md": "8bf626da3d88f8af", + "gsd-core/VERSION": "ef0deccd81a6723c", "gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74", "gsd-core/bin/gsd-tools.cjs": "74594e8bf36e5580", "gsd-core/bin/gsd_run": "62d9b647ede212e6", @@ -299,24 +299,24 @@ "gsd-core/workflows/validate-phase.md": "2aa540f2c2479501", "gsd-core/workflows/verify-phase.md": "15a999f82868ad29", "gsd-core/workflows/verify-work.md": "d2e8f5d5f2b8f050", - "hooks/gsd-check-update-worker.js": "f0c2b5b7169642ba", - "hooks/gsd-check-update.js": "a0e4882e66670e4d", - "hooks/gsd-config-reload.js": "17bf778d432b3d2a", - "hooks/gsd-context-monitor.js": "fbe88dd134dc7156", - "hooks/gsd-cursor-post-tool.js": "dd1b12f795de8d72", - "hooks/gsd-cursor-session-start.js": "a93095ac609a3ea6", - "hooks/gsd-ensure-canonical-path.js": "34f4522a23cc5f41", - "hooks/gsd-graphify-update.sh": "845aeecb0d82dd6e", - "hooks/gsd-phase-boundary.sh": "6aa3ba9af3d465d9", - "hooks/gsd-prompt-guard.js": "4b08c2dce0233e2d", - "hooks/gsd-read-guard.js": "b602f88f046a7551", - "hooks/gsd-read-injection-scanner.js": "e149870bbd213882", - "hooks/gsd-session-state.sh": "b1496e6a5204a6df", - "hooks/gsd-statusline.js": "38cb2dd48cc03294", - "hooks/gsd-update-banner.js": "d3228b9e674296b4", - "hooks/gsd-validate-commit.sh": "14d3d966c74dc310", - "hooks/gsd-workflow-guard.js": "6faa8f81812a8b5d", - "hooks/gsd-worktree-path-guard.js": "5c2ebabb9d21b42a", + "hooks/gsd-check-update-worker.js": "a530efdb5fdc0da3", + "hooks/gsd-check-update.js": "25cde66a12d6b886", + "hooks/gsd-config-reload.js": "96546e0e8bb47904", + "hooks/gsd-context-monitor.js": "ecbe9747e4a442e0", + "hooks/gsd-cursor-post-tool.js": "8a8a249c0642cc71", + "hooks/gsd-cursor-session-start.js": "05a14e903c5edafa", + "hooks/gsd-ensure-canonical-path.js": "b4b3b88a0e493b16", + "hooks/gsd-graphify-update.sh": "e4c6e14fe6ad64ff", + "hooks/gsd-phase-boundary.sh": "32739d5fbe0d0a1c", + "hooks/gsd-prompt-guard.js": "a749b8cb2c5248de", + "hooks/gsd-read-guard.js": "9e423cd03e2d1b16", + "hooks/gsd-read-injection-scanner.js": "00d2449afefd2e5f", + "hooks/gsd-session-state.sh": "e54379ba86bf1b6d", + "hooks/gsd-statusline.js": "7c315416ffc99a9a", + "hooks/gsd-update-banner.js": "b457746cb76c1957", + "hooks/gsd-validate-commit.sh": "bf5dd61d33cb3a38", + "hooks/gsd-workflow-guard.js": "59b46a74d19d58d3", + "hooks/gsd-worktree-path-guard.js": "02be1bb504b22eb5", "hooks/lib/git-cmd.js": "268ba15992ca0b23", "hooks/lib/gsd-graphify-rebuild.sh": "66af89601074d2a9", "hooks/managed-hooks-registry.cjs": "ea876b1ec185173e", diff --git a/tests/fixtures/golden-install-parity/cline.json b/tests/fixtures/golden-install-parity/cline.json index d5755c024..fec9267a9 100644 --- a/tests/fixtures/golden-install-parity/cline.json +++ b/tests/fixtures/golden-install-parity/cline.json @@ -38,8 +38,8 @@ "agents/gsd-ui-researcher.md": "878c7d0e82fa861a", "agents/gsd-user-profiler.md": "622220df0654b6bf", "agents/gsd-verifier.md": "0a437cf3ed90693f", - "gsd-core/CHANGELOG.md": "e141e3fb369ff712", - "gsd-core/VERSION": "562368b20a64be95", + "gsd-core/CHANGELOG.md": "8bf626da3d88f8af", + "gsd-core/VERSION": "ef0deccd81a6723c", "gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74", "gsd-core/bin/gsd-tools.cjs": "74594e8bf36e5580", "gsd-core/bin/gsd_run": "62d9b647ede212e6", diff --git a/tests/fixtures/golden-install-parity/codebuddy.json b/tests/fixtures/golden-install-parity/codebuddy.json index 253339c25..eabeb4ed8 100644 --- a/tests/fixtures/golden-install-parity/codebuddy.json +++ b/tests/fixtures/golden-install-parity/codebuddy.json @@ -104,8 +104,8 @@ "commands/gsd-verify-work.md": "6edbbb82a1f2aea7", "commands/gsd-workspace.md": "d765ff60cde657a6", "commands/gsd-workstreams.md": "884b6c8d648422c7", - "gsd-core/CHANGELOG.md": "e141e3fb369ff712", - "gsd-core/VERSION": "562368b20a64be95", + "gsd-core/CHANGELOG.md": "8bf626da3d88f8af", + "gsd-core/VERSION": "ef0deccd81a6723c", "gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74", "gsd-core/bin/gsd-tools.cjs": "74594e8bf36e5580", "gsd-core/bin/gsd_run": "62d9b647ede212e6", @@ -369,24 +369,24 @@ "gsd-core/workflows/validate-phase.md": "50f37b705b6e44fb", "gsd-core/workflows/verify-phase.md": "7579af6cd757f644", "gsd-core/workflows/verify-work.md": "6f9c666386cb6d7e", - "hooks/gsd-check-update-worker.js": "084c3f7109bb4d29", - "hooks/gsd-check-update.js": "23074675b7c31a47", - "hooks/gsd-config-reload.js": "17bf778d432b3d2a", - "hooks/gsd-context-monitor.js": "3b47e76273f1a440", - "hooks/gsd-cursor-post-tool.js": "d61ee04f6ee7858c", - "hooks/gsd-cursor-session-start.js": "148b8ec4e2c97f00", - "hooks/gsd-ensure-canonical-path.js": "6900c226c1c28a44", - "hooks/gsd-graphify-update.sh": "845aeecb0d82dd6e", - "hooks/gsd-phase-boundary.sh": "6aa3ba9af3d465d9", - "hooks/gsd-prompt-guard.js": "4b08c2dce0233e2d", - "hooks/gsd-read-guard.js": "b602f88f046a7551", - "hooks/gsd-read-injection-scanner.js": "95fe2c59ef5bba35", - "hooks/gsd-session-state.sh": "b1496e6a5204a6df", - "hooks/gsd-statusline.js": "b3549ec6d96337b3", - "hooks/gsd-update-banner.js": "74817c820b7a4ec1", - "hooks/gsd-validate-commit.sh": "14d3d966c74dc310", - "hooks/gsd-workflow-guard.js": "e22b9fb57f0e64f6", - "hooks/gsd-worktree-path-guard.js": "f3ca67ad040431a7", + "hooks/gsd-check-update-worker.js": "bdc9324a2f080ddd", + "hooks/gsd-check-update.js": "b7669f605631e506", + "hooks/gsd-config-reload.js": "96546e0e8bb47904", + "hooks/gsd-context-monitor.js": "f372804867cabe40", + "hooks/gsd-cursor-post-tool.js": "9168e0a09de1972a", + "hooks/gsd-cursor-session-start.js": "9b2e6f4f0c405375", + "hooks/gsd-ensure-canonical-path.js": "434887487ae63ec5", + "hooks/gsd-graphify-update.sh": "e4c6e14fe6ad64ff", + "hooks/gsd-phase-boundary.sh": "32739d5fbe0d0a1c", + "hooks/gsd-prompt-guard.js": "a749b8cb2c5248de", + "hooks/gsd-read-guard.js": "9e423cd03e2d1b16", + "hooks/gsd-read-injection-scanner.js": "7f7a7615b303369a", + "hooks/gsd-session-state.sh": "e54379ba86bf1b6d", + "hooks/gsd-statusline.js": "ef8dcb6d64fd4493", + "hooks/gsd-update-banner.js": "55143a25f978f301", + "hooks/gsd-validate-commit.sh": "bf5dd61d33cb3a38", + "hooks/gsd-workflow-guard.js": "91ae24a15d2bca6f", + "hooks/gsd-worktree-path-guard.js": "548fc57131a04fa7", "hooks/lib/git-cmd.js": "268ba15992ca0b23", "hooks/lib/gsd-graphify-rebuild.sh": "66af89601074d2a9", "hooks/managed-hooks-registry.cjs": "0368fd4ac7bb3d1d", diff --git a/tests/fixtures/golden-install-parity/codex.json b/tests/fixtures/golden-install-parity/codex.json index daddd245e..e87944fbc 100644 --- a/tests/fixtures/golden-install-parity/codex.json +++ b/tests/fixtures/golden-install-parity/codex.json @@ -70,8 +70,8 @@ "agents/gsd-verifier.md": "3471118de7e985c7", "agents/gsd-verifier.toml": "68f4dcc6c0311e00", "config.toml": "a34316b9ac61a620", - "gsd-core/CHANGELOG.md": "e141e3fb369ff712", - "gsd-core/VERSION": "562368b20a64be95", + "gsd-core/CHANGELOG.md": "8bf626da3d88f8af", + "gsd-core/VERSION": "ef0deccd81a6723c", "gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74", "gsd-core/bin/gsd-tools.cjs": "74594e8bf36e5580", "gsd-core/bin/gsd_run": "62d9b647ede212e6", @@ -335,8 +335,8 @@ "gsd-core/workflows/validate-phase.md": "4e94708c9ca15d70", "gsd-core/workflows/verify-phase.md": "59bb0b12ebb47f5e", "gsd-core/workflows/verify-work.md": "92fb4e876d75ded5", - "hooks/gsd-check-update.js": "79c846cd8dd54caa", - "hooks/gsd-context-monitor.js": "caa8614524452835", + "hooks/gsd-check-update.js": "ef48957eb6ac6a10", + "hooks/gsd-context-monitor.js": "76fecaaa2babd6c1", "scripts/changeset/README.md": "86ff89331dfd94b2", "scripts/changeset/cli.cjs": "68f92a344b199271", "scripts/changeset/github-release-notes.cjs": "795677f0c009b132", diff --git a/tests/fixtures/golden-install-parity/copilot.json b/tests/fixtures/golden-install-parity/copilot.json index caa6e7c47..fe7415a09 100644 --- a/tests/fixtures/golden-install-parity/copilot.json +++ b/tests/fixtures/golden-install-parity/copilot.json @@ -36,8 +36,8 @@ "agents/gsd-user-profiler.agent.md": "ae16a248e18dd42b", "agents/gsd-verifier.agent.md": "6fe2c4f008ebfa22", "copilot-instructions.md": "1fb04111759f1645", - "gsd-core/CHANGELOG.md": "e141e3fb369ff712", - "gsd-core/VERSION": "562368b20a64be95", + "gsd-core/CHANGELOG.md": "8bf626da3d88f8af", + "gsd-core/VERSION": "ef0deccd81a6723c", "gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74", "gsd-core/bin/gsd-tools.cjs": "5cf26d5f9e588cf8", "gsd-core/bin/gsd_run": "62d9b647ede212e6", diff --git a/tests/fixtures/golden-install-parity/cursor.json b/tests/fixtures/golden-install-parity/cursor.json index 9fff3e76f..86153da58 100644 --- a/tests/fixtures/golden-install-parity/cursor.json +++ b/tests/fixtures/golden-install-parity/cursor.json @@ -104,8 +104,8 @@ "commands/gsd-verify-work.md": "86a42f859bc26dd6", "commands/gsd-workspace.md": "5c40114e6af87e3d", "commands/gsd-workstreams.md": "112660ceb663c750", - "gsd-core/CHANGELOG.md": "e141e3fb369ff712", - "gsd-core/VERSION": "562368b20a64be95", + "gsd-core/CHANGELOG.md": "8bf626da3d88f8af", + "gsd-core/VERSION": "ef0deccd81a6723c", "gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74", "gsd-core/bin/gsd-tools.cjs": "5cf26d5f9e588cf8", "gsd-core/bin/gsd_run": "62d9b647ede212e6", diff --git a/tests/fixtures/golden-install-parity/gemini.json b/tests/fixtures/golden-install-parity/gemini.json index 7a0cf1724..b2fbb77a7 100644 --- a/tests/fixtures/golden-install-parity/gemini.json +++ b/tests/fixtures/golden-install-parity/gemini.json @@ -104,8 +104,8 @@ "commands/gsd/verify-work.toml": "58ec25cb1f5d5434", "commands/gsd/workspace.toml": "7f1658bb61c9743d", "commands/gsd/workstreams.toml": "95f0c349b808a84c", - "gsd-core/CHANGELOG.md": "e141e3fb369ff712", - "gsd-core/VERSION": "562368b20a64be95", + "gsd-core/CHANGELOG.md": "8bf626da3d88f8af", + "gsd-core/VERSION": "ef0deccd81a6723c", "gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74", "gsd-core/bin/gsd-tools.cjs": "74594e8bf36e5580", "gsd-core/bin/gsd_run": "62d9b647ede212e6", @@ -369,24 +369,24 @@ "gsd-core/workflows/validate-phase.md": "2d998cb78c918d08", "gsd-core/workflows/verify-phase.md": "7579af6cd757f644", "gsd-core/workflows/verify-work.md": "1265e07f2c74a218", - "hooks/gsd-check-update-worker.js": "7a3eba8c1c166dd2", - "hooks/gsd-check-update.js": "c1c78326299f6eae", - "hooks/gsd-config-reload.js": "17bf778d432b3d2a", - "hooks/gsd-context-monitor.js": "c7793e66ce76aaeb", - "hooks/gsd-cursor-post-tool.js": "d61ee04f6ee7858c", - "hooks/gsd-cursor-session-start.js": "148b8ec4e2c97f00", - "hooks/gsd-ensure-canonical-path.js": "a19947cac42002d4", - "hooks/gsd-graphify-update.sh": "845aeecb0d82dd6e", - "hooks/gsd-phase-boundary.sh": "6aa3ba9af3d465d9", - "hooks/gsd-prompt-guard.js": "4b08c2dce0233e2d", - "hooks/gsd-read-guard.js": "b602f88f046a7551", - "hooks/gsd-read-injection-scanner.js": "f8db0daa41afe13b", - "hooks/gsd-session-state.sh": "b1496e6a5204a6df", - "hooks/gsd-statusline.js": "c238ad773bacae32", - "hooks/gsd-update-banner.js": "74817c820b7a4ec1", - "hooks/gsd-validate-commit.sh": "14d3d966c74dc310", - "hooks/gsd-workflow-guard.js": "e22b9fb57f0e64f6", - "hooks/gsd-worktree-path-guard.js": "134c7919c4cbc78e", + "hooks/gsd-check-update-worker.js": "5f5f2b73e6c14a7f", + "hooks/gsd-check-update.js": "0e955593b7884d99", + "hooks/gsd-config-reload.js": "96546e0e8bb47904", + "hooks/gsd-context-monitor.js": "57cf670fa45153a7", + "hooks/gsd-cursor-post-tool.js": "9168e0a09de1972a", + "hooks/gsd-cursor-session-start.js": "9b2e6f4f0c405375", + "hooks/gsd-ensure-canonical-path.js": "6046bb90482883ad", + "hooks/gsd-graphify-update.sh": "e4c6e14fe6ad64ff", + "hooks/gsd-phase-boundary.sh": "32739d5fbe0d0a1c", + "hooks/gsd-prompt-guard.js": "a749b8cb2c5248de", + "hooks/gsd-read-guard.js": "9e423cd03e2d1b16", + "hooks/gsd-read-injection-scanner.js": "f1adfec005911860", + "hooks/gsd-session-state.sh": "e54379ba86bf1b6d", + "hooks/gsd-statusline.js": "d20735894543598a", + "hooks/gsd-update-banner.js": "55143a25f978f301", + "hooks/gsd-validate-commit.sh": "bf5dd61d33cb3a38", + "hooks/gsd-workflow-guard.js": "91ae24a15d2bca6f", + "hooks/gsd-worktree-path-guard.js": "e07a5c35190a182e", "hooks/lib/git-cmd.js": "268ba15992ca0b23", "hooks/lib/gsd-graphify-rebuild.sh": "66af89601074d2a9", "hooks/managed-hooks-registry.cjs": "9372d0d21a2c4298", diff --git a/tests/fixtures/golden-install-parity/hermes.json b/tests/fixtures/golden-install-parity/hermes.json index 8263bee3a..337ddeb00 100644 --- a/tests/fixtures/golden-install-parity/hermes.json +++ b/tests/fixtures/golden-install-parity/hermes.json @@ -35,8 +35,8 @@ "agents/gsd-ui-researcher.md": "87cf9eebc37c4a37", "agents/gsd-user-profiler.md": "ca3bf75581f211a0", "agents/gsd-verifier.md": "c1d1448bf31039ec", - "gsd-core/CHANGELOG.md": "e141e3fb369ff712", - "gsd-core/VERSION": "562368b20a64be95", + "gsd-core/CHANGELOG.md": "8bf626da3d88f8af", + "gsd-core/VERSION": "ef0deccd81a6723c", "gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74", "gsd-core/bin/gsd-tools.cjs": "74594e8bf36e5580", "gsd-core/bin/gsd_run": "62d9b647ede212e6", @@ -300,24 +300,24 @@ "gsd-core/workflows/validate-phase.md": "067acd7aeed52c5b", "gsd-core/workflows/verify-phase.md": "4e1d99795e8e9413", "gsd-core/workflows/verify-work.md": "aa0b4d000b15dbf1", - "hooks/gsd-check-update-worker.js": "80865e926e22623e", - "hooks/gsd-check-update.js": "57433c9f9b224e3e", - "hooks/gsd-config-reload.js": "ca99e7dc60a9815d", - "hooks/gsd-context-monitor.js": "f058fdb4b8b6c939", - "hooks/gsd-cursor-post-tool.js": "dd1b12f795de8d72", - "hooks/gsd-cursor-session-start.js": "a93095ac609a3ea6", - "hooks/gsd-ensure-canonical-path.js": "c49fb011c3b97f4a", - "hooks/gsd-graphify-update.sh": "845aeecb0d82dd6e", - "hooks/gsd-phase-boundary.sh": "6aa3ba9af3d465d9", - "hooks/gsd-prompt-guard.js": "4b08c2dce0233e2d", - "hooks/gsd-read-guard.js": "474bc1800d34456f", - "hooks/gsd-read-injection-scanner.js": "2f32423c033ed5fd", - "hooks/gsd-session-state.sh": "b1496e6a5204a6df", - "hooks/gsd-statusline.js": "453cdf46bcf62368", - "hooks/gsd-update-banner.js": "d3228b9e674296b4", - "hooks/gsd-validate-commit.sh": "14d3d966c74dc310", - "hooks/gsd-workflow-guard.js": "6faa8f81812a8b5d", - "hooks/gsd-worktree-path-guard.js": "93bb15bf44b8c60d", + "hooks/gsd-check-update-worker.js": "7989cc2bedd1138d", + "hooks/gsd-check-update.js": "25f5ad726f76fc11", + "hooks/gsd-config-reload.js": "880b696458e85e9b", + "hooks/gsd-context-monitor.js": "41d28e0db7b20968", + "hooks/gsd-cursor-post-tool.js": "8a8a249c0642cc71", + "hooks/gsd-cursor-session-start.js": "05a14e903c5edafa", + "hooks/gsd-ensure-canonical-path.js": "7d116d7d65c50b4b", + "hooks/gsd-graphify-update.sh": "e4c6e14fe6ad64ff", + "hooks/gsd-phase-boundary.sh": "32739d5fbe0d0a1c", + "hooks/gsd-prompt-guard.js": "a749b8cb2c5248de", + "hooks/gsd-read-guard.js": "1f58b020a91f032b", + "hooks/gsd-read-injection-scanner.js": "f358eca3fa1eab24", + "hooks/gsd-session-state.sh": "e54379ba86bf1b6d", + "hooks/gsd-statusline.js": "861808560e60b233", + "hooks/gsd-update-banner.js": "b457746cb76c1957", + "hooks/gsd-validate-commit.sh": "bf5dd61d33cb3a38", + "hooks/gsd-workflow-guard.js": "59b46a74d19d58d3", + "hooks/gsd-worktree-path-guard.js": "108ab88ccbafc5d8", "hooks/lib/git-cmd.js": "268ba15992ca0b23", "hooks/lib/gsd-graphify-rebuild.sh": "66af89601074d2a9", "hooks/managed-hooks-registry.cjs": "2218a41c279720c2", @@ -333,75 +333,75 @@ "scripts/fix-slash-commands.cjs": "0519742531ff3529", "scripts/lib/allowlist-ratchet.cjs": "ffaceaac3efc2660", "scripts/lib/cli-exit.cjs": "612d0c372c75b7e7", - "skills/gsd/DESCRIPTION.md": "5f38d874c5b24402", - "skills/gsd/gsd-ns-context/SKILL.md": "151b2ba0fac3941c", - "skills/gsd/gsd-ns-context/skills/docs-update/SKILL.md": "df94f6ae46ec5795", - "skills/gsd/gsd-ns-context/skills/extract-learnings/SKILL.md": "52be8a979bef730c", - "skills/gsd/gsd-ns-context/skills/graphify/SKILL.md": "f7dec1c111fb100e", - "skills/gsd/gsd-ns-context/skills/map-codebase/SKILL.md": "ccd09679064252b4", - "skills/gsd/gsd-ns-context/skills/mempalace-capture/SKILL.md": "046f39c201d7365a", - "skills/gsd/gsd-ns-context/skills/mempalace-recall/SKILL.md": "e1a57c1fec64d5f9", - "skills/gsd/gsd-ns-ideate/SKILL.md": "2e3c4e56eff154e5", - "skills/gsd/gsd-ns-ideate/skills/capture/SKILL.md": "b7bc43f69fd76622", - "skills/gsd/gsd-ns-ideate/skills/explore/SKILL.md": "360b2e6f645495db", - "skills/gsd/gsd-ns-ideate/skills/sketch/SKILL.md": "64ca8f967e319f27", - "skills/gsd/gsd-ns-ideate/skills/spec-phase/SKILL.md": "83186cb129fdae50", - "skills/gsd/gsd-ns-ideate/skills/spike/SKILL.md": "ce57cb5dc6d2a4a6", - "skills/gsd/gsd-ns-manage/SKILL.md": "fac0244e288b1760", - "skills/gsd/gsd-ns-manage/skills/cleanup/SKILL.md": "f17b38ef046f6479", - "skills/gsd/gsd-ns-manage/skills/config/SKILL.md": "472d62f10987917e", - "skills/gsd/gsd-ns-manage/skills/health/SKILL.md": "b3718922fb10baf2", - "skills/gsd/gsd-ns-manage/skills/help/SKILL.md": "3bdd8a49c2d9eeb9", - "skills/gsd/gsd-ns-manage/skills/inbox/SKILL.md": "dad3f572dc97e8d9", - "skills/gsd/gsd-ns-manage/skills/manager/SKILL.md": "45a0123746b538da", - "skills/gsd/gsd-ns-manage/skills/pause-work/SKILL.md": "f6b91ab34a52ec67", - "skills/gsd/gsd-ns-manage/skills/pr-branch/SKILL.md": "7d7e51e684ed5df6", - "skills/gsd/gsd-ns-manage/skills/resume-work/SKILL.md": "d50c1aac9c702a8d", - "skills/gsd/gsd-ns-manage/skills/settings/SKILL.md": "16975a50842c06c6", - "skills/gsd/gsd-ns-manage/skills/ship/SKILL.md": "8a3a195e339c5ab6", - "skills/gsd/gsd-ns-manage/skills/stats/SKILL.md": "f77e8240d8754d5e", - "skills/gsd/gsd-ns-manage/skills/surface/SKILL.md": "b292d9414a3ceb7a", - "skills/gsd/gsd-ns-manage/skills/thread/SKILL.md": "3a9ca4ac926b85d9", - "skills/gsd/gsd-ns-manage/skills/undo/SKILL.md": "3609c2bd80383cc7", - "skills/gsd/gsd-ns-manage/skills/update/SKILL.md": "38865b7c53ce3bb2", - "skills/gsd/gsd-ns-manage/skills/workspace/SKILL.md": "0af8b7bb3cff8ec3", - "skills/gsd/gsd-ns-manage/skills/workstreams/SKILL.md": "4f5f41bee17fddda", - "skills/gsd/gsd-ns-project/SKILL.md": "d7462813249bba6e", - "skills/gsd/gsd-ns-project/skills/audit-milestone/SKILL.md": "b6e35c162eade47e", - "skills/gsd/gsd-ns-project/skills/complete-milestone/SKILL.md": "60bd096bbbf1bcde", - "skills/gsd/gsd-ns-project/skills/import/SKILL.md": "a244b8a416de4151", - "skills/gsd/gsd-ns-project/skills/ingest-docs/SKILL.md": "744e20b470d1f38d", - "skills/gsd/gsd-ns-project/skills/milestone-summary/SKILL.md": "a4a3934f5dccfafa", - "skills/gsd/gsd-ns-project/skills/new-milestone/SKILL.md": "be1186bd49fa793f", - "skills/gsd/gsd-ns-project/skills/new-project/SKILL.md": "4b9851a476337bec", - "skills/gsd/gsd-ns-project/skills/profile-user/SKILL.md": "174895b891961f4a", - "skills/gsd/gsd-ns-project/skills/review-backlog/SKILL.md": "23b62ff57db3db7a", - "skills/gsd/gsd-ns-review/SKILL.md": "b8f3b659ce8069c6", - "skills/gsd/gsd-ns-review/skills/audit-fix/SKILL.md": "4ac64b41a68e0271", - "skills/gsd/gsd-ns-review/skills/audit-uat/SKILL.md": "6818606a6428f4fd", - "skills/gsd/gsd-ns-review/skills/code-review/SKILL.md": "9bbf2a634954e692", - "skills/gsd/gsd-ns-review/skills/debug/SKILL.md": "014bf3421ade2813", - "skills/gsd/gsd-ns-review/skills/eval-review/SKILL.md": "609ee9ace8cd424c", - "skills/gsd/gsd-ns-review/skills/forensics/SKILL.md": "d31dc39e02abc929", - "skills/gsd/gsd-ns-review/skills/review/SKILL.md": "ace83e30ef7f9060", - "skills/gsd/gsd-ns-review/skills/secure-phase/SKILL.md": "f615390f01694378", - "skills/gsd/gsd-ns-review/skills/ui-phase/SKILL.md": "aac4a77d61281591", - "skills/gsd/gsd-ns-review/skills/ui-review/SKILL.md": "ebe37a6d521dba62", - "skills/gsd/gsd-ns-review/skills/validate-phase/SKILL.md": "b9f0c4f3738fcb7e", - "skills/gsd/gsd-ns-workflow/SKILL.md": "8ae955e65342e183", - "skills/gsd/gsd-ns-workflow/skills/add-tests/SKILL.md": "274b0e83a06204d5", - "skills/gsd/gsd-ns-workflow/skills/ai-integration-phase/SKILL.md": "8415c05314ef1091", - "skills/gsd/gsd-ns-workflow/skills/autonomous/SKILL.md": "67a1d1880678e0d5", - "skills/gsd/gsd-ns-workflow/skills/discuss-phase/SKILL.md": "3b69cd5de487382e", - "skills/gsd/gsd-ns-workflow/skills/execute-phase/SKILL.md": "2b838b5e5737aade", - "skills/gsd/gsd-ns-workflow/skills/fast/SKILL.md": "c22843abbd530ebd", - "skills/gsd/gsd-ns-workflow/skills/mvp-phase/SKILL.md": "615bfe82af659694", - "skills/gsd/gsd-ns-workflow/skills/phase/SKILL.md": "a407ca50ee0aeb6b", - "skills/gsd/gsd-ns-workflow/skills/plan-phase/SKILL.md": "7f077194059ede03", - "skills/gsd/gsd-ns-workflow/skills/plan-review-convergence/SKILL.md": "99468f6eaf3c72b4", - "skills/gsd/gsd-ns-workflow/skills/progress/SKILL.md": "6ecd0f958ad93d20", - "skills/gsd/gsd-ns-workflow/skills/quick/SKILL.md": "3ba1337427843e91", - "skills/gsd/gsd-ns-workflow/skills/spec-phase/SKILL.md": "83186cb129fdae50", - "skills/gsd/gsd-ns-workflow/skills/ultraplan-phase/SKILL.md": "bc4d84237531c5e5", - "skills/gsd/gsd-ns-workflow/skills/verify-work/SKILL.md": "aa830ff978d73f1a" + "skills/gsd/DESCRIPTION.md": "d93e29a1a09cfd11", + "skills/gsd/gsd-ns-context/SKILL.md": "bd883f6319dd2c81", + "skills/gsd/gsd-ns-context/skills/docs-update/SKILL.md": "b059b3045d5daf5c", + "skills/gsd/gsd-ns-context/skills/extract-learnings/SKILL.md": "36e59d6e514dcaf0", + "skills/gsd/gsd-ns-context/skills/graphify/SKILL.md": "169eefd42c444cde", + "skills/gsd/gsd-ns-context/skills/map-codebase/SKILL.md": "6062ccca1a14b827", + "skills/gsd/gsd-ns-context/skills/mempalace-capture/SKILL.md": "1565901c4833a49e", + "skills/gsd/gsd-ns-context/skills/mempalace-recall/SKILL.md": "eba3ad69c0e7b157", + "skills/gsd/gsd-ns-ideate/SKILL.md": "b36bb4700ed6723a", + "skills/gsd/gsd-ns-ideate/skills/capture/SKILL.md": "76fc7c1200124ece", + "skills/gsd/gsd-ns-ideate/skills/explore/SKILL.md": "bb39acf6117cb9ca", + "skills/gsd/gsd-ns-ideate/skills/sketch/SKILL.md": "2d9390383b2cd939", + "skills/gsd/gsd-ns-ideate/skills/spec-phase/SKILL.md": "848cec32c341713c", + "skills/gsd/gsd-ns-ideate/skills/spike/SKILL.md": "a87bf704b753cd06", + "skills/gsd/gsd-ns-manage/SKILL.md": "60bb07572d442561", + "skills/gsd/gsd-ns-manage/skills/cleanup/SKILL.md": "66c29a633fd54751", + "skills/gsd/gsd-ns-manage/skills/config/SKILL.md": "927cf658e1bd1c00", + "skills/gsd/gsd-ns-manage/skills/health/SKILL.md": "4401da73b980a4cc", + "skills/gsd/gsd-ns-manage/skills/help/SKILL.md": "0d4a5bfdc292096e", + "skills/gsd/gsd-ns-manage/skills/inbox/SKILL.md": "842ac7e207845549", + "skills/gsd/gsd-ns-manage/skills/manager/SKILL.md": "e02da9da44a8ddd7", + "skills/gsd/gsd-ns-manage/skills/pause-work/SKILL.md": "761f9ac48e63882f", + "skills/gsd/gsd-ns-manage/skills/pr-branch/SKILL.md": "8e9fc7da5290e7ac", + "skills/gsd/gsd-ns-manage/skills/resume-work/SKILL.md": "1d497e355ddfc0c9", + "skills/gsd/gsd-ns-manage/skills/settings/SKILL.md": "db053a82acb85969", + "skills/gsd/gsd-ns-manage/skills/ship/SKILL.md": "3f7e7023802a185d", + "skills/gsd/gsd-ns-manage/skills/stats/SKILL.md": "847f1a79382e05a3", + "skills/gsd/gsd-ns-manage/skills/surface/SKILL.md": "f63005360828e726", + "skills/gsd/gsd-ns-manage/skills/thread/SKILL.md": "12e14ca63fe5a982", + "skills/gsd/gsd-ns-manage/skills/undo/SKILL.md": "cb410bf1813a2d1e", + "skills/gsd/gsd-ns-manage/skills/update/SKILL.md": "433a236998c305b0", + "skills/gsd/gsd-ns-manage/skills/workspace/SKILL.md": "d655afc6f16565ed", + "skills/gsd/gsd-ns-manage/skills/workstreams/SKILL.md": "6893312eaf14dab0", + "skills/gsd/gsd-ns-project/SKILL.md": "3ff43fdc0e4a6d02", + "skills/gsd/gsd-ns-project/skills/audit-milestone/SKILL.md": "de0556f07d899e50", + "skills/gsd/gsd-ns-project/skills/complete-milestone/SKILL.md": "180cccc09bf99444", + "skills/gsd/gsd-ns-project/skills/import/SKILL.md": "bf781c7a0d83c2cd", + "skills/gsd/gsd-ns-project/skills/ingest-docs/SKILL.md": "a38273c6b6604830", + "skills/gsd/gsd-ns-project/skills/milestone-summary/SKILL.md": "c4bda5737f1137f8", + "skills/gsd/gsd-ns-project/skills/new-milestone/SKILL.md": "47586c1fc8aa0645", + "skills/gsd/gsd-ns-project/skills/new-project/SKILL.md": "8f22ba75717b3c88", + "skills/gsd/gsd-ns-project/skills/profile-user/SKILL.md": "5a8e01bc7b873a20", + "skills/gsd/gsd-ns-project/skills/review-backlog/SKILL.md": "f3ef97da4e9b1d4c", + "skills/gsd/gsd-ns-review/SKILL.md": "23fbadeca640e2bd", + "skills/gsd/gsd-ns-review/skills/audit-fix/SKILL.md": "4bc3b75acebc3f82", + "skills/gsd/gsd-ns-review/skills/audit-uat/SKILL.md": "c330007f3893f757", + "skills/gsd/gsd-ns-review/skills/code-review/SKILL.md": "9ce2b92032654820", + "skills/gsd/gsd-ns-review/skills/debug/SKILL.md": "d4145201fd86560b", + "skills/gsd/gsd-ns-review/skills/eval-review/SKILL.md": "940e0682291e93f9", + "skills/gsd/gsd-ns-review/skills/forensics/SKILL.md": "e05e2a39a14995b5", + "skills/gsd/gsd-ns-review/skills/review/SKILL.md": "c0d8452082aa1dd5", + "skills/gsd/gsd-ns-review/skills/secure-phase/SKILL.md": "1a70020fcb3c3d4a", + "skills/gsd/gsd-ns-review/skills/ui-phase/SKILL.md": "3207854a4f0fab67", + "skills/gsd/gsd-ns-review/skills/ui-review/SKILL.md": "512c54662616c3f9", + "skills/gsd/gsd-ns-review/skills/validate-phase/SKILL.md": "f2c31c34fc8e24c4", + "skills/gsd/gsd-ns-workflow/SKILL.md": "a5c0c299df224d10", + "skills/gsd/gsd-ns-workflow/skills/add-tests/SKILL.md": "29e5863322ad6f2d", + "skills/gsd/gsd-ns-workflow/skills/ai-integration-phase/SKILL.md": "317912c0488d701b", + "skills/gsd/gsd-ns-workflow/skills/autonomous/SKILL.md": "3c9bc726e13c4916", + "skills/gsd/gsd-ns-workflow/skills/discuss-phase/SKILL.md": "326303209b745eea", + "skills/gsd/gsd-ns-workflow/skills/execute-phase/SKILL.md": "a2e4e6211e09b3c0", + "skills/gsd/gsd-ns-workflow/skills/fast/SKILL.md": "c8517ba44da99147", + "skills/gsd/gsd-ns-workflow/skills/mvp-phase/SKILL.md": "0804dfd4124526ba", + "skills/gsd/gsd-ns-workflow/skills/phase/SKILL.md": "610bd06d71198849", + "skills/gsd/gsd-ns-workflow/skills/plan-phase/SKILL.md": "f06f0e2fc8def3f0", + "skills/gsd/gsd-ns-workflow/skills/plan-review-convergence/SKILL.md": "fddf8bd7b3ae1f10", + "skills/gsd/gsd-ns-workflow/skills/progress/SKILL.md": "6ec0e4715dde7ee2", + "skills/gsd/gsd-ns-workflow/skills/quick/SKILL.md": "65e377345e9c49a8", + "skills/gsd/gsd-ns-workflow/skills/spec-phase/SKILL.md": "848cec32c341713c", + "skills/gsd/gsd-ns-workflow/skills/ultraplan-phase/SKILL.md": "3a88dde399df4e63", + "skills/gsd/gsd-ns-workflow/skills/verify-work/SKILL.md": "3bedfdb2aeeb3804" } diff --git a/tests/fixtures/golden-install-parity/kilo.json b/tests/fixtures/golden-install-parity/kilo.json index 38632837f..6625f4437 100644 --- a/tests/fixtures/golden-install-parity/kilo.json +++ b/tests/fixtures/golden-install-parity/kilo.json @@ -104,8 +104,8 @@ "command/gsd-verify-work.md": "d07409c940a6ff00", "command/gsd-workspace.md": "9048133312f47fdc", "command/gsd-workstreams.md": "5e57eed1881c3891", - "gsd-core/CHANGELOG.md": "e141e3fb369ff712", - "gsd-core/VERSION": "562368b20a64be95", + "gsd-core/CHANGELOG.md": "8bf626da3d88f8af", + "gsd-core/VERSION": "ef0deccd81a6723c", "gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74", "gsd-core/bin/gsd-tools.cjs": "74594e8bf36e5580", "gsd-core/bin/gsd_run": "62d9b647ede212e6", @@ -369,24 +369,24 @@ "gsd-core/workflows/validate-phase.md": "7915e3a261f7c9c9", "gsd-core/workflows/verify-phase.md": "15a999f82868ad29", "gsd-core/workflows/verify-work.md": "7cb5144cc74986e7", - "hooks/gsd-check-update-worker.js": "8c48db40d2d74193", - "hooks/gsd-check-update.js": "1c863b30953b47c8", - "hooks/gsd-config-reload.js": "17bf778d432b3d2a", - "hooks/gsd-context-monitor.js": "8e9c39563be10827", - "hooks/gsd-cursor-post-tool.js": "d61ee04f6ee7858c", - "hooks/gsd-cursor-session-start.js": "148b8ec4e2c97f00", - "hooks/gsd-ensure-canonical-path.js": "a5c67a1a7abc90c0", - "hooks/gsd-graphify-update.sh": "845aeecb0d82dd6e", - "hooks/gsd-phase-boundary.sh": "6aa3ba9af3d465d9", - "hooks/gsd-prompt-guard.js": "4b08c2dce0233e2d", - "hooks/gsd-read-guard.js": "b602f88f046a7551", - "hooks/gsd-read-injection-scanner.js": "c5d388fe1a61a12a", - "hooks/gsd-session-state.sh": "b1496e6a5204a6df", - "hooks/gsd-statusline.js": "e6eeb0972eb54bbe", - "hooks/gsd-update-banner.js": "74817c820b7a4ec1", - "hooks/gsd-validate-commit.sh": "14d3d966c74dc310", - "hooks/gsd-workflow-guard.js": "e22b9fb57f0e64f6", - "hooks/gsd-worktree-path-guard.js": "ca0d1af4a9357887", + "hooks/gsd-check-update-worker.js": "c992bbad91d0e994", + "hooks/gsd-check-update.js": "fdd77abe7ef26a2d", + "hooks/gsd-config-reload.js": "96546e0e8bb47904", + "hooks/gsd-context-monitor.js": "2caaaf96d39fe742", + "hooks/gsd-cursor-post-tool.js": "9168e0a09de1972a", + "hooks/gsd-cursor-session-start.js": "9b2e6f4f0c405375", + "hooks/gsd-ensure-canonical-path.js": "3ce09b366839d324", + "hooks/gsd-graphify-update.sh": "e4c6e14fe6ad64ff", + "hooks/gsd-phase-boundary.sh": "32739d5fbe0d0a1c", + "hooks/gsd-prompt-guard.js": "a749b8cb2c5248de", + "hooks/gsd-read-guard.js": "9e423cd03e2d1b16", + "hooks/gsd-read-injection-scanner.js": "7792c420f1d72f11", + "hooks/gsd-session-state.sh": "e54379ba86bf1b6d", + "hooks/gsd-statusline.js": "a055020378003805", + "hooks/gsd-update-banner.js": "55143a25f978f301", + "hooks/gsd-validate-commit.sh": "bf5dd61d33cb3a38", + "hooks/gsd-workflow-guard.js": "91ae24a15d2bca6f", + "hooks/gsd-worktree-path-guard.js": "cb8b86e39a5d49e9", "hooks/lib/git-cmd.js": "268ba15992ca0b23", "hooks/lib/gsd-graphify-rebuild.sh": "66af89601074d2a9", "hooks/managed-hooks-registry.cjs": "8a9f7633c6fe0ea0", diff --git a/tests/fixtures/golden-install-parity/kimi.json b/tests/fixtures/golden-install-parity/kimi.json index 54faf0b4e..5aaef23d6 100644 --- a/tests/fixtures/golden-install-parity/kimi.json +++ b/tests/fixtures/golden-install-parity/kimi.json @@ -71,8 +71,8 @@ "agents/subagents/gsd-user-profiler.yaml": "645826a29d079159", "agents/subagents/gsd-verifier.md": "1536f3fa5a2d4419", "agents/subagents/gsd-verifier.yaml": "2d2bd6b37626f382", - "gsd-core/CHANGELOG.md": "e141e3fb369ff712", - "gsd-core/VERSION": "562368b20a64be95", + "gsd-core/CHANGELOG.md": "8bf626da3d88f8af", + "gsd-core/VERSION": "ef0deccd81a6723c", "gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74", "gsd-core/bin/gsd-tools.cjs": "74594e8bf36e5580", "gsd-core/bin/gsd_run": "62d9b647ede212e6", diff --git a/tests/fixtures/golden-install-parity/opencode.json b/tests/fixtures/golden-install-parity/opencode.json index a2ef57ddf..6c847195a 100644 --- a/tests/fixtures/golden-install-parity/opencode.json +++ b/tests/fixtures/golden-install-parity/opencode.json @@ -104,8 +104,8 @@ "command/gsd-verify-work.md": "f23fff8e6d71f704", "command/gsd-workspace.md": "1e581bdb33bc8f55", "command/gsd-workstreams.md": "5e57eed1881c3891", - "gsd-core/CHANGELOG.md": "e141e3fb369ff712", - "gsd-core/VERSION": "562368b20a64be95", + "gsd-core/CHANGELOG.md": "8bf626da3d88f8af", + "gsd-core/VERSION": "ef0deccd81a6723c", "gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74", "gsd-core/bin/gsd-tools.cjs": "74594e8bf36e5580", "gsd-core/bin/gsd_run": "62d9b647ede212e6", @@ -369,24 +369,24 @@ "gsd-core/workflows/validate-phase.md": "0fc5991f6d7c6c39", "gsd-core/workflows/verify-phase.md": "13a1a43395b5e47b", "gsd-core/workflows/verify-work.md": "52f6011634cff599", - "hooks/gsd-check-update-worker.js": "5882dbd41918c863", - "hooks/gsd-check-update.js": "5fb0027b7b76986c", - "hooks/gsd-config-reload.js": "17bf778d432b3d2a", - "hooks/gsd-context-monitor.js": "6afbef2291b68874", - "hooks/gsd-cursor-post-tool.js": "d61ee04f6ee7858c", - "hooks/gsd-cursor-session-start.js": "148b8ec4e2c97f00", - "hooks/gsd-ensure-canonical-path.js": "5f8be5b0a01a88ea", - "hooks/gsd-graphify-update.sh": "845aeecb0d82dd6e", - "hooks/gsd-phase-boundary.sh": "6aa3ba9af3d465d9", - "hooks/gsd-prompt-guard.js": "4b08c2dce0233e2d", - "hooks/gsd-read-guard.js": "b602f88f046a7551", - "hooks/gsd-read-injection-scanner.js": "fb5730e37a300e69", - "hooks/gsd-session-state.sh": "b1496e6a5204a6df", - "hooks/gsd-statusline.js": "a0e7b01ec5012940", - "hooks/gsd-update-banner.js": "74817c820b7a4ec1", - "hooks/gsd-validate-commit.sh": "14d3d966c74dc310", - "hooks/gsd-workflow-guard.js": "e22b9fb57f0e64f6", - "hooks/gsd-worktree-path-guard.js": "3df1fd5409d358f3", + "hooks/gsd-check-update-worker.js": "385fb7c67810baf6", + "hooks/gsd-check-update.js": "4549451414ffa7d7", + "hooks/gsd-config-reload.js": "96546e0e8bb47904", + "hooks/gsd-context-monitor.js": "7a9787868a39b76d", + "hooks/gsd-cursor-post-tool.js": "9168e0a09de1972a", + "hooks/gsd-cursor-session-start.js": "9b2e6f4f0c405375", + "hooks/gsd-ensure-canonical-path.js": "2801ae3fef9579bf", + "hooks/gsd-graphify-update.sh": "e4c6e14fe6ad64ff", + "hooks/gsd-phase-boundary.sh": "32739d5fbe0d0a1c", + "hooks/gsd-prompt-guard.js": "a749b8cb2c5248de", + "hooks/gsd-read-guard.js": "9e423cd03e2d1b16", + "hooks/gsd-read-injection-scanner.js": "f72060dfe035f706", + "hooks/gsd-session-state.sh": "e54379ba86bf1b6d", + "hooks/gsd-statusline.js": "9c132b5985800462", + "hooks/gsd-update-banner.js": "55143a25f978f301", + "hooks/gsd-validate-commit.sh": "bf5dd61d33cb3a38", + "hooks/gsd-workflow-guard.js": "91ae24a15d2bca6f", + "hooks/gsd-worktree-path-guard.js": "726fb9afefda5d42", "hooks/lib/git-cmd.js": "268ba15992ca0b23", "hooks/lib/gsd-graphify-rebuild.sh": "66af89601074d2a9", "hooks/managed-hooks-registry.cjs": "763730ef31e5fd1c", diff --git a/tests/fixtures/golden-install-parity/qwen.json b/tests/fixtures/golden-install-parity/qwen.json index b26736970..578c0f4fc 100644 --- a/tests/fixtures/golden-install-parity/qwen.json +++ b/tests/fixtures/golden-install-parity/qwen.json @@ -35,8 +35,8 @@ "agents/gsd-ui-researcher.md": "67596ca5ee2f4547", "agents/gsd-user-profiler.md": "ca3bf75581f211a0", "agents/gsd-verifier.md": "4bc6c8e197ee56e0", - "gsd-core/CHANGELOG.md": "e141e3fb369ff712", - "gsd-core/VERSION": "562368b20a64be95", + "gsd-core/CHANGELOG.md": "8bf626da3d88f8af", + "gsd-core/VERSION": "ef0deccd81a6723c", "gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74", "gsd-core/bin/gsd-tools.cjs": "74594e8bf36e5580", "gsd-core/bin/gsd_run": "62d9b647ede212e6", @@ -300,24 +300,24 @@ "gsd-core/workflows/validate-phase.md": "0e153ccb3bdb9dda", "gsd-core/workflows/verify-phase.md": "0ef74d5b7f7646f6", "gsd-core/workflows/verify-work.md": "8a4157d179fce9c4", - "hooks/gsd-check-update-worker.js": "74edb6f6b1010c85", - "hooks/gsd-check-update.js": "81962511d619d038", - "hooks/gsd-config-reload.js": "e5b430ced986ea68", - "hooks/gsd-context-monitor.js": "8e55e33027fb54d4", - "hooks/gsd-cursor-post-tool.js": "dd1b12f795de8d72", - "hooks/gsd-cursor-session-start.js": "a93095ac609a3ea6", - "hooks/gsd-ensure-canonical-path.js": "4c1626ed20ab7a75", - "hooks/gsd-graphify-update.sh": "845aeecb0d82dd6e", - "hooks/gsd-phase-boundary.sh": "6aa3ba9af3d465d9", - "hooks/gsd-prompt-guard.js": "4b08c2dce0233e2d", - "hooks/gsd-read-guard.js": "9d1b227b6fcb6dba", - "hooks/gsd-read-injection-scanner.js": "e48bc03685078bc7", - "hooks/gsd-session-state.sh": "b1496e6a5204a6df", - "hooks/gsd-statusline.js": "b9d07c3acc630b5d", - "hooks/gsd-update-banner.js": "d3228b9e674296b4", - "hooks/gsd-validate-commit.sh": "14d3d966c74dc310", - "hooks/gsd-workflow-guard.js": "6faa8f81812a8b5d", - "hooks/gsd-worktree-path-guard.js": "d9054ef9ec469312", + "hooks/gsd-check-update-worker.js": "4bb354044e0dff91", + "hooks/gsd-check-update.js": "d2065cb3e725a42a", + "hooks/gsd-config-reload.js": "4f52b8a0120bb1b8", + "hooks/gsd-context-monitor.js": "437a33e6e3058640", + "hooks/gsd-cursor-post-tool.js": "8a8a249c0642cc71", + "hooks/gsd-cursor-session-start.js": "05a14e903c5edafa", + "hooks/gsd-ensure-canonical-path.js": "2df5e295b36c3334", + "hooks/gsd-graphify-update.sh": "e4c6e14fe6ad64ff", + "hooks/gsd-phase-boundary.sh": "32739d5fbe0d0a1c", + "hooks/gsd-prompt-guard.js": "a749b8cb2c5248de", + "hooks/gsd-read-guard.js": "2c8d417d12b51040", + "hooks/gsd-read-injection-scanner.js": "396574bd25e99ff9", + "hooks/gsd-session-state.sh": "e54379ba86bf1b6d", + "hooks/gsd-statusline.js": "739140996a3c0d49", + "hooks/gsd-update-banner.js": "b457746cb76c1957", + "hooks/gsd-validate-commit.sh": "bf5dd61d33cb3a38", + "hooks/gsd-workflow-guard.js": "59b46a74d19d58d3", + "hooks/gsd-worktree-path-guard.js": "8389e4c9175b2613", "hooks/lib/git-cmd.js": "268ba15992ca0b23", "hooks/lib/gsd-graphify-rebuild.sh": "66af89601074d2a9", "hooks/managed-hooks-registry.cjs": "a57697c1ae4ac163", diff --git a/tests/fixtures/golden-install-parity/trae.json b/tests/fixtures/golden-install-parity/trae.json index 1ec2a976b..71c7b5f40 100644 --- a/tests/fixtures/golden-install-parity/trae.json +++ b/tests/fixtures/golden-install-parity/trae.json @@ -35,8 +35,8 @@ "agents/gsd-ui-researcher.md": "e09f0f7034eaa366", "agents/gsd-user-profiler.md": "622220df0654b6bf", "agents/gsd-verifier.md": "3065cc4cf897078d", - "gsd-core/CHANGELOG.md": "e141e3fb369ff712", - "gsd-core/VERSION": "562368b20a64be95", + "gsd-core/CHANGELOG.md": "8bf626da3d88f8af", + "gsd-core/VERSION": "ef0deccd81a6723c", "gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74", "gsd-core/bin/gsd-tools.cjs": "5cf26d5f9e588cf8", "gsd-core/bin/gsd_run": "62d9b647ede212e6", diff --git a/tests/fixtures/golden-install-parity/windsurf.json b/tests/fixtures/golden-install-parity/windsurf.json index 4afdb5467..2ca418583 100644 --- a/tests/fixtures/golden-install-parity/windsurf.json +++ b/tests/fixtures/golden-install-parity/windsurf.json @@ -35,8 +35,8 @@ "agents/gsd-ui-researcher.md": "f04d24e6459bd23d", "agents/gsd-user-profiler.md": "622220df0654b6bf", "agents/gsd-verifier.md": "e6353ed8a4baaa32", - "gsd-core/CHANGELOG.md": "e141e3fb369ff712", - "gsd-core/VERSION": "562368b20a64be95", + "gsd-core/CHANGELOG.md": "8bf626da3d88f8af", + "gsd-core/VERSION": "ef0deccd81a6723c", "gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74", "gsd-core/bin/gsd-tools.cjs": "5cf26d5f9e588cf8", "gsd-core/bin/gsd_run": "62d9b647ede212e6", diff --git a/tests/golden-install-parity.test.cjs b/tests/golden-install-parity.test.cjs index f70458669..cb30cd9b8 100644 --- a/tests/golden-install-parity.test.cjs +++ b/tests/golden-install-parity.test.cjs @@ -50,6 +50,11 @@ const FIXTURE_DIR = path.join(__dirname, 'fixtures', 'golden-install-parity'); // Volatile metadata files always excluded from the parity manifest. const VOLATILE_FILES = new Set(['gsd-file-manifest.json', 'gsd-install-state.json']); +// The installed package version, normalized to '' in hash computation so +// the golden is stable across version bumps (the rc step runs `npm version X.Y.Z-rc.N` +// before tests, which rebakes the version into hook files and gsd-core/VERSION). +const PKG_VERSION = require('../package.json').version; + // Hook-registration config files excluded from the parity manifest. These are // written by the hook/permission install path (applySettingsJsonHooks / // finishInstall) — NOT by installRuntimeArtifacts, so they are outside the scope @@ -102,10 +107,9 @@ function buildParityManifest(configDir, root) { const content = fs.readFileSync(full); // Normalize every occurrence of the temp root so hashes are stable across runs. - // The only other platform-varying content (the node-runner command form) lives - // exclusively in the excluded HOOK_CONFIG_FILES, so no further normalization is - // needed — a scan of all 16 installs confirmed no other file embeds it. - const normalized = content.toString('utf8').split(root).join(''); + // Also normalize the package version so the golden survives `npm version` bumps + // (the rc release step bakes the new version into hook files before running tests). + const normalized = content.toString('utf8').split(root).join('').split(PKG_VERSION).join(''); const hash = crypto.createHash('sha256').update(normalized).digest('hex').slice(0, 16); unsorted[rel] = hash; }