fix(#2086): normalize realpath temp root in golden parity manifest (macOS /private)

The claude LOCAL install resolves its config dir via realpath, which on macOS
prepends /private to the temp root and embeds it in projected agents/commands/
workflows (@ references). buildParityManifest normalized only `root` (/var/folders/…),
leaving the /private prefix on macOS while Linux has none — so the mac-generated
claude-local fixture failed the Linux CI leg (198 files). Normalize the realpath
form too; no-op for the global fixtures (literal --config-dir, never realpath-resolved).
Regenerated claude-local.json now matches the Linux hashes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Tom Boucher
2026-07-08 14:49:58 -04:00
parent cf159f7929
commit ff6e928530
2 changed files with 213 additions and 199 deletions

View File

@@ -1,109 +1,109 @@
{
".gsd-profile": "0e716a5fef4e6dc1",
"agents/gsd-advisor-researcher.md": "4e1a8afe45ef8298",
"agents/gsd-ai-researcher.md": "1de9bb9c75e3d668",
"agents/gsd-assumptions-analyzer.md": "63c8bdab78b42128",
"agents/gsd-code-fixer.md": "341e9d4e5c081f0e",
"agents/gsd-code-reviewer.md": "65009b1743904fd3",
"agents/gsd-codebase-mapper.md": "6b58924e7ab595b6",
"agents/gsd-debug-session-manager.md": "df63cabbe4d062a0",
"agents/gsd-debugger.md": "f6874f2e4e74c6fe",
"agents/gsd-doc-classifier.md": "4f52b062005868ec",
"agents/gsd-doc-synthesizer.md": "4be3aac2095d021d",
"agents/gsd-advisor-researcher.md": "c81b55d567dcd99e",
"agents/gsd-ai-researcher.md": "27c7df941b01cc13",
"agents/gsd-assumptions-analyzer.md": "d796f8245bbe05d2",
"agents/gsd-code-fixer.md": "c6148e5511d02459",
"agents/gsd-code-reviewer.md": "e2c45baa8c0b5f6d",
"agents/gsd-codebase-mapper.md": "f96958e5f85b93fb",
"agents/gsd-debug-session-manager.md": "ec9ca0011a1aab75",
"agents/gsd-debugger.md": "9f35a91f8b3a918e",
"agents/gsd-doc-classifier.md": "a76778bdde1c7f72",
"agents/gsd-doc-synthesizer.md": "8b0b6fc187c9d353",
"agents/gsd-doc-verifier.md": "4232dcf9076e3566",
"agents/gsd-doc-writer.md": "a8af8a58c28e06b2",
"agents/gsd-domain-researcher.md": "c5f1f069f3124844",
"agents/gsd-eval-auditor.md": "d8debe9e60c26574",
"agents/gsd-eval-planner.md": "8b2359a18a618b04",
"agents/gsd-executor.md": "abf1192f0ac098dc",
"agents/gsd-framework-selector.md": "a359da24df68f01c",
"agents/gsd-integration-checker.md": "1d2ca1591310bf70",
"agents/gsd-intel-updater.md": "ae95a5f8b73a465b",
"agents/gsd-doc-writer.md": "22264239fa0ee611",
"agents/gsd-domain-researcher.md": "f1e03df842ddfb95",
"agents/gsd-eval-auditor.md": "d0f45fff7370bb0b",
"agents/gsd-eval-planner.md": "9cc049b82897daa4",
"agents/gsd-executor.md": "bf1de739df0c9245",
"agents/gsd-framework-selector.md": "85005d716f9d98f7",
"agents/gsd-integration-checker.md": "17a8ee731986564d",
"agents/gsd-intel-updater.md": "4953a465db9dadc1",
"agents/gsd-mempalace-curator.md": "77b53f1b155242b4",
"agents/gsd-nyquist-auditor.md": "06e42106449d17ac",
"agents/gsd-nyquist-auditor.md": "f86a28f5c164a0d3",
"agents/gsd-pattern-mapper.md": "b45b5e106775bec1",
"agents/gsd-phase-researcher.md": "90f97c741075c907",
"agents/gsd-plan-checker.md": "63e7988a3d7db5cf",
"agents/gsd-planner.md": "0fb1385f2ea179f0",
"agents/gsd-project-researcher.md": "78d92594b3de6e51",
"agents/gsd-research-synthesizer.md": "635639f831464f95",
"agents/gsd-roadmapper.md": "90d11d44ac7d5121",
"agents/gsd-security-auditor.md": "c8eead1524c5a465",
"agents/gsd-ui-auditor.md": "94868774ac120a38",
"agents/gsd-ui-checker.md": "505ca13a25cb67df",
"agents/gsd-ui-researcher.md": "4596a60f979dc769",
"agents/gsd-user-profiler.md": "a5cd095688d6de25",
"agents/gsd-verifier.md": "7327f257ade6d00f",
"commands/gsd-add-tests.md": "993d9c16477b17bf",
"commands/gsd-ai-integration-phase.md": "bd8407401cc52092",
"commands/gsd-audit-fix.md": "0ce7dff55a550d96",
"commands/gsd-audit-milestone.md": "506d3d20f55d80ce",
"commands/gsd-audit-uat.md": "4aefa85d28437405",
"commands/gsd-autonomous.md": "ef5a492c9085b983",
"commands/gsd-capture.md": "61647c8baefcb116",
"commands/gsd-cleanup.md": "88e8c3d4b471a036",
"commands/gsd-code-review.md": "98a9c59ff3edb4ab",
"commands/gsd-complete-milestone.md": "7639dce1b9e755e4",
"commands/gsd-config.md": "b36340912b70c073",
"commands/gsd-debug.md": "e622240e54587e1b",
"commands/gsd-discuss-phase.md": "9eebccc3820ad37a",
"commands/gsd-docs-update.md": "a11bedfbfd0a56db",
"commands/gsd-eval-review.md": "dc602abbb7525761",
"commands/gsd-execute-phase.md": "f47b83e2110f7be8",
"commands/gsd-explore.md": "dbef734b08f7438a",
"commands/gsd-extract-learnings.md": "f3059f4e6e6b7b19",
"commands/gsd-fast.md": "be784c9f67ae3eab",
"commands/gsd-forensics.md": "36ec35a6a6f2cfd7",
"commands/gsd-graphify.md": "1b88285a888f69dd",
"commands/gsd-health.md": "f28dabf45c4ddd77",
"commands/gsd-help.md": "e48f4e1cf9ff3ad3",
"commands/gsd-import.md": "849c4a4bdfc05ebf",
"commands/gsd-inbox.md": "61eebdd7397efe7f",
"commands/gsd-ingest-docs.md": "10b1c8fee7ed7c1f",
"commands/gsd-manager.md": "0c5541f3db284fe3",
"commands/gsd-map-codebase.md": "9c32f13ade27d418",
"agents/gsd-phase-researcher.md": "4772d9eada32e8bd",
"agents/gsd-plan-checker.md": "75851b147f35354a",
"agents/gsd-planner.md": "9c9ffc56275b8ca2",
"agents/gsd-project-researcher.md": "d7f355894519f9fe",
"agents/gsd-research-synthesizer.md": "1c738df9932d325a",
"agents/gsd-roadmapper.md": "453e9471ad27c7ea",
"agents/gsd-security-auditor.md": "45bd98918cd3a004",
"agents/gsd-ui-auditor.md": "a0b09cc8e4645956",
"agents/gsd-ui-checker.md": "3a7be21f4daa1c05",
"agents/gsd-ui-researcher.md": "a739b0ded9c3ae23",
"agents/gsd-user-profiler.md": "d40584599906f3b7",
"agents/gsd-verifier.md": "628ef3a944a7a6eb",
"commands/gsd-add-tests.md": "057e3e440989e681",
"commands/gsd-ai-integration-phase.md": "998dc23188e131fb",
"commands/gsd-audit-fix.md": "ebdcc267a2bebaab",
"commands/gsd-audit-milestone.md": "319caced85c69ff3",
"commands/gsd-audit-uat.md": "99c9af1b2a2c600a",
"commands/gsd-autonomous.md": "c256989da0d3e736",
"commands/gsd-capture.md": "d3f4353483df3637",
"commands/gsd-cleanup.md": "110473269dabd608",
"commands/gsd-code-review.md": "d2f3160f3a1a790a",
"commands/gsd-complete-milestone.md": "561b8e6bf35ee6e9",
"commands/gsd-config.md": "24d7e8cb8237456e",
"commands/gsd-debug.md": "488ec45a06eb7afa",
"commands/gsd-discuss-phase.md": "e50613dc10e1bab5",
"commands/gsd-docs-update.md": "e314a24fd3926ace",
"commands/gsd-eval-review.md": "c636c832d9a7f5c0",
"commands/gsd-execute-phase.md": "a2c4ad3e635c280a",
"commands/gsd-explore.md": "6d5e1f5f14b2d380",
"commands/gsd-extract-learnings.md": "e43d320cb3ed1aaa",
"commands/gsd-fast.md": "5357a1cf3f363dd2",
"commands/gsd-forensics.md": "b816a6cd5ea304f8",
"commands/gsd-graphify.md": "a07ffe1827c512e1",
"commands/gsd-health.md": "253680291c74b8ed",
"commands/gsd-help.md": "eb2c387f97c59e66",
"commands/gsd-import.md": "bcd7c5018b6c96b2",
"commands/gsd-inbox.md": "e829f45bfe8b4ca5",
"commands/gsd-ingest-docs.md": "ded9013d0de7e77b",
"commands/gsd-manager.md": "72d5b31b88f77703",
"commands/gsd-map-codebase.md": "ecd69887996ae561",
"commands/gsd-mempalace-capture.md": "2e49397072506fd9",
"commands/gsd-mempalace-recall.md": "38716c0983a3ef9c",
"commands/gsd-milestone-summary.md": "a7fdafaaa3a665af",
"commands/gsd-mvp-phase.md": "fe9bf9df99007be1",
"commands/gsd-new-milestone.md": "d2f21e6e3d53b2e9",
"commands/gsd-new-project.md": "2129c259fa653b19",
"commands/gsd-next.md": "02d0abbd2f55a0a2",
"commands/gsd-milestone-summary.md": "908509042caf5beb",
"commands/gsd-mvp-phase.md": "1ef0d7c2871be49a",
"commands/gsd-new-milestone.md": "8ce4861325cd3862",
"commands/gsd-new-project.md": "d68b36481d09bfd4",
"commands/gsd-next.md": "e976ddf80b6cb425",
"commands/gsd-ns-context.md": "011c44e7aa46e64a",
"commands/gsd-ns-ideate.md": "edc5e543512dd48a",
"commands/gsd-ns-manage.md": "0409d810e499357f",
"commands/gsd-ns-project.md": "ff67e85bc6f7fc5a",
"commands/gsd-ns-review.md": "3766ed10827882a0",
"commands/gsd-ns-workflow.md": "c3b3c046a74ec0ee",
"commands/gsd-onboard.md": "2d98ea48454293b5",
"commands/gsd-pause-work.md": "bdfc8f46a674061a",
"commands/gsd-phase.md": "b211ba5969b4d69b",
"commands/gsd-plan-phase.md": "8113654accd5bee9",
"commands/gsd-plan-review-convergence.md": "3d496dbbba45190c",
"commands/gsd-pr-branch.md": "2346583e447a46d6",
"commands/gsd-profile-user.md": "8cc1a47fe685b60e",
"commands/gsd-progress.md": "0eddf50b039adc8e",
"commands/gsd-quick.md": "116941d841ecfb07",
"commands/gsd-resume-work.md": "330cd86844bd768b",
"commands/gsd-onboard.md": "d0d9405bc73899bd",
"commands/gsd-pause-work.md": "01dbaebfefacd252",
"commands/gsd-phase.md": "e8c226d2694692a5",
"commands/gsd-plan-phase.md": "518357828182dca7",
"commands/gsd-plan-review-convergence.md": "d5a85a50dcff2dd1",
"commands/gsd-pr-branch.md": "382c23a6a644c0e4",
"commands/gsd-profile-user.md": "adbc5b025b30e836",
"commands/gsd-progress.md": "75a6dc71b74c54c2",
"commands/gsd-quick.md": "fe2f6655e67a4223",
"commands/gsd-resume-work.md": "cb393bc9f46dcc15",
"commands/gsd-review-backlog.md": "434ebe7b63c107e0",
"commands/gsd-review.md": "65b5225d8405f290",
"commands/gsd-secure-phase.md": "1ab3de7d982a7b9a",
"commands/gsd-settings.md": "13a4293f7fa58276",
"commands/gsd-ship.md": "551dc7f66e14a3de",
"commands/gsd-sketch.md": "0d01a055aa4b00ee",
"commands/gsd-spec-phase.md": "b3f6c26deba9172f",
"commands/gsd-spike.md": "7c102d63239f6678",
"commands/gsd-stats.md": "dc7c484c0fc2c177",
"commands/gsd-surface.md": "81c0c0d634ae0375",
"commands/gsd-thread.md": "4d9ac2986e090f5f",
"commands/gsd-ui-phase.md": "19ab8467a3f737a6",
"commands/gsd-ui-review.md": "5e0e6a377719a125",
"commands/gsd-ultraplan-phase.md": "29426afa8f6bcef3",
"commands/gsd-undo.md": "3a8299018ada31f6",
"commands/gsd-update.md": "22f2060ab482d569",
"commands/gsd-validate-phase.md": "079a0013bd14c1bd",
"commands/gsd-verify-work.md": "a7b07cc4547e7099",
"commands/gsd-workspace.md": "24b4c632d9773c11",
"commands/gsd-review.md": "e990b7adb72472f9",
"commands/gsd-secure-phase.md": "ca4c23a332ca6204",
"commands/gsd-settings.md": "ed3fe2f6c845226d",
"commands/gsd-ship.md": "35a93b86512a7dff",
"commands/gsd-sketch.md": "c35f09bf0698c0c9",
"commands/gsd-spec-phase.md": "383b4928c4df4bf1",
"commands/gsd-spike.md": "98d789db7ca53873",
"commands/gsd-stats.md": "a9c0e3f338bd61a5",
"commands/gsd-surface.md": "998bf327c3f4a001",
"commands/gsd-thread.md": "1b78c7b75b53ad4e",
"commands/gsd-ui-phase.md": "67a759b3973f961f",
"commands/gsd-ui-review.md": "9b4ecf2d40bdc476",
"commands/gsd-ultraplan-phase.md": "4b42890e7d7a0c30",
"commands/gsd-undo.md": "e3cf64bb9562a0d8",
"commands/gsd-update.md": "23342d312e49a125",
"commands/gsd-validate-phase.md": "36c1a57cf7e1e724",
"commands/gsd-verify-work.md": "246ac304c4dfde48",
"commands/gsd-workspace.md": "5928e93b8ab475ac",
"commands/gsd-workstreams.md": "52ab9c585d3a00f3",
"gsd-core/VERSION": "ef0deccd81a6723c",
"gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74",
@@ -123,11 +123,11 @@
"gsd-core/references/ai-evals.md": "b5afa786b938671e",
"gsd-core/references/ai-frameworks.md": "f827de93dde124eb",
"gsd-core/references/api-coverage.md": "205a43c5fa7c221c",
"gsd-core/references/artifact-types.md": "08e3c3aa1f2ac11e",
"gsd-core/references/artifact-types.md": "251040866a3a1818",
"gsd-core/references/autonomous-smart-discuss.md": "2fc710cde0ec7785",
"gsd-core/references/checkpoints.md": "6aa620c6ca38bdf0",
"gsd-core/references/common-bug-patterns.md": "780145be56352626",
"gsd-core/references/context-budget.md": "338acaf52853668c",
"gsd-core/references/context-budget.md": "6bfac08025ea3106",
"gsd-core/references/continuation-format.md": "580287399ad3ba68",
"gsd-core/references/debugger-philosophy.md": "0466f95a3d6bfcd3",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
@@ -146,7 +146,7 @@
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/expected-coverage.json": "bc552c01939bf4f8",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/resolutions.json": "688ec62c13e08afe",
"gsd-core/references/edge-probe.md": "92e6574b30f5b765",
"gsd-core/references/edge-probe.md": "36f44960a5c1dc45",
"gsd-core/references/execute-mvp-tdd.md": "a98a270a7ab126bc",
"gsd-core/references/execute-phase-between-wave-reset.md": "3ad96ca0f7fee37e",
"gsd-core/references/execute-phase-context-guard.md": "a5a1058d35806a8e",
@@ -158,12 +158,12 @@
"gsd-core/references/gates.md": "7dc9fd3a3d6217c6",
"gsd-core/references/git-integration.md": "5c70ef3203b7c9ce",
"gsd-core/references/git-planning-commit.md": "f897a15ebfc3f5a7",
"gsd-core/references/gsd-run-resolver.md": "46173caac1d469d4",
"gsd-core/references/honest-verifier.md": "6e4b8293f644b3f1",
"gsd-core/references/gsd-run-resolver.md": "1541604e8301ff6d",
"gsd-core/references/honest-verifier.md": "809f3488bc5a79d0",
"gsd-core/references/ios-scaffold.md": "5ef0cb7e0fac891f",
"gsd-core/references/loop-hook-dispatch.md": "32e5dfb4dba76987",
"gsd-core/references/mandatory-initial-read.md": "fe59abce693717cf",
"gsd-core/references/model-profile-resolution.md": "a2fa775cac3470fa",
"gsd-core/references/model-profile-resolution.md": "18e7cfd4ba0ca9bc",
"gsd-core/references/model-profiles.md": "c249163663bbea53",
"gsd-core/references/mvp-concepts.md": "3464783eaaef5c10",
"gsd-core/references/phase-argument-parsing.md": "e5bbb985f3bc3e34",
@@ -171,11 +171,11 @@
"gsd-core/references/planner-chunked.md": "79fe674221e738e6",
"gsd-core/references/planner-gap-closure.md": "76bee257911413e7",
"gsd-core/references/planner-graphify-auto-update.md": "1ed614dfba72f2a3",
"gsd-core/references/planner-guidance.md": "563d1a434304d5cc",
"gsd-core/references/planner-guidance.md": "782fa05092be3ffa",
"gsd-core/references/planner-human-verify-mode.md": "56d05e841630b3f4",
"gsd-core/references/planner-interface-context.md": "b28fa3da6ae739a8",
"gsd-core/references/planner-load-graph-context.md": "0126c6156a9d32a8",
"gsd-core/references/planner-mvp-mode.md": "f7fc3894770a73f8",
"gsd-core/references/planner-load-graph-context.md": "add55e135dd968da",
"gsd-core/references/planner-mvp-mode.md": "ffd7b9d0e402714e",
"gsd-core/references/planner-reviews.md": "da39eace09a10743",
"gsd-core/references/planner-revision.md": "86ba8a511f081f05",
"gsd-core/references/planner-source-audit.md": "7de5bdb07232ce0b",
@@ -183,7 +183,7 @@
"gsd-core/references/prohibition-probe-fixtures/01-streak-reminder/expected.json": "f10df472f2846cc6",
"gsd-core/references/prohibition-probe-fixtures/02-clean-utility/expected.json": "31e8a781eeffe020",
"gsd-core/references/prohibition-probe-fixtures/03-multi-prohibition/expected.json": "70a532a7cc1b6ae8",
"gsd-core/references/prohibition-probe.md": "7612bb55f00359bb",
"gsd-core/references/prohibition-probe.md": "2d3b728f8ef5cf6e",
"gsd-core/references/project-skills-discovery.md": "c155e03dce8dc3c2",
"gsd-core/references/questioning.md": "a8c988cab05f4651",
"gsd-core/references/research-documentation-lookup.md": "c070007d1d72ab71",
@@ -198,7 +198,7 @@
"gsd-core/references/sketch-theme-system.md": "33e2e96e450456f8",
"gsd-core/references/sketch-tooling.md": "df6c4f24c1c27611",
"gsd-core/references/sketch-variant-patterns.md": "66c197aa4fb52810",
"gsd-core/references/specless-probe-fallback.md": "d22e89615c846b72",
"gsd-core/references/specless-probe-fallback.md": "c0331cc8b7df24a8",
"gsd-core/references/spidr-splitting.md": "074ac154c0e4f906",
"gsd-core/references/tdd.md": "e4708ede157478b6",
"gsd-core/references/thinking-models-debug.md": "2da61022b16c4e7c",
@@ -213,7 +213,7 @@
"gsd-core/references/user-profiling.md": "b50416fe57c1b321",
"gsd-core/references/user-story-template.md": "0cc50e06a144ff8a",
"gsd-core/references/verification-overrides.md": "a3e2d5166d16a37b",
"gsd-core/references/verification-patterns.md": "57c67c5fd375fcb3",
"gsd-core/references/verification-patterns.md": "cfaf338f42b1111e",
"gsd-core/references/verify-mvp-mode.md": "534bdc7f2432903a",
"gsd-core/references/workstream-flag.md": "ca99ca79e716f0f5",
"gsd-core/references/worktree-branch-check.md": "21d9c31bf6542b93",
@@ -231,7 +231,7 @@
"gsd-core/templates/codebase/conventions.md": "c2e07698dad6b364",
"gsd-core/templates/codebase/integrations.md": "39bd23c71eedd564",
"gsd-core/templates/codebase/stack.md": "116e7e67dd87ddec",
"gsd-core/templates/codebase/structure.md": "b106ec2b588d2b51",
"gsd-core/templates/codebase/structure.md": "d34c1d0eb4f15ed6",
"gsd-core/templates/codebase/testing.md": "76abff7f2050c9ea",
"gsd-core/templates/config.json": "a4b783ef759a0f37",
"gsd-core/templates/context.md": "69b01e7909ea3f66",
@@ -243,7 +243,7 @@
"gsd-core/templates/discussion-log.md": "cac1b48ec0f4dcb8",
"gsd-core/templates/milestone-archive.md": "591b6decdc0c0e51",
"gsd-core/templates/milestone.md": "74d2f750ae9f4a9c",
"gsd-core/templates/phase-prompt.md": "d07f52e21f15f2ab",
"gsd-core/templates/phase-prompt.md": "974daa528c2ce3f1",
"gsd-core/templates/planner-subagent-prompt.md": "6c9f1b23ee3dc05f",
"gsd-core/templates/project.md": "ae1f68db042c2522",
"gsd-core/templates/requirements.md": "a44de4c2f146e473",
@@ -265,121 +265,121 @@
"gsd-core/templates/user-setup.md": "78b7d718b6e8d67c",
"gsd-core/templates/verification-report.md": "dd5faa6254183731",
"gsd-core/workflows/_runtime-launcher.snippet.sh": "bf2dd5d1debd5335",
"gsd-core/workflows/add-backlog.md": "450f70cb4ba4bf78",
"gsd-core/workflows/add-phase.md": "500274ecffbc2b12",
"gsd-core/workflows/add-tests.md": "575110e32af4eac3",
"gsd-core/workflows/add-todo.md": "4f68274dbf475704",
"gsd-core/workflows/ai-integration-phase.md": "1be55b37af12a639",
"gsd-core/workflows/add-backlog.md": "8d05775f367d1e48",
"gsd-core/workflows/add-phase.md": "7285e6e8894a41c5",
"gsd-core/workflows/add-tests.md": "8012263b2d27b83e",
"gsd-core/workflows/add-todo.md": "1fc850476cd8340d",
"gsd-core/workflows/ai-integration-phase.md": "3503f52a7356caf0",
"gsd-core/workflows/analyze-dependencies.md": "77aff48f97fa6f1c",
"gsd-core/workflows/audit-fix.md": "bab7ebaee574e486",
"gsd-core/workflows/audit-milestone.md": "3b5667e761f97774",
"gsd-core/workflows/audit-uat.md": "470c4637eb53b4a3",
"gsd-core/workflows/autonomous.md": "275e66d559d76792",
"gsd-core/workflows/check-todos.md": "dd1504bb42b17021",
"gsd-core/workflows/cleanup.md": "e06b655e5e901031",
"gsd-core/workflows/code-review-fix.md": "c6d26d40e143acca",
"gsd-core/workflows/code-review.md": "1bb99932450e9ced",
"gsd-core/workflows/complete-milestone.md": "7f0346ab9b6ab2b4",
"gsd-core/workflows/debug.md": "722e00ef94fdb5c2",
"gsd-core/workflows/diagnose-issues.md": "17fa373be09a0b82",
"gsd-core/workflows/discovery-phase.md": "b9f80db0c22d723a",
"gsd-core/workflows/discuss-phase-assumptions.md": "e3693f4e1746bc13",
"gsd-core/workflows/audit-fix.md": "816c71b0ef2d8c1d",
"gsd-core/workflows/audit-milestone.md": "a35795246b955bdb",
"gsd-core/workflows/audit-uat.md": "1c4a02a8c1ab930f",
"gsd-core/workflows/autonomous.md": "6adf957e64518d15",
"gsd-core/workflows/check-todos.md": "8f2c6b27f18cc5e2",
"gsd-core/workflows/cleanup.md": "bfbab4b981d39544",
"gsd-core/workflows/code-review-fix.md": "78c716068ccdf820",
"gsd-core/workflows/code-review.md": "2d21452eb0449fdd",
"gsd-core/workflows/complete-milestone.md": "9962377cddee50d7",
"gsd-core/workflows/debug.md": "3354c726abbfd75b",
"gsd-core/workflows/diagnose-issues.md": "db6a599674efbc4d",
"gsd-core/workflows/discovery-phase.md": "a20dfb32adec51de",
"gsd-core/workflows/discuss-phase-assumptions.md": "35a3b2d1285565d8",
"gsd-core/workflows/discuss-phase-power.md": "290c0d83d783f9f6",
"gsd-core/workflows/discuss-phase.md": "6f5c0280e386a12e",
"gsd-core/workflows/discuss-phase/modes/advisor.md": "93b4ff65a03a5487",
"gsd-core/workflows/discuss-phase.md": "ff2563dc378c5e5c",
"gsd-core/workflows/discuss-phase/modes/advisor.md": "f64ece6d53b6d432",
"gsd-core/workflows/discuss-phase/modes/all.md": "fa70d79066562e54",
"gsd-core/workflows/discuss-phase/modes/analyze.md": "da0788f3be7f8105",
"gsd-core/workflows/discuss-phase/modes/auto.md": "fe5daf7c8617e26b",
"gsd-core/workflows/discuss-phase/modes/auto.md": "d0d68b06bcd43bcf",
"gsd-core/workflows/discuss-phase/modes/batch.md": "6946597770e2d448",
"gsd-core/workflows/discuss-phase/modes/chain.md": "2d1f9f2396f5d0f4",
"gsd-core/workflows/discuss-phase/modes/chain.md": "94548620da9708dd",
"gsd-core/workflows/discuss-phase/modes/default.md": "67d1b67f61f03966",
"gsd-core/workflows/discuss-phase/modes/power.md": "7c10e13c60b73af0",
"gsd-core/workflows/discuss-phase/modes/power.md": "dfcf239382e9bd67",
"gsd-core/workflows/discuss-phase/modes/text.md": "b62c9085d4dc2963",
"gsd-core/workflows/discuss-phase/templates/checkpoint.json": "e3bc3dca49db59eb",
"gsd-core/workflows/discuss-phase/templates/context.md": "6cd929e989fe2b0f",
"gsd-core/workflows/discuss-phase/templates/discussion-log.md": "1bbd7703f11128e1",
"gsd-core/workflows/do.md": "e55fe97bac5d691f",
"gsd-core/workflows/docs-update.md": "fff626c2033d34d2",
"gsd-core/workflows/edit-phase.md": "67efb8a73213ea5a",
"gsd-core/workflows/eval-review.md": "db4b8795864f104e",
"gsd-core/workflows/execute-phase.md": "4ef4e55d34c9c605",
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "839b0006c551f9fb",
"gsd-core/workflows/do.md": "149084d893a23024",
"gsd-core/workflows/docs-update.md": "cd753783ab95da00",
"gsd-core/workflows/edit-phase.md": "dbbb6191f5a8b65e",
"gsd-core/workflows/eval-review.md": "086a1f2b3c11462c",
"gsd-core/workflows/execute-phase.md": "d7d8ac751aa2915e",
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "6d38bfd540030da4",
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "cfe19fe951583f3f",
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "e40c5eb516a9e052",
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "611b2be3bd133eb1",
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "016ac9c7c02b1438",
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
"gsd-core/workflows/execute-plan.md": "5d66d59ce03f88ba",
"gsd-core/workflows/explore.md": "eb4a623b5732303f",
"gsd-core/workflows/extract-learnings.md": "d1e0a14a9df00195",
"gsd-core/workflows/execute-plan.md": "f17623fd47e795dd",
"gsd-core/workflows/explore.md": "95e463d4bdd6dadd",
"gsd-core/workflows/extract-learnings.md": "fd75072c339b58bd",
"gsd-core/workflows/fast.md": "54fe93778b45a7eb",
"gsd-core/workflows/forensics.md": "f66bb7b50dcc918a",
"gsd-core/workflows/graduation.md": "35ebdec95d86d45b",
"gsd-core/workflows/health.md": "bcc07e9610635d49",
"gsd-core/workflows/forensics.md": "857d7b064f4cca21",
"gsd-core/workflows/graduation.md": "ecf8da93e094fd2e",
"gsd-core/workflows/health.md": "551e63aa6f3df711",
"gsd-core/workflows/help.md": "5d040504b9ab35e3",
"gsd-core/workflows/help/modes/brief.md": "fa2675516b40e2e3",
"gsd-core/workflows/help/modes/default.md": "be05e56b2c5ee2c0",
"gsd-core/workflows/help/modes/full.md": "579577e8095f8fef",
"gsd-core/workflows/help/modes/full.md": "ce40e843f528e327",
"gsd-core/workflows/help/modes/topic.md": "6e42db16f1568be9",
"gsd-core/workflows/import.md": "88e6ef80b6d1db63",
"gsd-core/workflows/import.md": "cc21f3da36403ed3",
"gsd-core/workflows/inbox.md": "91aac6360e1a8672",
"gsd-core/workflows/ingest-docs.md": "59224a43a74f0f88",
"gsd-core/workflows/insert-phase.md": "653460de68191dd7",
"gsd-core/workflows/ingest-docs.md": "1d42ea1be30becc4",
"gsd-core/workflows/insert-phase.md": "ae977afd1509dc86",
"gsd-core/workflows/list-phase-assumptions.md": "2a6b6a5acfb7742c",
"gsd-core/workflows/list-seeds.md": "c7026201e80f21ff",
"gsd-core/workflows/list-workspaces.md": "2c2f5e466cf97136",
"gsd-core/workflows/manager.md": "f0835592a5f4ca39",
"gsd-core/workflows/map-codebase.md": "a2c4e72aac41f477",
"gsd-core/workflows/milestone-summary.md": "4ad8a311ebf766a8",
"gsd-core/workflows/mvp-phase.md": "e459fa1351dbb663",
"gsd-core/workflows/new-milestone.md": "417bbc34f965997f",
"gsd-core/workflows/new-project.md": "4c7c381c8bc0bd98",
"gsd-core/workflows/new-workspace.md": "f907fed6831f3f32",
"gsd-core/workflows/next.md": "f2f2210290a02171",
"gsd-core/workflows/list-seeds.md": "7576156b91e9abee",
"gsd-core/workflows/list-workspaces.md": "90caeeb11cec0128",
"gsd-core/workflows/manager.md": "36559ff897e55c09",
"gsd-core/workflows/map-codebase.md": "b11ca99a885e93ef",
"gsd-core/workflows/milestone-summary.md": "99636900c216c8d2",
"gsd-core/workflows/mvp-phase.md": "254baac57e85dca7",
"gsd-core/workflows/new-milestone.md": "fcb63a8b13c02d6e",
"gsd-core/workflows/new-project.md": "26907d3cf3630ed0",
"gsd-core/workflows/new-workspace.md": "26615bf710f0a324",
"gsd-core/workflows/next.md": "1193222c5618d3db",
"gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b",
"gsd-core/workflows/note.md": "def2655cebe5c001",
"gsd-core/workflows/onboard.md": "9ae63d270f8fd7c0",
"gsd-core/workflows/pause-work.md": "9655ec327c5aa307",
"gsd-core/workflows/plan-milestone-gaps.md": "3be3a097114fdde6",
"gsd-core/workflows/plan-phase.md": "b1643a49267f3f01",
"gsd-core/workflows/note.md": "a2cc926854a5666c",
"gsd-core/workflows/onboard.md": "b86d78eef6c77e5b",
"gsd-core/workflows/pause-work.md": "da902807d2213204",
"gsd-core/workflows/plan-milestone-gaps.md": "7679fac068d1009d",
"gsd-core/workflows/plan-phase.md": "8e8331ca99bc8680",
"gsd-core/workflows/plan-phase/steps/closed-phase-gate.md": "4099ef6d0868de60",
"gsd-core/workflows/plan-phase/steps/prd-express-path.md": "af3029d3c899f4f2",
"gsd-core/workflows/plan-phase/steps/prd-express-path.md": "b810f9f2374e23a5",
"gsd-core/workflows/plan-phase/steps/windows-troubleshooting.md": "e9de7a96bbfff261",
"gsd-core/workflows/plan-review-convergence.md": "b09378bcc5571ca4",
"gsd-core/workflows/plant-seed.md": "4f51d8d267fd56a5",
"gsd-core/workflows/pr-branch.md": "8f6db372a275f7b1",
"gsd-core/workflows/profile-user.md": "aeb21d7386c4a41e",
"gsd-core/workflows/progress.md": "b482c9befd4af94a",
"gsd-core/workflows/quick.md": "668e7e8370ba9992",
"gsd-core/workflows/reapply-patches.md": "6466079b57163be0",
"gsd-core/workflows/remove-phase.md": "7cc144da60d95241",
"gsd-core/workflows/remove-workspace.md": "53e9575a8c4fb411",
"gsd-core/workflows/resume-project.md": "20de3d2834ee581a",
"gsd-core/workflows/review.md": "5ea70bc48614f68f",
"gsd-core/workflows/scan.md": "edba4c0bac5727a6",
"gsd-core/workflows/secure-phase.md": "265b3244a74a9bdd",
"gsd-core/workflows/plan-review-convergence.md": "1cabea77790fc16c",
"gsd-core/workflows/plant-seed.md": "fbe964fcdb244802",
"gsd-core/workflows/pr-branch.md": "513f6cff722eff2d",
"gsd-core/workflows/profile-user.md": "3b34dcb337d50f4b",
"gsd-core/workflows/progress.md": "2be3a57916eccf87",
"gsd-core/workflows/quick.md": "20f9dbfcd20b4b4b",
"gsd-core/workflows/reapply-patches.md": "44a96b52b975e9bb",
"gsd-core/workflows/remove-phase.md": "8effc8742d58a11a",
"gsd-core/workflows/remove-workspace.md": "10882656198d9075",
"gsd-core/workflows/resume-project.md": "af9761bcec0f6fe9",
"gsd-core/workflows/review.md": "34cb7ab671eb8684",
"gsd-core/workflows/scan.md": "75c670d08cee8680",
"gsd-core/workflows/secure-phase.md": "64ec4d06ca85720a",
"gsd-core/workflows/session-report.md": "2e5b1205324ddefa",
"gsd-core/workflows/settings-advanced.md": "d148d5233169883f",
"gsd-core/workflows/settings-integrations.md": "b03bdf37b4f5310b",
"gsd-core/workflows/settings.md": "c24424577729f318",
"gsd-core/workflows/ship.md": "4d0fb3bb33f286f8",
"gsd-core/workflows/sketch-wrap-up.md": "47cb472ba0445c10",
"gsd-core/workflows/sketch.md": "d4de5174c8242425",
"gsd-core/workflows/smart-entry.md": "3fe82b4a6e67d0cf",
"gsd-core/workflows/spec-phase.md": "b35b7733e8ece267",
"gsd-core/workflows/spike-wrap-up.md": "496a6afc08c42a8d",
"gsd-core/workflows/spike.md": "3b2a826377c451ff",
"gsd-core/workflows/stats.md": "75618011901cebce",
"gsd-core/workflows/sync-skills.md": "452c01c7a05b238c",
"gsd-core/workflows/thread.md": "9d9cf44f7f6d788e",
"gsd-core/workflows/transition.md": "18f610382e9641f6",
"gsd-core/workflows/ui-phase.md": "4c8adbabd9f71a78",
"gsd-core/workflows/ui-review.md": "108e094e6aa085f6",
"gsd-core/workflows/ultraplan-phase.md": "e759430ce77b45db",
"gsd-core/workflows/undo.md": "e1eeffa679786c8a",
"gsd-core/workflows/update.md": "c276a4f628f4b948",
"gsd-core/workflows/validate-phase.md": "96c5ee354b72af56",
"gsd-core/workflows/verify-phase.md": "5ee79da8a9e787b3",
"gsd-core/workflows/verify-work.md": "25c8dd4c6ca6b5ae",
"gsd-core/workflows/settings-advanced.md": "2fc2738442f4f9de",
"gsd-core/workflows/settings-integrations.md": "dfe3672c4fabf139",
"gsd-core/workflows/settings.md": "ba138b058d91fd38",
"gsd-core/workflows/ship.md": "44af1c72d86e153b",
"gsd-core/workflows/sketch-wrap-up.md": "d52a5462bafda830",
"gsd-core/workflows/sketch.md": "dbe6acc4d976060c",
"gsd-core/workflows/smart-entry.md": "1850447c045f36d8",
"gsd-core/workflows/spec-phase.md": "e03fa9f1a44613dc",
"gsd-core/workflows/spike-wrap-up.md": "4bdfaf9d05c63e7c",
"gsd-core/workflows/spike.md": "1571a05457beea8d",
"gsd-core/workflows/stats.md": "3953356f476b5053",
"gsd-core/workflows/sync-skills.md": "5624d529dae1ad79",
"gsd-core/workflows/thread.md": "14a9d195572a198f",
"gsd-core/workflows/transition.md": "78a91b0154a93cf5",
"gsd-core/workflows/ui-phase.md": "57664a12509b455d",
"gsd-core/workflows/ui-review.md": "9c6005236e2067b5",
"gsd-core/workflows/ultraplan-phase.md": "b926ba7e4de0c76d",
"gsd-core/workflows/undo.md": "d759702f84e308fa",
"gsd-core/workflows/update.md": "2a59b4edf4a3c8c7",
"gsd-core/workflows/validate-phase.md": "83eeefeeca31c2b5",
"gsd-core/workflows/verify-phase.md": "6ae6f159be75dcdd",
"gsd-core/workflows/verify-work.md": "de14acdc8e925338",
"hooks/gsd-check-update-worker.js": "a530efdb5fdc0da3",
"hooks/gsd-check-update.js": "25cde66a12d6b886",
"hooks/gsd-config-reload.js": "96546e0e8bb47904",

View File

@@ -113,6 +113,17 @@ function buildParityManifest(configDir, root) {
const allFiles = walk(configDir);
const unsorted = {};
// The claude LOCAL install resolves its config dir via realpath, which on macOS
// prepends `/private` to the temp root (`/var/folders/…` -> `/private/var/folders/…`)
// and embeds that resolved path in the projected agents/commands/workflows (`@…`
// references). On Linux the temp root has no `/private` symlink, so normalizing
// ONLY `root` left the `/private` prefix on macOS and produced platform-divergent
// hashes (#2086). Normalize the realpath form FIRST (it is the longer, `/private`-
// prefixed string) so both platforms collapse to `<HOME>`. No-op for the global
// fixtures (global install uses the literal `--config-dir`, never realpath-resolved).
let realRoot = root;
try { realRoot = fs.realpathSync(root); } catch { /* root already gone / not resolvable */ }
for (const full of allFiles) {
// Build POSIX-style relative path for cross-platform stability
const rel = path.relative(configDir, full).split(path.sep).join('/');
@@ -125,7 +136,10 @@ function buildParityManifest(configDir, root) {
// Normalize every occurrence of the temp root so hashes are stable across runs.
// 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('<HOME>').split(PKG_VERSION).join('<VERSION>');
const normalized = content.toString('utf8')
.split(realRoot).join('<HOME>')
.split(root).join('<HOME>')
.split(PKG_VERSION).join('<VERSION>');
const hash = crypto.createHash('sha256').update(normalized).digest('hex').slice(0, 16);
unsorted[rel] = hash;
}