From 1c93df04db8ab8f1fa4097ae2380f3537289842d Mon Sep 17 00:00:00 2001 From: Tom Boucher Date: Mon, 27 Jul 2026 15:02:26 -0400 Subject: [PATCH] fix(#2711): propagate the #2517 omit-on-inherit rule to all 15 unguarded workflows (#2713) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * test(#2711): derive the omit-rule guarded set from the corpus instead of a hand list The GUARDED array was a Goodhart metric: it reported green across 15 non-compliant workflows for no better reason than that nobody had added them to it. The guard now derives its set — every workflow emitting a model="{…}" dispatch site must state the omit-on-inherit/empty rule — and asserts the derivation is non-empty so a broken scan fails rather than passes. Rule detection stays a PROPERTY check, not a template match: plan-phase.md and execute-phase.md state it in different words and both are correct. RED expected on 15 workflows: audit-milestone, code-review, code-review-fix, debug, discuss-phase-assumptions, docs-update, map-codebase, new-milestone, new-project, quick, secure-phase, ui-phase, ui-review, validate-phase, verify-work. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01DPq9ovaovP2UvSVLjD4Lso * fix(#2711): propagate the #2517 omit-on-inherit rule to all 15 unguarded workflows 15 of the 19 model=-dispatching workflows carried no omit-on-inherit/empty guidance — 43 unguarded dispatch sites. Each would emit model="" whenever the bound *_model resolved empty, which is the DEFAULT state on non-Claude runtimes: the installer writes resolve_model_ids:"omit" into ~/.gsd/defaults.json for every one of them (references/model-profiles.md:101), and resolveModelInternal returns "" for that case (src/model-resolver.cts:383-386) and "inherit" for opus-tier agents and the inherit profile (:395). Both 404 on runtimes without native tier aliases — the failure #2517 documented and fixed in one file. Each file now carries a `` blockquote naming its own bound placeholders and linking the canonical statement in references/model-profile-resolution.md, mirroring the `` block already present in all 15. The rule text lives in the reference; the workflows carry a pointer plus the one-line instruction, so the next revision edits one file rather than fifteen. plan-phase.md and execute-phase.md are deliberately untouched — they already state the rule in their own wording, and the guard checks the property rather than a template string. No dispatch site is edited and no placeholder renamed: the #2684 binding guard reports the same 19 files / 60 placeholders / 0 findings before and after, which is the independence proof that this change is additive prose only. There is no Hyrum's-Law routing change to disclose. Placement is span-aware. An initial pass anchored to the #2508 marker, but in six files that marker sits INSIDE the Agent(prompt="…") string, so the new paragraph's literal model= landed in a dispatch call span and tripped the #2284 fail-closed Hermes projection guard (bin/install.js:3704), refusing the install. Blocks are now anchored before the opening Agent( of the span owning the first dispatch, and verified to fall inside no span. gen:golden exits 0 across all 19 runtimes. Fixes #2711 Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01DPq9ovaovP2UvSVLjD4Lso * fix(#2711): cite the issue number in the changeset body and tidy block placement Review findings from the two orthogonal passes: - The changeset body ended (#0). Repo convention across every prior fragment (e.g. #2617/#2693, #2608, #2605) is that the trailing (#NNN) is the ISSUE number, known at authoring time; only the frontmatter pr: field carries the 0 placeholder pending backfill. (#0) would have rendered a dead link in the published release notes. - new-milestone.md glued the inserted block directly under the preceding paragraph with no blank line, inconsistent with the other 14 insertions. - The derived-guard non-vacuity floor was >=17 against an actual derived count of 19, tolerating a silent two-file regression. Tightened to >=19. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01DPq9ovaovP2UvSVLjD4Lso * fix(#2711): reword the omit block so it survives Hermes projection, and exempt quick.md by size The first block wording regressed two suites on the full matrix (4 failures on both linux-node22 and linux-node24). gen:golden passing was not sufficient evidence — it exercises the installer's own fail-closed guard, which is narrower than the dedicated tests. 1. tests/fix-2284-hermes-agent-delegate-task-projection.test.cjs asserts that the INSTALLED code-review-fix.md contains no `model=` anywhere outside a string literal — masked whole-file, not merely inside call spans. The block's backticked `model=` survived the mask. The assertion is right: on Hermes the projection strips the parameter because delegate_task has no per-call model at all, so instructing the orchestrator to "omit the model= parameter" is advice about a parameter that does not exist there. The block now says "the `model` parameter" and carries no bare `model=` token. 2. tests/prompt-injection-scan.security.test.cjs flagged quick.md at 50,164 normalized chars against a 50,000 prompt-stuffing threshold. quick.md sits just under the line on next, so any insertion trips it — the situation review.md is already documented for in SIZE_ONLY_WORKFLOWS ("sat at 49,971 chars — 29 below the threshold — so it was going to trip on whatever was added to it next"). quick.md joins it with the same justification. This is a size-finding exemption only: the file is still fully injection scanned, and every other security check still runs on it. Because the canonical block can no longer carry a literal `model=`, the guard's detector now accepts the `` marker as the canonical signal, falling back to the inline-prose property for the four files that predate it (plan-phase, execute-phase, scan, ship — all four match the legacy branch). That is strictly stronger than word-proximity matching, and it keeps the guard a property check rather than a template match. Verified: derived guard 19/19 with 0 missing; the #2684 binding guard unchanged at 19 files / 60 placeholders / 0 findings; no inserted block contains a bare model= token; the masked-projection assertion passes for code-review-fix.md; gen:golden exits 0 across all 19 runtimes; lint:ci exits 0. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01DPq9ovaovP2UvSVLjD4Lso * chore(#2711): backfill changeset PR number Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01DPq9ovaovP2UvSVLjD4Lso --------- Co-authored-by: Claude Opus 5 (1M context) --- .changeset/daring-koalas-dart.md | 5 + gsd-core/workflows/audit-milestone.md | 4 + gsd-core/workflows/code-review-fix.md | 4 + gsd-core/workflows/code-review.md | 4 + gsd-core/workflows/debug.md | 4 + .../workflows/discuss-phase-assumptions.md | 4 + gsd-core/workflows/docs-update.md | 4 + gsd-core/workflows/map-codebase.md | 4 + gsd-core/workflows/new-milestone.md | 4 + gsd-core/workflows/new-project.md | 4 + gsd-core/workflows/quick.md | 4 + gsd-core/workflows/secure-phase.md | 4 + gsd-core/workflows/ui-phase.md | 4 + gsd-core/workflows/ui-review.md | 4 + gsd-core/workflows/validate-phase.md | 4 + gsd-core/workflows/verify-work.md | 4 + .../golden-install-parity/antigravity.json | 30 ++-- .../golden-install-parity/augment.json | 30 ++-- .../golden-install-parity/claude-local.json | 30 ++-- .../golden-install-parity/claude.json | 30 ++-- .../fixtures/golden-install-parity/cline.json | 30 ++-- .../golden-install-parity/codebuddy.json | 30 ++-- .../fixtures/golden-install-parity/codex.json | 30 ++-- .../golden-install-parity/copilot.json | 30 ++-- .../golden-install-parity/cursor.json | 30 ++-- .../golden-install-parity/hermes.json | 30 ++-- .../fixtures/golden-install-parity/kilo.json | 30 ++-- .../golden-install-parity/kimi-code.json | 30 ++-- .../fixtures/golden-install-parity/kimi.json | 30 ++-- .../golden-install-parity/opencode.json | 30 ++-- tests/fixtures/golden-install-parity/pi.json | 30 ++-- .../fixtures/golden-install-parity/qwen.json | 30 ++-- .../fixtures/golden-install-parity/trae.json | 30 ++-- .../golden-install-parity/windsurf.json | 30 ++-- .../fixtures/golden-install-parity/zcode.json | 30 ++-- tests/model-omit-when-inherit-guard.test.cjs | 139 +++++++++++++++--- tests/prompt-injection-scan.security.test.cjs | 6 + tests/workflow-size-baseline.json | 30 ++-- 38 files changed, 490 insertions(+), 320 deletions(-) create mode 100644 .changeset/daring-koalas-dart.md diff --git a/.changeset/daring-koalas-dart.md b/.changeset/daring-koalas-dart.md new file mode 100644 index 000000000..b4168c2ff --- /dev/null +++ b/.changeset/daring-koalas-dart.md @@ -0,0 +1,5 @@ +--- +type: Fixed +pr: 2713 +--- +**Subagent spawns no longer fail on non-Claude runtimes when no model resolves** — 15 workflows told the orchestrator to pass a model parameter without saying to drop it when nothing resolved, so 43 dispatch sites sent an empty model and the spawn 404'd. That was the default state on Codex, OpenCode, Gemini CLI, Kilo, Qwen and Hermes, where GSD sets `resolve_model_ids: "omit"` on install. Every dispatching workflow now carries the rule. (#2711) diff --git a/gsd-core/workflows/audit-milestone.md b/gsd-core/workflows/audit-milestone.md index 8be6dbfdd..0f64a9f6c 100644 --- a/gsd-core/workflows/audit-milestone.md +++ b/gsd-core/workflows/audit-milestone.md @@ -69,6 +69,10 @@ Extract `MILESTONE_REQ_IDS` from REQUIREMENTS.md traceability table — all REQ- Print: "Spawning integration checker (runs in a subagent — no output until it returns, ~1–5 min; expected, not a freeze)" + + +> **Model omission (#2517).** Omit the `model` parameter entirely when the value it would carry (`integration_checker_model`) is `"inherit"` or empty. An empty value 404s on runtimes without native tier aliases — the default on non-Claude runtimes. Omitting it inherits the orchestrator's model. See @gsd-core/references/model-profile-resolution.md. + ``` Agent( prompt="Check cross-phase integration and E2E flows. diff --git a/gsd-core/workflows/code-review-fix.md b/gsd-core/workflows/code-review-fix.md index 85570ff89..f5c4fafa8 100644 --- a/gsd-core/workflows/code-review-fix.md +++ b/gsd-core/workflows/code-review-fix.md @@ -201,6 +201,10 @@ Use Agent() to spawn agent: > **Runtime-aware dispatch (#2508 Phase 4).** GSD workflows dispatch specialized subagents by role. Before dispatching on a built-in-only runtime (kimi-code — three built-ins only), resolve the role to a built-in via `gsd_run query resolve-dispatch-type --requested --raw`. On named-dispatch runtimes (Claude/OpenCode/…) the role is returned unchanged; on kimi-code it maps to `coder`/`explore`/`plan` by role-suffix. The persona rides `${AGENT_SKILLS_}` (Phase 3) regardless. See @gsd-core/references/runtime-aware-dispatch.md. + + +> **Model omission (#2517).** Omit the `model` parameter entirely when the value it would carry (`FIXER_MODEL`, `REVIEWER_MODEL`) is `"inherit"` or empty. An empty value 404s on runtimes without native tier aliases — the default on non-Claude runtimes. Omitting it inherits the orchestrator's model. See @gsd-core/references/model-profile-resolution.md. + ```text Agent(subagent_type="gsd-code-fixer", model="{FIXER_MODEL}", prompt=" diff --git a/gsd-core/workflows/code-review.md b/gsd-core/workflows/code-review.md index 60956efb6..088d05760 100644 --- a/gsd-core/workflows/code-review.md +++ b/gsd-core/workflows/code-review.md @@ -500,6 +500,10 @@ Print: `◆ Spawning code reviewer... (runs in a subagent — no output until it > **Runtime-aware dispatch (#2508 Phase 4).** GSD workflows dispatch specialized subagents by role. Before dispatching on a built-in-only runtime (kimi-code — three built-ins only), resolve the role to a built-in via `gsd_run query resolve-dispatch-type --requested --raw`. On named-dispatch runtimes (Claude/OpenCode/…) the role is returned unchanged; on kimi-code it maps to `coder`/`explore`/`plan` by role-suffix. The persona rides `${AGENT_SKILLS_}` (Phase 3) regardless. See @gsd-core/references/runtime-aware-dispatch.md. + + +> **Model omission (#2517).** Omit the `model` parameter entirely when the value it would carry (`REVIEWER_MODEL`) is `"inherit"` or empty. An empty value 404s on runtimes without native tier aliases — the default on non-Claude runtimes. Omitting it inherits the orchestrator's model. See @gsd-core/references/model-profile-resolution.md. + ``` Agent(subagent_type="gsd-code-reviewer", model="{REVIEWER_MODEL}", prompt=" diff --git a/gsd-core/workflows/debug.md b/gsd-core/workflows/debug.md index 3eef7b474..d84d8866b 100644 --- a/gsd-core/workflows/debug.md +++ b/gsd-core/workflows/debug.md @@ -116,6 +116,10 @@ Print before spawning (runs in a subagent — no output until it returns, ~1–5 Spawn session manager: + + +> **Model omission (#2517).** Omit the `model` parameter entirely when the value it would carry (`debugger_model`) is `"inherit"` or empty. An empty value 404s on runtimes without native tier aliases — the default on non-Claude runtimes. Omitting it inherits the orchestrator's model. See @gsd-core/references/model-profile-resolution.md. + ``` Agent( prompt=""" diff --git a/gsd-core/workflows/discuss-phase-assumptions.md b/gsd-core/workflows/discuss-phase-assumptions.md index d61c6c8ee..aecce0946 100644 --- a/gsd-core/workflows/discuss-phase-assumptions.md +++ b/gsd-core/workflows/discuss-phase-assumptions.md @@ -264,6 +264,10 @@ If no USER-PROFILE.md: calibration_tier = "standard" > **Runtime-aware dispatch (#2508 Phase 4).** GSD workflows dispatch specialized subagents by role. Before dispatching on a built-in-only runtime (kimi-code — three built-ins only), resolve the role to a built-in via `gsd_run query resolve-dispatch-type --requested --raw`. On named-dispatch runtimes (Claude/OpenCode/…) the role is returned unchanged; on kimi-code it maps to `coder`/`explore`/`plan` by role-suffix. The persona rides `${AGENT_SKILLS_}` (Phase 3) regardless. See @gsd-core/references/runtime-aware-dispatch.md. + + +> **Model omission (#2517).** Omit the `model` parameter entirely when the value it would carry (`ANALYZER_MODEL`) is `"inherit"` or empty. An empty value 404s on runtimes without native tier aliases — the default on non-Claude runtimes. Omitting it inherits the orchestrator's model. See @gsd-core/references/model-profile-resolution.md. + ``` Agent(subagent_type="gsd-assumptions-analyzer", model="{ANALYZER_MODEL}", prompt=""" Analyze the codebase for Phase {PHASE}: {phase_name}. diff --git a/gsd-core/workflows/docs-update.md b/gsd-core/workflows/docs-update.md index b1211f1f8..9e4ceccc3 100644 --- a/gsd-core/workflows/docs-update.md +++ b/gsd-core/workflows/docs-update.md @@ -387,6 +387,10 @@ Use `run_in_background=true` for all three to enable parallel execution. > **Runtime-aware dispatch (#2508 Phase 4).** GSD workflows dispatch specialized subagents by role. Before dispatching on a built-in-only runtime (kimi-code — three built-ins only), resolve the role to a built-in via `gsd_run query resolve-dispatch-type --requested --raw`. On named-dispatch runtimes (Claude/OpenCode/…) the role is returned unchanged; on kimi-code it maps to `coder`/`explore`/`plan` by role-suffix. The persona rides `${AGENT_SKILLS_}` (Phase 3) regardless. See @gsd-core/references/runtime-aware-dispatch.md. + + +> **Model omission (#2517).** Omit the `model` parameter entirely when the value it would carry (`doc_writer_model`) is `"inherit"` or empty. An empty value 404s on runtimes without native tier aliases — the default on non-Claude runtimes. Omitting it inherits the orchestrator's model. See @gsd-core/references/model-profile-resolution.md. + ``` Agent( subagent_type="gsd-doc-writer", diff --git a/gsd-core/workflows/map-codebase.md b/gsd-core/workflows/map-codebase.md index 0583060d7..334886ac0 100644 --- a/gsd-core/workflows/map-codebase.md +++ b/gsd-core/workflows/map-codebase.md @@ -144,6 +144,10 @@ Spawn 4 parallel gsd-codebase-mapper agents. > **Runtime-aware dispatch (#2508 Phase 4).** GSD workflows dispatch specialized subagents by role. Before dispatching on a built-in-only runtime (kimi-code — three built-ins only), resolve the role to a built-in via `gsd_run query resolve-dispatch-type --requested --raw`. On named-dispatch runtimes (Claude/OpenCode/…) the role is returned unchanged; on kimi-code it maps to `coder`/`explore`/`plan` by role-suffix. The persona rides `${AGENT_SKILLS_}` (Phase 3) regardless. See @gsd-core/references/runtime-aware-dispatch.md. + + +> **Model omission (#2517).** Omit the `model` parameter entirely when the value it would carry (`mapper_model`) is `"inherit"` or empty. An empty value 404s on runtimes without native tier aliases — the default on non-Claude runtimes. Omitting it inherits the orchestrator's model. See @gsd-core/references/model-profile-resolution.md. + Use Agent tool with `subagent_type="gsd-codebase-mapper"`, `model="{mapper_model}"`, and `run_in_background=true` for parallel execution. **CRITICAL:** Use the dedicated `gsd-codebase-mapper` agent, NOT `Explore` or `browser_subagent`. The mapper agent writes documents directly. diff --git a/gsd-core/workflows/new-milestone.md b/gsd-core/workflows/new-milestone.md index 2fcac94ce..db6426b99 100644 --- a/gsd-core/workflows/new-milestone.md +++ b/gsd-core/workflows/new-milestone.md @@ -352,6 +352,10 @@ mkdir -p .planning/research Spawn 4 parallel gsd-project-researcher agents. Each uses this template with dimension-specific fields: **Common structure for all 4 researchers:** + + +> **Model omission (#2517).** Omit the `model` parameter entirely when the value it would carry (`researcher_model`, `synthesizer_model`, `roadmapper_model`) is `"inherit"` or empty. An empty value 404s on runtimes without native tier aliases — the default on non-Claude runtimes. Omitting it inherits the orchestrator's model. See @gsd-core/references/model-profile-resolution.md. + ```text Agent(prompt=" Project Research — {DIMENSION} for [new features]. diff --git a/gsd-core/workflows/new-project.md b/gsd-core/workflows/new-project.md index da814ef07..a5c5ccab0 100644 --- a/gsd-core/workflows/new-project.md +++ b/gsd-core/workflows/new-project.md @@ -945,6 +945,10 @@ Display spawning indicator: Spawn 4 parallel gsd-project-researcher agents with path references: + + +> **Model omission (#2517).** Omit the `model` parameter entirely when the value it would carry (`researcher_model`, `synthesizer_model`, `roadmapper_model`) is `"inherit"` or empty. An empty value 404s on runtimes without native tier aliases — the default on non-Claude runtimes. Omitting it inherits the orchestrator's model. See @gsd-core/references/model-profile-resolution.md. + ```text Agent(prompt=" Project Research — Stack dimension for [domain]. diff --git a/gsd-core/workflows/quick.md b/gsd-core/workflows/quick.md index 6544fca11..ee8526793 100644 --- a/gsd-core/workflows/quick.md +++ b/gsd-core/workflows/quick.md @@ -418,6 +418,10 @@ Display banner: Spawn a single focused researcher (not 4 parallel researchers like full phases — quick tasks need targeted research, not broad domain surveys): + + +> **Model omission (#2517).** Omit the `model` parameter entirely when the value it would carry (`planner_model`, `checker_model`, `executor_model`, `reviewer_model`, `verifier_model`) is `"inherit"` or empty. An empty value 404s on runtimes without native tier aliases — the default on non-Claude runtimes. Omitting it inherits the orchestrator's model. See @gsd-core/references/model-profile-resolution.md. + ``` Agent( prompt=" diff --git a/gsd-core/workflows/secure-phase.md b/gsd-core/workflows/secure-phase.md index 4b2e3220f..acfedc3a1 100644 --- a/gsd-core/workflows/secure-phase.md +++ b/gsd-core/workflows/secure-phase.md @@ -108,6 +108,10 @@ Print: `◆ Spawning security auditor... (runs in a subagent — no output until > **Runtime-aware dispatch (#2508 Phase 4).** GSD workflows dispatch specialized subagents by role. Before dispatching on a built-in-only runtime (kimi-code — three built-ins only), resolve the role to a built-in via `gsd_run query resolve-dispatch-type --requested --raw`. On named-dispatch runtimes (Claude/OpenCode/…) the role is returned unchanged; on kimi-code it maps to `coder`/`explore`/`plan` by role-suffix. The persona rides `${AGENT_SKILLS_}` (Phase 3) regardless. See @gsd-core/references/runtime-aware-dispatch.md. + + +> **Model omission (#2517).** Omit the `model` parameter entirely when the value it would carry (`AUDITOR_MODEL`) is `"inherit"` or empty. An empty value 404s on runtimes without native tier aliases — the default on non-Claude runtimes. Omitting it inherits the orchestrator's model. See @gsd-core/references/model-profile-resolution.md. + ``` Agent( prompt="Read ~/.claude/agents/gsd-security-auditor.md for instructions.\n\n" + diff --git a/gsd-core/workflows/ui-phase.md b/gsd-core/workflows/ui-phase.md index 8fa3ee902..a7efee727 100644 --- a/gsd-core/workflows/ui-phase.md +++ b/gsd-core/workflows/ui-phase.md @@ -161,6 +161,10 @@ Omit null file paths from ``. > **Runtime-aware dispatch (#2508 Phase 4).** GSD workflows dispatch specialized subagents by role. Before dispatching on a built-in-only runtime (kimi-code — three built-ins only), resolve the role to a built-in via `gsd_run query resolve-dispatch-type --requested --raw`. On named-dispatch runtimes (Claude/OpenCode/…) the role is returned unchanged; on kimi-code it maps to `coder`/`explore`/`plan` by role-suffix. The persona rides `${AGENT_SKILLS_}` (Phase 3) regardless. See @gsd-core/references/runtime-aware-dispatch.md. + + +> **Model omission (#2517).** Omit the `model` parameter entirely when the value it would carry (`UI_RESEARCHER_MODEL`, `UI_CHECKER_MODEL`) is `"inherit"` or empty. An empty value 404s on runtimes without native tier aliases — the default on non-Claude runtimes. Omitting it inherits the orchestrator's model. See @gsd-core/references/model-profile-resolution.md. + ``` Agent( prompt=ui_research_prompt, diff --git a/gsd-core/workflows/ui-review.md b/gsd-core/workflows/ui-review.md index 01771ec22..cd580b22a 100644 --- a/gsd-core/workflows/ui-review.md +++ b/gsd-core/workflows/ui-review.md @@ -105,6 +105,10 @@ Omit null file paths. > **Runtime-aware dispatch (#2508 Phase 4).** GSD workflows dispatch specialized subagents by role. Before dispatching on a built-in-only runtime (kimi-code — three built-ins only), resolve the role to a built-in via `gsd_run query resolve-dispatch-type --requested --raw`. On named-dispatch runtimes (Claude/OpenCode/…) the role is returned unchanged; on kimi-code it maps to `coder`/`explore`/`plan` by role-suffix. The persona rides `${AGENT_SKILLS_}` (Phase 3) regardless. See @gsd-core/references/runtime-aware-dispatch.md. + + +> **Model omission (#2517).** Omit the `model` parameter entirely when the value it would carry (`UI_AUDITOR_MODEL`) is `"inherit"` or empty. An empty value 404s on runtimes without native tier aliases — the default on non-Claude runtimes. Omitting it inherits the orchestrator's model. See @gsd-core/references/model-profile-resolution.md. + ``` Agent( prompt=ui_audit_prompt, diff --git a/gsd-core/workflows/validate-phase.md b/gsd-core/workflows/validate-phase.md index 8b397b45e..4701066b5 100644 --- a/gsd-core/workflows/validate-phase.md +++ b/gsd-core/workflows/validate-phase.md @@ -103,6 +103,10 @@ Print: `◆ Spawning nyquist auditor... (runs in a subagent — no output until > **Runtime-aware dispatch (#2508 Phase 4).** GSD workflows dispatch specialized subagents by role. Before dispatching on a built-in-only runtime (kimi-code — three built-ins only), resolve the role to a built-in via `gsd_run query resolve-dispatch-type --requested --raw`. On named-dispatch runtimes (Claude/OpenCode/…) the role is returned unchanged; on kimi-code it maps to `coder`/`explore`/`plan` by role-suffix. The persona rides `${AGENT_SKILLS_}` (Phase 3) regardless. See @gsd-core/references/runtime-aware-dispatch.md. + + +> **Model omission (#2517).** Omit the `model` parameter entirely when the value it would carry (`AUDITOR_MODEL`) is `"inherit"` or empty. An empty value 404s on runtimes without native tier aliases — the default on non-Claude runtimes. Omitting it inherits the orchestrator's model. See @gsd-core/references/model-profile-resolution.md. + ``` Agent( prompt="Read ~/.claude/agents/gsd-nyquist-auditor.md for instructions.\n\n" + diff --git a/gsd-core/workflows/verify-work.md b/gsd-core/workflows/verify-work.md index 4322638d7..2124326bd 100644 --- a/gsd-core/workflows/verify-work.md +++ b/gsd-core/workflows/verify-work.md @@ -742,6 +742,10 @@ Display: Spawn gsd-planner in --gaps mode: + + +> **Model omission (#2517).** Omit the `model` parameter entirely when the value it would carry (`planner_model`, `checker_model`) is `"inherit"` or empty. An empty value 404s on runtimes without native tier aliases — the default on non-Claude runtimes. Omitting it inherits the orchestrator's model. See @gsd-core/references/model-profile-resolution.md. + ```` Agent( prompt=""" diff --git a/tests/fixtures/golden-install-parity/antigravity.json b/tests/fixtures/golden-install-parity/antigravity.json index 2ec206c45..37b4f3c73 100644 --- a/tests/fixtures/golden-install-parity/antigravity.json +++ b/tests/fixtures/golden-install-parity/antigravity.json @@ -218,18 +218,18 @@ "gsd-core/workflows/ai-integration-phase.md": "95585dbc4065f09c", "gsd-core/workflows/analyze-dependencies.md": "77aff48f97fa6f1c", "gsd-core/workflows/audit-fix.md": "fa1c3b3cb96b9031", - "gsd-core/workflows/audit-milestone.md": "15f452aa6848dcce", + "gsd-core/workflows/audit-milestone.md": "3bfd8fd204d97a68", "gsd-core/workflows/audit-uat.md": "ea8ddd910ed16ba4", "gsd-core/workflows/autonomous.md": "4c772d7c708706d1", "gsd-core/workflows/check-todos.md": "d0c7e3e4df580256", "gsd-core/workflows/cleanup.md": "260c5e46afc1c174", - "gsd-core/workflows/code-review-fix.md": "6898f3a043ad67f6", - "gsd-core/workflows/code-review.md": "df18d974eb510930", + "gsd-core/workflows/code-review-fix.md": "5a28df1688f34e72", + "gsd-core/workflows/code-review.md": "faff151cfc12fe8e", "gsd-core/workflows/complete-milestone.md": "f54214679be6a98a", - "gsd-core/workflows/debug.md": "ac800460012dc18a", + "gsd-core/workflows/debug.md": "9b63abb371ca9097", "gsd-core/workflows/diagnose-issues.md": "1a70a1bcd3b98511", "gsd-core/workflows/discovery-phase.md": "222887a5b2094a50", - "gsd-core/workflows/discuss-phase-assumptions.md": "51e0f07b1676fc70", + "gsd-core/workflows/discuss-phase-assumptions.md": "525a4d2dda3ea615", "gsd-core/workflows/discuss-phase-power.md": "5c0d1ca6abda0383", "gsd-core/workflows/discuss-phase.md": "c0a977154470b7f5", "gsd-core/workflows/discuss-phase/modes/advisor.md": "ab0c68941386998b", @@ -245,7 +245,7 @@ "gsd-core/workflows/discuss-phase/templates/context.md": "da6bf5281bf7d2bf", "gsd-core/workflows/discuss-phase/templates/discussion-log.md": "2b56ec2868cbddb4", "gsd-core/workflows/do.md": "6be997df35e9e82b", - "gsd-core/workflows/docs-update.md": "0b3023a3caa2123f", + "gsd-core/workflows/docs-update.md": "53dd4148dd0f4c90", "gsd-core/workflows/edit-phase.md": "fc932e82ba1f585a", "gsd-core/workflows/eval-review.md": "610775f4968f7807", "gsd-core/workflows/execute-phase.md": "8c0521b091bbc1b5", @@ -275,11 +275,11 @@ "gsd-core/workflows/list-seeds.md": "3a8b612306ecf9c3", "gsd-core/workflows/list-workspaces.md": "f6b1bc9fa13cc155", "gsd-core/workflows/manager.md": "7cd083b4f5b721b6", - "gsd-core/workflows/map-codebase.md": "cf6da4d441c1542f", + "gsd-core/workflows/map-codebase.md": "19f186f82b4f0b01", "gsd-core/workflows/milestone-summary.md": "c4620853fe489126", "gsd-core/workflows/mvp-phase.md": "3675856fb091e68a", - "gsd-core/workflows/new-milestone.md": "fbfbcc14973d70df", - "gsd-core/workflows/new-project.md": "eaf48c830234bfe2", + "gsd-core/workflows/new-milestone.md": "9d9935f346190a0c", + "gsd-core/workflows/new-project.md": "750dcb2c591fbbdf", "gsd-core/workflows/new-workspace.md": "2310910fea2368db", "gsd-core/workflows/next.md": "2efc12058dee2d29", "gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b", @@ -296,14 +296,14 @@ "gsd-core/workflows/pr-branch.md": "dc5598ae8accdecd", "gsd-core/workflows/profile-user.md": "3a3f8e417de0074c", "gsd-core/workflows/progress.md": "9fb8c93970e0b4aa", - "gsd-core/workflows/quick.md": "2eeb1985e0ea1ac8", + "gsd-core/workflows/quick.md": "82c394ebc1a034cb", "gsd-core/workflows/reapply-patches.md": "4dcd6117d0a507ca", "gsd-core/workflows/remove-phase.md": "23b9eb0858a2535e", "gsd-core/workflows/remove-workspace.md": "1058d1d3160eb120", "gsd-core/workflows/resume-project.md": "98e2cf8908e73a52", "gsd-core/workflows/review.md": "0c3c483764110a1c", "gsd-core/workflows/scan.md": "5230ac0e5f876f6d", - "gsd-core/workflows/secure-phase.md": "9564c529052d1d36", + "gsd-core/workflows/secure-phase.md": "63a7b808a8b81e36", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", "gsd-core/workflows/settings-advanced.md": "6d25100a9de15b31", "gsd-core/workflows/settings-integrations.md": "e1fda52e8c9afa5f", @@ -319,14 +319,14 @@ "gsd-core/workflows/sync-skills.md": "8326a7ff0411b077", "gsd-core/workflows/thread.md": "31201839d0530e89", "gsd-core/workflows/transition.md": "d3486f115d808175", - "gsd-core/workflows/ui-phase.md": "97f916296edee281", - "gsd-core/workflows/ui-review.md": "b48465866dfbc74a", + "gsd-core/workflows/ui-phase.md": "97072787afd14ebc", + "gsd-core/workflows/ui-review.md": "1b03d7b20d80406e", "gsd-core/workflows/ultraplan-phase.md": "d8e92b0b7214eba6", "gsd-core/workflows/undo.md": "a2c65d90d5761f71", "gsd-core/workflows/update.md": "c0d21c81e93571bb", - "gsd-core/workflows/validate-phase.md": "e9132dd11931c17a", + "gsd-core/workflows/validate-phase.md": "08f11923d7576e46", "gsd-core/workflows/verify-phase.md": "913acaef091797d7", - "gsd-core/workflows/verify-work.md": "85a9049781916dd2", + "gsd-core/workflows/verify-work.md": "d7d1aff3cb9876f8", "hooks/gsd-check-update-worker.js": "fa301e6366270d5f", "hooks/gsd-check-update.js": "4617a98bf529e4c3", "hooks/gsd-config-reload.js": "96546e0e8bb47904", diff --git a/tests/fixtures/golden-install-parity/augment.json b/tests/fixtures/golden-install-parity/augment.json index e9f72688c..9e790165b 100644 --- a/tests/fixtures/golden-install-parity/augment.json +++ b/tests/fixtures/golden-install-parity/augment.json @@ -289,18 +289,18 @@ "gsd-core/workflows/ai-integration-phase.md": "308378c9044a52e1", "gsd-core/workflows/analyze-dependencies.md": "52942af10f140717", "gsd-core/workflows/audit-fix.md": "7650bcb334e622a6", - "gsd-core/workflows/audit-milestone.md": "2beceadd10d8d9b1", + "gsd-core/workflows/audit-milestone.md": "6174b6f87844973c", "gsd-core/workflows/audit-uat.md": "fcfbec501620b564", "gsd-core/workflows/autonomous.md": "aed5e67104346cc2", "gsd-core/workflows/check-todos.md": "c484e472cff0e4e3", "gsd-core/workflows/cleanup.md": "df79d1dc7b84d736", - "gsd-core/workflows/code-review-fix.md": "5c4fe9921dcd9939", - "gsd-core/workflows/code-review.md": "926565c83e9b9f67", + "gsd-core/workflows/code-review-fix.md": "9fef1cf740c7c155", + "gsd-core/workflows/code-review.md": "22b53c0d29508d57", "gsd-core/workflows/complete-milestone.md": "8f98d7b05793cf4a", - "gsd-core/workflows/debug.md": "b2232823c619cc63", + "gsd-core/workflows/debug.md": "3f0218b051c1afb1", "gsd-core/workflows/diagnose-issues.md": "7ec385c89a3672d4", "gsd-core/workflows/discovery-phase.md": "0aa8d8d872b53858", - "gsd-core/workflows/discuss-phase-assumptions.md": "cbc8ea4ddc4553fb", + "gsd-core/workflows/discuss-phase-assumptions.md": "9c8b6b66df026e33", "gsd-core/workflows/discuss-phase-power.md": "0841f7dc6e9a054a", "gsd-core/workflows/discuss-phase.md": "5c5e8d8c2c9d95aa", "gsd-core/workflows/discuss-phase/modes/advisor.md": "db488d74d080c653", @@ -316,7 +316,7 @@ "gsd-core/workflows/discuss-phase/templates/context.md": "eeebda60636d1ad0", "gsd-core/workflows/discuss-phase/templates/discussion-log.md": "1bbd7703f11128e1", "gsd-core/workflows/do.md": "90df4f1fe248cdf3", - "gsd-core/workflows/docs-update.md": "a320371be70f43d8", + "gsd-core/workflows/docs-update.md": "fba7329f525c9463", "gsd-core/workflows/edit-phase.md": "966a3eadd1bebc04", "gsd-core/workflows/eval-review.md": "c2933259ff7fb6ac", "gsd-core/workflows/execute-phase.md": "fcc3181bc5593f8f", @@ -346,11 +346,11 @@ "gsd-core/workflows/list-seeds.md": "b687f2a843032d65", "gsd-core/workflows/list-workspaces.md": "7f94e18b5c549453", "gsd-core/workflows/manager.md": "c18fab593344253d", - "gsd-core/workflows/map-codebase.md": "e59b600b28ebeed5", + "gsd-core/workflows/map-codebase.md": "51aebfe0523f3bcf", "gsd-core/workflows/milestone-summary.md": "e0cdfddbd39a9043", "gsd-core/workflows/mvp-phase.md": "58a952b4715db283", - "gsd-core/workflows/new-milestone.md": "b0a1fd443cd87be9", - "gsd-core/workflows/new-project.md": "898e223f4f734b86", + "gsd-core/workflows/new-milestone.md": "8164a9abc301f143", + "gsd-core/workflows/new-project.md": "7b2ac462000156ba", "gsd-core/workflows/new-workspace.md": "bbeb706c7a697617", "gsd-core/workflows/next.md": "4e1eb6b46d15798d", "gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b", @@ -367,14 +367,14 @@ "gsd-core/workflows/pr-branch.md": "c87db7ac8c28be1b", "gsd-core/workflows/profile-user.md": "59e5066c5c66572a", "gsd-core/workflows/progress.md": "46c83ad61b3c4a84", - "gsd-core/workflows/quick.md": "96c81d9453073d4d", + "gsd-core/workflows/quick.md": "f0f5588861a18005", "gsd-core/workflows/reapply-patches.md": "39050f72601aec89", "gsd-core/workflows/remove-phase.md": "df9a45f0b1880999", "gsd-core/workflows/remove-workspace.md": "f67860c795fb4bfe", "gsd-core/workflows/resume-project.md": "f28da1200e4545f4", "gsd-core/workflows/review.md": "8724993cbc91bcc5", "gsd-core/workflows/scan.md": "0583dac337623f82", - "gsd-core/workflows/secure-phase.md": "fda2361739e511ee", + "gsd-core/workflows/secure-phase.md": "00225810eaed265b", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", "gsd-core/workflows/settings-advanced.md": "414db4dbea97ba44", "gsd-core/workflows/settings-integrations.md": "effcef778d4a855f", @@ -390,14 +390,14 @@ "gsd-core/workflows/sync-skills.md": "b505e6f8331c0918", "gsd-core/workflows/thread.md": "927e7eeefd2fcf5c", "gsd-core/workflows/transition.md": "aea486bb7a0e80e7", - "gsd-core/workflows/ui-phase.md": "84d3b7611e8155c5", - "gsd-core/workflows/ui-review.md": "80ccc9bebded4df2", + "gsd-core/workflows/ui-phase.md": "450d14bf2494990a", + "gsd-core/workflows/ui-review.md": "387f7cefc849dba1", "gsd-core/workflows/ultraplan-phase.md": "0fb8291153e3937d", "gsd-core/workflows/undo.md": "1712417bade30b30", "gsd-core/workflows/update.md": "b0a12ed14e5cc441", - "gsd-core/workflows/validate-phase.md": "f0d668993e788ca4", + "gsd-core/workflows/validate-phase.md": "171ff4aa9b392475", "gsd-core/workflows/verify-phase.md": "d26a2c3269340caf", - "gsd-core/workflows/verify-work.md": "2d54aaa040086f12", + "gsd-core/workflows/verify-work.md": "bc9dcabfc5be2e81", "hooks/gsd-check-update-worker.js": "cc1ef5f840f9dfc9", "hooks/gsd-check-update.js": "7b3a7983d5f1f5d3", "hooks/gsd-config-reload.js": "96546e0e8bb47904", diff --git a/tests/fixtures/golden-install-parity/claude-local.json b/tests/fixtures/golden-install-parity/claude-local.json index c065f328b..0cb522118 100644 --- a/tests/fixtures/golden-install-parity/claude-local.json +++ b/tests/fixtures/golden-install-parity/claude-local.json @@ -288,18 +288,18 @@ "gsd-core/workflows/ai-integration-phase.md": "bb2ea9e09ffee8a2", "gsd-core/workflows/analyze-dependencies.md": "77aff48f97fa6f1c", "gsd-core/workflows/audit-fix.md": "25fee59ee209ec62", - "gsd-core/workflows/audit-milestone.md": "06f3bbe4578f4839", + "gsd-core/workflows/audit-milestone.md": "3a7d5069d6ad910a", "gsd-core/workflows/audit-uat.md": "1c4a02a8c1ab930f", "gsd-core/workflows/autonomous.md": "e2cfff95bc98501c", "gsd-core/workflows/check-todos.md": "d36898ef5423b4ee", "gsd-core/workflows/cleanup.md": "8490f912cd609049", - "gsd-core/workflows/code-review-fix.md": "cebe2ea7da350b22", - "gsd-core/workflows/code-review.md": "460976795665bb3e", + "gsd-core/workflows/code-review-fix.md": "34e600bb6c905b88", + "gsd-core/workflows/code-review.md": "c08a59f66f2e297a", "gsd-core/workflows/complete-milestone.md": "529119d0ff9664d9", - "gsd-core/workflows/debug.md": "df85786f6b7c0b5b", + "gsd-core/workflows/debug.md": "3f307270fc329c39", "gsd-core/workflows/diagnose-issues.md": "517bc4b60d4b81c4", "gsd-core/workflows/discovery-phase.md": "6d691c38a911e27d", - "gsd-core/workflows/discuss-phase-assumptions.md": "4b8e75593d5abe6f", + "gsd-core/workflows/discuss-phase-assumptions.md": "d5fac9d437bd65a6", "gsd-core/workflows/discuss-phase-power.md": "290c0d83d783f9f6", "gsd-core/workflows/discuss-phase.md": "ff2563dc378c5e5c", "gsd-core/workflows/discuss-phase/modes/advisor.md": "f64ece6d53b6d432", @@ -315,7 +315,7 @@ "gsd-core/workflows/discuss-phase/templates/context.md": "eeebda60636d1ad0", "gsd-core/workflows/discuss-phase/templates/discussion-log.md": "1bbd7703f11128e1", "gsd-core/workflows/do.md": "0f7b639ff37660b5", - "gsd-core/workflows/docs-update.md": "7aef1019ce141558", + "gsd-core/workflows/docs-update.md": "dc44aa6aab38535d", "gsd-core/workflows/edit-phase.md": "dbbb6191f5a8b65e", "gsd-core/workflows/eval-review.md": "c0cf2d0c5dd9df36", "gsd-core/workflows/execute-phase.md": "abebe1ef79aa5786", @@ -345,11 +345,11 @@ "gsd-core/workflows/list-seeds.md": "7576156b91e9abee", "gsd-core/workflows/list-workspaces.md": "90caeeb11cec0128", "gsd-core/workflows/manager.md": "9dcb5eaf64f86627", - "gsd-core/workflows/map-codebase.md": "e95cc21d95c2883b", + "gsd-core/workflows/map-codebase.md": "e9e1e18ed59012dc", "gsd-core/workflows/milestone-summary.md": "99636900c216c8d2", "gsd-core/workflows/mvp-phase.md": "88cf363abd25f41e", - "gsd-core/workflows/new-milestone.md": "2353977cd96cb9c0", - "gsd-core/workflows/new-project.md": "027ab5ac84a1be74", + "gsd-core/workflows/new-milestone.md": "99a1dca3d86a16b6", + "gsd-core/workflows/new-project.md": "26f3680b17330514", "gsd-core/workflows/new-workspace.md": "8ec67b5bc4c3f95a", "gsd-core/workflows/next.md": "cbb891feeeff0c5f", "gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b", @@ -366,14 +366,14 @@ "gsd-core/workflows/pr-branch.md": "513f6cff722eff2d", "gsd-core/workflows/profile-user.md": "7a7786eb43efda0d", "gsd-core/workflows/progress.md": "01079a85cbc41ffe", - "gsd-core/workflows/quick.md": "39203821058597f8", + "gsd-core/workflows/quick.md": "edd9f4c7b3026c01", "gsd-core/workflows/reapply-patches.md": "44a96b52b975e9bb", "gsd-core/workflows/remove-phase.md": "8effc8742d58a11a", "gsd-core/workflows/remove-workspace.md": "64b73daff58b9aec", "gsd-core/workflows/resume-project.md": "af9761bcec0f6fe9", "gsd-core/workflows/review.md": "73f78512f2c33aed", "gsd-core/workflows/scan.md": "4cb3b0e2736ebaaf", - "gsd-core/workflows/secure-phase.md": "a7272ff8163a61ac", + "gsd-core/workflows/secure-phase.md": "afb4f0a565d99715", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", "gsd-core/workflows/settings-advanced.md": "94d61da368e9f85b", "gsd-core/workflows/settings-integrations.md": "9e0108e01e78832c", @@ -389,14 +389,14 @@ "gsd-core/workflows/sync-skills.md": "5624d529dae1ad79", "gsd-core/workflows/thread.md": "14a9d195572a198f", "gsd-core/workflows/transition.md": "42c46f7bdf3d97cc", - "gsd-core/workflows/ui-phase.md": "ed3255eda6274f43", - "gsd-core/workflows/ui-review.md": "064009ae960be8e2", + "gsd-core/workflows/ui-phase.md": "774439a4584a89eb", + "gsd-core/workflows/ui-review.md": "7f4e2c13f5b301a2", "gsd-core/workflows/ultraplan-phase.md": "b926ba7e4de0c76d", "gsd-core/workflows/undo.md": "71ee46d4ab85e5c4", "gsd-core/workflows/update.md": "47431df1f75a9fdb", - "gsd-core/workflows/validate-phase.md": "7ac06d80f4696d5e", + "gsd-core/workflows/validate-phase.md": "0690727a090d9247", "gsd-core/workflows/verify-phase.md": "90773de32a966c85", - "gsd-core/workflows/verify-work.md": "02b5c5a85e82da82", + "gsd-core/workflows/verify-work.md": "8f1ef09cb0fcbe2f", "hooks/gsd-check-update-worker.js": "a530efdb5fdc0da3", "hooks/gsd-check-update.js": "25cde66a12d6b886", "hooks/gsd-config-reload.js": "96546e0e8bb47904", diff --git a/tests/fixtures/golden-install-parity/claude.json b/tests/fixtures/golden-install-parity/claude.json index 1d6b177dc..fccc728b2 100644 --- a/tests/fixtures/golden-install-parity/claude.json +++ b/tests/fixtures/golden-install-parity/claude.json @@ -217,18 +217,18 @@ "gsd-core/workflows/ai-integration-phase.md": "164ed8e703474267", "gsd-core/workflows/analyze-dependencies.md": "77aff48f97fa6f1c", "gsd-core/workflows/audit-fix.md": "7650bcb334e622a6", - "gsd-core/workflows/audit-milestone.md": "72a79876d97da5c1", + "gsd-core/workflows/audit-milestone.md": "97877a45e3689b5f", "gsd-core/workflows/audit-uat.md": "e11db0d74c2a7405", "gsd-core/workflows/autonomous.md": "b26d23f3eb102969", "gsd-core/workflows/check-todos.md": "166cc8d4f308b064", "gsd-core/workflows/cleanup.md": "df79d1dc7b84d736", - "gsd-core/workflows/code-review-fix.md": "6639daf911771bbf", - "gsd-core/workflows/code-review.md": "28c98880c09fc89c", + "gsd-core/workflows/code-review-fix.md": "02eb79bb83321034", + "gsd-core/workflows/code-review.md": "0781664b59c27fd3", "gsd-core/workflows/complete-milestone.md": "c3798c50670f6801", - "gsd-core/workflows/debug.md": "e1fea0a6465e55eb", + "gsd-core/workflows/debug.md": "5050e2771e837615", "gsd-core/workflows/diagnose-issues.md": "4a22064390778eab", "gsd-core/workflows/discovery-phase.md": "89a3084e40430039", - "gsd-core/workflows/discuss-phase-assumptions.md": "32b06def681647aa", + "gsd-core/workflows/discuss-phase-assumptions.md": "b22d4c158b8a217e", "gsd-core/workflows/discuss-phase-power.md": "290c0d83d783f9f6", "gsd-core/workflows/discuss-phase.md": "df56c8cd170b2150", "gsd-core/workflows/discuss-phase/modes/advisor.md": "db488d74d080c653", @@ -244,7 +244,7 @@ "gsd-core/workflows/discuss-phase/templates/context.md": "eeebda60636d1ad0", "gsd-core/workflows/discuss-phase/templates/discussion-log.md": "1bbd7703f11128e1", "gsd-core/workflows/do.md": "97a456ceda9d4513", - "gsd-core/workflows/docs-update.md": "ea47bd2d5a0d1d85", + "gsd-core/workflows/docs-update.md": "7a0be3529a99b11f", "gsd-core/workflows/edit-phase.md": "8323bfe10faa0c0a", "gsd-core/workflows/eval-review.md": "02cefe2dbdd0af52", "gsd-core/workflows/execute-phase.md": "f88215925dc01075", @@ -274,11 +274,11 @@ "gsd-core/workflows/list-seeds.md": "5a46337f55ae8453", "gsd-core/workflows/list-workspaces.md": "418570fbc8b938da", "gsd-core/workflows/manager.md": "441d052077bee516", - "gsd-core/workflows/map-codebase.md": "cf0ec9f9f0f96040", + "gsd-core/workflows/map-codebase.md": "1997d3da64546ebd", "gsd-core/workflows/milestone-summary.md": "ad8e69fcb3463ce4", "gsd-core/workflows/mvp-phase.md": "58a952b4715db283", - "gsd-core/workflows/new-milestone.md": "2c282e8f89286132", - "gsd-core/workflows/new-project.md": "a99d35ce56607add", + "gsd-core/workflows/new-milestone.md": "5f418c8e37e485d3", + "gsd-core/workflows/new-project.md": "6d845574ed6f7d80", "gsd-core/workflows/new-workspace.md": "63ab4cb51ad88df4", "gsd-core/workflows/next.md": "f6aeff5f3f9fea15", "gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b", @@ -295,14 +295,14 @@ "gsd-core/workflows/pr-branch.md": "ab157cd8e49621dd", "gsd-core/workflows/profile-user.md": "84fff69a630033ed", "gsd-core/workflows/progress.md": "1b56219777ea078c", - "gsd-core/workflows/quick.md": "985fea314d8a172e", + "gsd-core/workflows/quick.md": "adc8f6f22db5482e", "gsd-core/workflows/reapply-patches.md": "ba9406b60f2c4041", "gsd-core/workflows/remove-phase.md": "ada8a0546c686483", "gsd-core/workflows/remove-workspace.md": "015cde237c75be39", "gsd-core/workflows/resume-project.md": "7f8dc986f0f35d96", "gsd-core/workflows/review.md": "9f271477cf84c34b", "gsd-core/workflows/scan.md": "6b49ce7bcc615145", - "gsd-core/workflows/secure-phase.md": "ba807b4862d7f3c9", + "gsd-core/workflows/secure-phase.md": "93565460878833d6", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", "gsd-core/workflows/settings-advanced.md": "339def28c34b0797", "gsd-core/workflows/settings-integrations.md": "9c9db643112b2371", @@ -318,14 +318,14 @@ "gsd-core/workflows/sync-skills.md": "b505e6f8331c0918", "gsd-core/workflows/thread.md": "3b2c560d7189576d", "gsd-core/workflows/transition.md": "fb35a3de7feaa056", - "gsd-core/workflows/ui-phase.md": "833c4c4413976421", - "gsd-core/workflows/ui-review.md": "1e04b8191925b08f", + "gsd-core/workflows/ui-phase.md": "01c47ee2137ae445", + "gsd-core/workflows/ui-review.md": "32605a52b3dd47b3", "gsd-core/workflows/ultraplan-phase.md": "328664400a001fd5", "gsd-core/workflows/undo.md": "894deb5d28769ac9", "gsd-core/workflows/update.md": "c4518a3d865a19cd", - "gsd-core/workflows/validate-phase.md": "f61fd88b2ef36747", + "gsd-core/workflows/validate-phase.md": "7a5c50a462022479", "gsd-core/workflows/verify-phase.md": "b8cca6ef3be502b9", - "gsd-core/workflows/verify-work.md": "a89e17c8e0838aaa", + "gsd-core/workflows/verify-work.md": "e63397816868c9e3", "hooks/gsd-check-update-worker.js": "a530efdb5fdc0da3", "hooks/gsd-check-update.js": "25cde66a12d6b886", "hooks/gsd-config-reload.js": "96546e0e8bb47904", diff --git a/tests/fixtures/golden-install-parity/cline.json b/tests/fixtures/golden-install-parity/cline.json index 923b8db5d..97c6f1701 100644 --- a/tests/fixtures/golden-install-parity/cline.json +++ b/tests/fixtures/golden-install-parity/cline.json @@ -221,18 +221,18 @@ "gsd-core/workflows/ai-integration-phase.md": "670b0a143b1ccf98", "gsd-core/workflows/analyze-dependencies.md": "52942af10f140717", "gsd-core/workflows/audit-fix.md": "3db85a39cd17e98c", - "gsd-core/workflows/audit-milestone.md": "6af8e2b59dc092f0", + "gsd-core/workflows/audit-milestone.md": "cdccd915ab3b0369", "gsd-core/workflows/audit-uat.md": "1fb7b2ab9d587c8f", "gsd-core/workflows/autonomous.md": "dbdbc526853b4a7f", "gsd-core/workflows/check-todos.md": "5f6b887a365ce692", "gsd-core/workflows/cleanup.md": "6ed44dc47fd9972b", - "gsd-core/workflows/code-review-fix.md": "5d2b23be4d1d850b", - "gsd-core/workflows/code-review.md": "c8db2eccd1ca9cc5", + "gsd-core/workflows/code-review-fix.md": "a0847c55a6e295b9", + "gsd-core/workflows/code-review.md": "7c6d960f104c34c5", "gsd-core/workflows/complete-milestone.md": "85be65035bcd4e41", - "gsd-core/workflows/debug.md": "cc34bc7fa35c5d75", + "gsd-core/workflows/debug.md": "3c669867e6306b22", "gsd-core/workflows/diagnose-issues.md": "873902ec4e4bf869", "gsd-core/workflows/discovery-phase.md": "0fa751163960abc2", - "gsd-core/workflows/discuss-phase-assumptions.md": "3aa5692386943399", + "gsd-core/workflows/discuss-phase-assumptions.md": "710c72d4e7187e8a", "gsd-core/workflows/discuss-phase-power.md": "0841f7dc6e9a054a", "gsd-core/workflows/discuss-phase.md": "a290d5ee19607bb7", "gsd-core/workflows/discuss-phase/modes/advisor.md": "250de9aae90daebc", @@ -248,7 +248,7 @@ "gsd-core/workflows/discuss-phase/templates/context.md": "eeebda60636d1ad0", "gsd-core/workflows/discuss-phase/templates/discussion-log.md": "1bbd7703f11128e1", "gsd-core/workflows/do.md": "6b3cad91b3bd1419", - "gsd-core/workflows/docs-update.md": "7eb7095ca86d506f", + "gsd-core/workflows/docs-update.md": "5f953a0d4c0f3cad", "gsd-core/workflows/edit-phase.md": "9c9fadc047c61d74", "gsd-core/workflows/eval-review.md": "f67caf4dba0586d1", "gsd-core/workflows/execute-phase.md": "769064cfeb1baf4a", @@ -278,11 +278,11 @@ "gsd-core/workflows/list-seeds.md": "25050c5e1b2b7176", "gsd-core/workflows/list-workspaces.md": "8f0707ecbc395856", "gsd-core/workflows/manager.md": "2988de4db361ceae", - "gsd-core/workflows/map-codebase.md": "3a2f7dccc9ef6ba0", + "gsd-core/workflows/map-codebase.md": "b928e6525dc9ad03", "gsd-core/workflows/milestone-summary.md": "20e56b9e3902e1d2", "gsd-core/workflows/mvp-phase.md": "a95d43689a43163c", - "gsd-core/workflows/new-milestone.md": "3b3c9609f5c7a806", - "gsd-core/workflows/new-project.md": "a2e6de4be78c4e10", + "gsd-core/workflows/new-milestone.md": "1ec5c9ad4c611b02", + "gsd-core/workflows/new-project.md": "276ced215e4508e0", "gsd-core/workflows/new-workspace.md": "dc67033c5ad37f97", "gsd-core/workflows/next.md": "090a6db8989952dd", "gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b", @@ -299,14 +299,14 @@ "gsd-core/workflows/pr-branch.md": "9923878a4f6a2d91", "gsd-core/workflows/profile-user.md": "4c51320e7caa09ca", "gsd-core/workflows/progress.md": "53b4310b873d233e", - "gsd-core/workflows/quick.md": "7210b094411691e0", + "gsd-core/workflows/quick.md": "ee587f96e9f5b8fa", "gsd-core/workflows/reapply-patches.md": "eb4272145a117904", "gsd-core/workflows/remove-phase.md": "e336350f8113a328", "gsd-core/workflows/remove-workspace.md": "79d3669cc9eb0b10", "gsd-core/workflows/resume-project.md": "e23981178fa37b3d", "gsd-core/workflows/review.md": "9f7d0f99ed40205b", "gsd-core/workflows/scan.md": "d54e06f1ae992358", - "gsd-core/workflows/secure-phase.md": "1a2e389991fc6263", + "gsd-core/workflows/secure-phase.md": "81df9857cf75e0f3", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", "gsd-core/workflows/settings-advanced.md": "69f3a19bf2c61160", "gsd-core/workflows/settings-integrations.md": "a2682897e663fec4", @@ -322,14 +322,14 @@ "gsd-core/workflows/sync-skills.md": "b505e6f8331c0918", "gsd-core/workflows/thread.md": "d71b1e815925c5cc", "gsd-core/workflows/transition.md": "6fa9751b097a3f52", - "gsd-core/workflows/ui-phase.md": "2d527813ab81727f", - "gsd-core/workflows/ui-review.md": "cb20f66ffc466932", + "gsd-core/workflows/ui-phase.md": "a0055dc46901a28a", + "gsd-core/workflows/ui-review.md": "d4971d478d48c0cb", "gsd-core/workflows/ultraplan-phase.md": "ceff456b1e9d94d8", "gsd-core/workflows/undo.md": "8de0e036f58d9b17", "gsd-core/workflows/update.md": "d8fb48b56d2196c0", - "gsd-core/workflows/validate-phase.md": "45d3f0b681c347bf", + "gsd-core/workflows/validate-phase.md": "23930a6e44c90b90", "gsd-core/workflows/verify-phase.md": "a8b3c15e7ef9c394", - "gsd-core/workflows/verify-work.md": "d777343a22a84c38", + "gsd-core/workflows/verify-work.md": "a086b73034a72c90", "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/codebuddy.json b/tests/fixtures/golden-install-parity/codebuddy.json index 680e71412..1471d6f95 100644 --- a/tests/fixtures/golden-install-parity/codebuddy.json +++ b/tests/fixtures/golden-install-parity/codebuddy.json @@ -289,18 +289,18 @@ "gsd-core/workflows/ai-integration-phase.md": "308378c9044a52e1", "gsd-core/workflows/analyze-dependencies.md": "52942af10f140717", "gsd-core/workflows/audit-fix.md": "7650bcb334e622a6", - "gsd-core/workflows/audit-milestone.md": "2beceadd10d8d9b1", + "gsd-core/workflows/audit-milestone.md": "6174b6f87844973c", "gsd-core/workflows/audit-uat.md": "fcfbec501620b564", "gsd-core/workflows/autonomous.md": "aed5e67104346cc2", "gsd-core/workflows/check-todos.md": "c484e472cff0e4e3", "gsd-core/workflows/cleanup.md": "df79d1dc7b84d736", - "gsd-core/workflows/code-review-fix.md": "5c4fe9921dcd9939", - "gsd-core/workflows/code-review.md": "926565c83e9b9f67", + "gsd-core/workflows/code-review-fix.md": "9fef1cf740c7c155", + "gsd-core/workflows/code-review.md": "22b53c0d29508d57", "gsd-core/workflows/complete-milestone.md": "8f98d7b05793cf4a", - "gsd-core/workflows/debug.md": "b2232823c619cc63", + "gsd-core/workflows/debug.md": "3f0218b051c1afb1", "gsd-core/workflows/diagnose-issues.md": "8219a1e1213f498e", "gsd-core/workflows/discovery-phase.md": "0aa8d8d872b53858", - "gsd-core/workflows/discuss-phase-assumptions.md": "cbc8ea4ddc4553fb", + "gsd-core/workflows/discuss-phase-assumptions.md": "9c8b6b66df026e33", "gsd-core/workflows/discuss-phase-power.md": "0841f7dc6e9a054a", "gsd-core/workflows/discuss-phase.md": "02a5381c9a2173be", "gsd-core/workflows/discuss-phase/modes/advisor.md": "db488d74d080c653", @@ -316,7 +316,7 @@ "gsd-core/workflows/discuss-phase/templates/context.md": "eeebda60636d1ad0", "gsd-core/workflows/discuss-phase/templates/discussion-log.md": "1bbd7703f11128e1", "gsd-core/workflows/do.md": "90df4f1fe248cdf3", - "gsd-core/workflows/docs-update.md": "a320371be70f43d8", + "gsd-core/workflows/docs-update.md": "fba7329f525c9463", "gsd-core/workflows/edit-phase.md": "966a3eadd1bebc04", "gsd-core/workflows/eval-review.md": "c2933259ff7fb6ac", "gsd-core/workflows/execute-phase.md": "79e703c637e2d7b1", @@ -346,11 +346,11 @@ "gsd-core/workflows/list-seeds.md": "b687f2a843032d65", "gsd-core/workflows/list-workspaces.md": "7f94e18b5c549453", "gsd-core/workflows/manager.md": "c18fab593344253d", - "gsd-core/workflows/map-codebase.md": "e59b600b28ebeed5", + "gsd-core/workflows/map-codebase.md": "51aebfe0523f3bcf", "gsd-core/workflows/milestone-summary.md": "e0cdfddbd39a9043", "gsd-core/workflows/mvp-phase.md": "58a952b4715db283", - "gsd-core/workflows/new-milestone.md": "b0a1fd443cd87be9", - "gsd-core/workflows/new-project.md": "284629ee1f4b702e", + "gsd-core/workflows/new-milestone.md": "8164a9abc301f143", + "gsd-core/workflows/new-project.md": "f4afb433342e7745", "gsd-core/workflows/new-workspace.md": "bbeb706c7a697617", "gsd-core/workflows/next.md": "4e1eb6b46d15798d", "gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b", @@ -367,14 +367,14 @@ "gsd-core/workflows/pr-branch.md": "c87db7ac8c28be1b", "gsd-core/workflows/profile-user.md": "1419f1dad1853da0", "gsd-core/workflows/progress.md": "46c83ad61b3c4a84", - "gsd-core/workflows/quick.md": "cb5e16b02f29a5d2", + "gsd-core/workflows/quick.md": "8f54f91ff4b56149", "gsd-core/workflows/reapply-patches.md": "39050f72601aec89", "gsd-core/workflows/remove-phase.md": "df9a45f0b1880999", "gsd-core/workflows/remove-workspace.md": "f67860c795fb4bfe", "gsd-core/workflows/resume-project.md": "f28da1200e4545f4", "gsd-core/workflows/review.md": "8724993cbc91bcc5", "gsd-core/workflows/scan.md": "0583dac337623f82", - "gsd-core/workflows/secure-phase.md": "fda2361739e511ee", + "gsd-core/workflows/secure-phase.md": "00225810eaed265b", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", "gsd-core/workflows/settings-advanced.md": "414db4dbea97ba44", "gsd-core/workflows/settings-integrations.md": "effcef778d4a855f", @@ -390,14 +390,14 @@ "gsd-core/workflows/sync-skills.md": "b505e6f8331c0918", "gsd-core/workflows/thread.md": "927e7eeefd2fcf5c", "gsd-core/workflows/transition.md": "aea486bb7a0e80e7", - "gsd-core/workflows/ui-phase.md": "9f103e080ff0f576", - "gsd-core/workflows/ui-review.md": "80ccc9bebded4df2", + "gsd-core/workflows/ui-phase.md": "f93ee056a8b89033", + "gsd-core/workflows/ui-review.md": "387f7cefc849dba1", "gsd-core/workflows/ultraplan-phase.md": "0fb8291153e3937d", "gsd-core/workflows/undo.md": "1712417bade30b30", "gsd-core/workflows/update.md": "057ac2d783fda3ae", - "gsd-core/workflows/validate-phase.md": "f0d668993e788ca4", + "gsd-core/workflows/validate-phase.md": "171ff4aa9b392475", "gsd-core/workflows/verify-phase.md": "d26a2c3269340caf", - "gsd-core/workflows/verify-work.md": "2d54aaa040086f12", + "gsd-core/workflows/verify-work.md": "bc9dcabfc5be2e81", "hooks/gsd-check-update-worker.js": "bdc9324a2f080ddd", "hooks/gsd-check-update.js": "b7669f605631e506", "hooks/gsd-config-reload.js": "96546e0e8bb47904", diff --git a/tests/fixtures/golden-install-parity/codex.json b/tests/fixtures/golden-install-parity/codex.json index 3d8b8b763..50e1ddcd7 100644 --- a/tests/fixtures/golden-install-parity/codex.json +++ b/tests/fixtures/golden-install-parity/codex.json @@ -324,18 +324,18 @@ "gsd-core/workflows/ai-integration-phase.md": "e83102e5bd9b7c50", "gsd-core/workflows/analyze-dependencies.md": "f799abc00907377f", "gsd-core/workflows/audit-fix.md": "677638d4081117c5", - "gsd-core/workflows/audit-milestone.md": "803d30eefb11b5ae", + "gsd-core/workflows/audit-milestone.md": "b2b735ae6557f5ad", "gsd-core/workflows/audit-uat.md": "2564078edb15b5e9", "gsd-core/workflows/autonomous.md": "47bf003aefcf806b", "gsd-core/workflows/check-todos.md": "a9a6c39859451fa7", "gsd-core/workflows/cleanup.md": "2f7d77d1b13d0410", - "gsd-core/workflows/code-review-fix.md": "90ad86d4781b00ff", - "gsd-core/workflows/code-review.md": "d4cf8c064cd81229", + "gsd-core/workflows/code-review-fix.md": "63a0f94622f1e20a", + "gsd-core/workflows/code-review.md": "b450f53af43cb606", "gsd-core/workflows/complete-milestone.md": "bd3d10386edf1121", - "gsd-core/workflows/debug.md": "e8f19fa60b96e516", + "gsd-core/workflows/debug.md": "b8caa6ef11a4feb5", "gsd-core/workflows/diagnose-issues.md": "1ee3c02cf691c1db", "gsd-core/workflows/discovery-phase.md": "ae93d9d808c8c018", - "gsd-core/workflows/discuss-phase-assumptions.md": "b10e736af63ef213", + "gsd-core/workflows/discuss-phase-assumptions.md": "a7df65a8c0b4abe1", "gsd-core/workflows/discuss-phase-power.md": "3f8b83dc6be2e9d5", "gsd-core/workflows/discuss-phase.md": "7c9df6656b81fda9", "gsd-core/workflows/discuss-phase/modes/advisor.md": "db488d74d080c653", @@ -351,7 +351,7 @@ "gsd-core/workflows/discuss-phase/templates/context.md": "da6bf5281bf7d2bf", "gsd-core/workflows/discuss-phase/templates/discussion-log.md": "2b56ec2868cbddb4", "gsd-core/workflows/do.md": "b30d5b8eca60ef79", - "gsd-core/workflows/docs-update.md": "bf32efe90219d3dd", + "gsd-core/workflows/docs-update.md": "2b0db5c092ac573d", "gsd-core/workflows/edit-phase.md": "e592a4d85ce5380f", "gsd-core/workflows/eval-review.md": "4d367d1e028629bd", "gsd-core/workflows/execute-phase.md": "7bcc0a33f91336c7", @@ -381,11 +381,11 @@ "gsd-core/workflows/list-seeds.md": "0a2d9fd5b06b8ded", "gsd-core/workflows/list-workspaces.md": "bb74607336897b94", "gsd-core/workflows/manager.md": "5f9365147f53e3f5", - "gsd-core/workflows/map-codebase.md": "71ac4c82d2242979", + "gsd-core/workflows/map-codebase.md": "9b6ede881432a8d1", "gsd-core/workflows/milestone-summary.md": "a53b30a84f904b50", "gsd-core/workflows/mvp-phase.md": "85fea39f30f8c698", - "gsd-core/workflows/new-milestone.md": "1adcd8cb6e5869d8", - "gsd-core/workflows/new-project.md": "9d88a3fb0a572d31", + "gsd-core/workflows/new-milestone.md": "f37160cbe1606b77", + "gsd-core/workflows/new-project.md": "9e5142a0e4dbfd42", "gsd-core/workflows/new-workspace.md": "2d9dc09dd7739921", "gsd-core/workflows/next.md": "19dceee48dbf6e34", "gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b", @@ -402,14 +402,14 @@ "gsd-core/workflows/pr-branch.md": "d13e1cc81de40896", "gsd-core/workflows/profile-user.md": "6d23d0594082c78a", "gsd-core/workflows/progress.md": "e57d5a148df38508", - "gsd-core/workflows/quick.md": "6cbc2a3d115b2507", + "gsd-core/workflows/quick.md": "74c2046a98f99004", "gsd-core/workflows/reapply-patches.md": "26297b84736e66a4", "gsd-core/workflows/remove-phase.md": "9ee0fddd11a0d9d4", "gsd-core/workflows/remove-workspace.md": "d0160c5d05bcb2bb", "gsd-core/workflows/resume-project.md": "9965f87eb278f7f8", "gsd-core/workflows/review.md": "f2d0cf16167cb107", "gsd-core/workflows/scan.md": "93da00ba119f3488", - "gsd-core/workflows/secure-phase.md": "3ba89719288dd3f3", + "gsd-core/workflows/secure-phase.md": "70b2db8ee9697fdb", "gsd-core/workflows/session-report.md": "dd8fa011c9394075", "gsd-core/workflows/settings-advanced.md": "2431433811616f76", "gsd-core/workflows/settings-integrations.md": "d6d222af8690d09b", @@ -425,14 +425,14 @@ "gsd-core/workflows/sync-skills.md": "e2b793963799f8ce", "gsd-core/workflows/thread.md": "3eef3b6baf50fbfa", "gsd-core/workflows/transition.md": "de3c63b3f62e6988", - "gsd-core/workflows/ui-phase.md": "e5b951d38c0d7394", - "gsd-core/workflows/ui-review.md": "502cdcac6dd8e8bf", + "gsd-core/workflows/ui-phase.md": "e9cf501439c68a96", + "gsd-core/workflows/ui-review.md": "a743920f2135ce3b", "gsd-core/workflows/ultraplan-phase.md": "0bafc2af27be4591", "gsd-core/workflows/undo.md": "bd29a3a4fbc3fdc2", "gsd-core/workflows/update.md": "79e0f4924b92d85b", - "gsd-core/workflows/validate-phase.md": "286b88bb87c5050c", + "gsd-core/workflows/validate-phase.md": "52ba0281ba743566", "gsd-core/workflows/verify-phase.md": "ce508f9c2242b91f", - "gsd-core/workflows/verify-work.md": "618068315b712d29", + "gsd-core/workflows/verify-work.md": "ecc416d545e55a71", "hooks/gsd-check-update.js": "ef48957eb6ac6a10", "hooks/gsd-context-monitor.js": "ec76b23f45d29b02", "scripts/changeset/README.md": "86ff89331dfd94b2", diff --git a/tests/fixtures/golden-install-parity/copilot.json b/tests/fixtures/golden-install-parity/copilot.json index 6f7f42387..b0ad6343a 100644 --- a/tests/fixtures/golden-install-parity/copilot.json +++ b/tests/fixtures/golden-install-parity/copilot.json @@ -219,18 +219,18 @@ "gsd-core/workflows/ai-integration-phase.md": "beba57424c9b358c", "gsd-core/workflows/analyze-dependencies.md": "77aff48f97fa6f1c", "gsd-core/workflows/audit-fix.md": "8658bba76328a84f", - "gsd-core/workflows/audit-milestone.md": "57d7fdc4687a451e", + "gsd-core/workflows/audit-milestone.md": "3b5a9eb5fd4f4ca3", "gsd-core/workflows/audit-uat.md": "5ea0e30548ed0933", "gsd-core/workflows/autonomous.md": "39dbe19d74c14e75", "gsd-core/workflows/check-todos.md": "333b04e0d144596b", "gsd-core/workflows/cleanup.md": "90d4119b70f32fce", - "gsd-core/workflows/code-review-fix.md": "af3bc2b68165ca44", - "gsd-core/workflows/code-review.md": "cb452c4a36c37353", + "gsd-core/workflows/code-review-fix.md": "3dddba6755e75426", + "gsd-core/workflows/code-review.md": "d538c261e31a1457", "gsd-core/workflows/complete-milestone.md": "c3d961cc123a7492", - "gsd-core/workflows/debug.md": "3673587bd99c5fa7", + "gsd-core/workflows/debug.md": "79b20a238746c28c", "gsd-core/workflows/diagnose-issues.md": "8311fee5f2d6f3b5", "gsd-core/workflows/discovery-phase.md": "c97943b1f3d3db96", - "gsd-core/workflows/discuss-phase-assumptions.md": "e3aee2fdbf145e42", + "gsd-core/workflows/discuss-phase-assumptions.md": "83c36e990586fa1f", "gsd-core/workflows/discuss-phase-power.md": "5c0d1ca6abda0383", "gsd-core/workflows/discuss-phase.md": "31a79ea11c1cdd5f", "gsd-core/workflows/discuss-phase/modes/advisor.md": "654cdaf1138d5e27", @@ -246,7 +246,7 @@ "gsd-core/workflows/discuss-phase/templates/context.md": "da6bf5281bf7d2bf", "gsd-core/workflows/discuss-phase/templates/discussion-log.md": "2b56ec2868cbddb4", "gsd-core/workflows/do.md": "ba9dd204343ab48b", - "gsd-core/workflows/docs-update.md": "f64b067d0d729f04", + "gsd-core/workflows/docs-update.md": "df1d2f6a653e0bb4", "gsd-core/workflows/edit-phase.md": "8667c28b22b1599f", "gsd-core/workflows/eval-review.md": "6fd7f2b0770b48f1", "gsd-core/workflows/execute-phase.md": "d9ad04be8e897208", @@ -276,11 +276,11 @@ "gsd-core/workflows/list-seeds.md": "71dc6f748b1d1c0e", "gsd-core/workflows/list-workspaces.md": "3c9f76af08ced623", "gsd-core/workflows/manager.md": "5acdd15485a04ab0", - "gsd-core/workflows/map-codebase.md": "321045e645dfa271", + "gsd-core/workflows/map-codebase.md": "e3f23c4d2f1fe176", "gsd-core/workflows/milestone-summary.md": "8a53906253984a62", "gsd-core/workflows/mvp-phase.md": "3c00d29043864af2", - "gsd-core/workflows/new-milestone.md": "2fb2e8a092aaa7af", - "gsd-core/workflows/new-project.md": "01c30ebee8897375", + "gsd-core/workflows/new-milestone.md": "3824b311f868ccd8", + "gsd-core/workflows/new-project.md": "bea1d5b4c1973860", "gsd-core/workflows/new-workspace.md": "a609b382e83c2f10", "gsd-core/workflows/next.md": "752cb4ce1e5d31a5", "gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b", @@ -297,14 +297,14 @@ "gsd-core/workflows/pr-branch.md": "2833905f119b5722", "gsd-core/workflows/profile-user.md": "e2135bdd20e17620", "gsd-core/workflows/progress.md": "97f4971366c381ee", - "gsd-core/workflows/quick.md": "68388e871da4cdeb", + "gsd-core/workflows/quick.md": "d130414be9aaacc5", "gsd-core/workflows/reapply-patches.md": "8fd59e24b486f180", "gsd-core/workflows/remove-phase.md": "e262654e319d1bc4", "gsd-core/workflows/remove-workspace.md": "e7e5b5b1e0cc9d81", "gsd-core/workflows/resume-project.md": "40db7f350f5866d8", "gsd-core/workflows/review.md": "09f390a2f11b40d3", "gsd-core/workflows/scan.md": "485c6ed37c08042f", - "gsd-core/workflows/secure-phase.md": "d60aa4053154e52f", + "gsd-core/workflows/secure-phase.md": "ccd856701929382d", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", "gsd-core/workflows/settings-advanced.md": "230a658de9c017a6", "gsd-core/workflows/settings-integrations.md": "58acee11162b4a4e", @@ -320,14 +320,14 @@ "gsd-core/workflows/sync-skills.md": "eca50ffe8320dba8", "gsd-core/workflows/thread.md": "c5cbd66223906998", "gsd-core/workflows/transition.md": "9219cd7c61e3323f", - "gsd-core/workflows/ui-phase.md": "263305beb1e2cf22", - "gsd-core/workflows/ui-review.md": "ded5a200e0dddba1", + "gsd-core/workflows/ui-phase.md": "5d4bac0adeed39ac", + "gsd-core/workflows/ui-review.md": "947fa71e7d77e497", "gsd-core/workflows/ultraplan-phase.md": "7217c34dc9eaf7bb", "gsd-core/workflows/undo.md": "e168c2eb8f7e105c", "gsd-core/workflows/update.md": "af2a7e4e8d53abda", - "gsd-core/workflows/validate-phase.md": "4de97bc2304d8c5b", + "gsd-core/workflows/validate-phase.md": "688bad3aed86b240", "gsd-core/workflows/verify-phase.md": "3fcc54a0c46e5e2f", - "gsd-core/workflows/verify-work.md": "d9b3ee5f1166a43f", + "gsd-core/workflows/verify-work.md": "a7198047363772d7", "hooks/gsd-session.json": "3382597f61e3a559", "scripts/changeset/README.md": "86ff89331dfd94b2", "scripts/changeset/cli.cjs": "68f92a344b199271", diff --git a/tests/fixtures/golden-install-parity/cursor.json b/tests/fixtures/golden-install-parity/cursor.json index 126f936dc..1a8725513 100644 --- a/tests/fixtures/golden-install-parity/cursor.json +++ b/tests/fixtures/golden-install-parity/cursor.json @@ -289,18 +289,18 @@ "gsd-core/workflows/ai-integration-phase.md": "6d4a309d7176d5d5", "gsd-core/workflows/analyze-dependencies.md": "77aff48f97fa6f1c", "gsd-core/workflows/audit-fix.md": "7650bcb334e622a6", - "gsd-core/workflows/audit-milestone.md": "72a79876d97da5c1", + "gsd-core/workflows/audit-milestone.md": "97877a45e3689b5f", "gsd-core/workflows/audit-uat.md": "e11db0d74c2a7405", "gsd-core/workflows/autonomous.md": "409a340e36b90331", "gsd-core/workflows/check-todos.md": "18a405fea9a842dc", "gsd-core/workflows/cleanup.md": "c0c243aa070b993b", - "gsd-core/workflows/code-review-fix.md": "716d0967b023eec0", - "gsd-core/workflows/code-review.md": "4389abffb5fbb520", + "gsd-core/workflows/code-review-fix.md": "5d9c72b2233380a5", + "gsd-core/workflows/code-review.md": "55386c37fe68ddeb", "gsd-core/workflows/complete-milestone.md": "2281ee0a53264ca5", - "gsd-core/workflows/debug.md": "46922b963895362a", + "gsd-core/workflows/debug.md": "ff3e267a87251ece", "gsd-core/workflows/diagnose-issues.md": "1b6787debfcb8c56", "gsd-core/workflows/discovery-phase.md": "13393233272db9b6", - "gsd-core/workflows/discuss-phase-assumptions.md": "33a6038c7fea05f9", + "gsd-core/workflows/discuss-phase-assumptions.md": "c8d792ca34ac9ace", "gsd-core/workflows/discuss-phase-power.md": "290c0d83d783f9f6", "gsd-core/workflows/discuss-phase.md": "14688ff19ce2184c", "gsd-core/workflows/discuss-phase/modes/advisor.md": "30612a2de153cb5b", @@ -316,7 +316,7 @@ "gsd-core/workflows/discuss-phase/templates/context.md": "eeebda60636d1ad0", "gsd-core/workflows/discuss-phase/templates/discussion-log.md": "cd5d01c9ef84ab73", "gsd-core/workflows/do.md": "53839c6429ae1234", - "gsd-core/workflows/docs-update.md": "215b0122c4d2b1e5", + "gsd-core/workflows/docs-update.md": "b4bf43f3005f2e45", "gsd-core/workflows/edit-phase.md": "8323bfe10faa0c0a", "gsd-core/workflows/eval-review.md": "e8a7646e1699a17d", "gsd-core/workflows/execute-phase.md": "e8ddb24f9cdca5f0", @@ -346,11 +346,11 @@ "gsd-core/workflows/list-seeds.md": "831ddc27b684e30b", "gsd-core/workflows/list-workspaces.md": "418570fbc8b938da", "gsd-core/workflows/manager.md": "c6c3dc3eaa815c51", - "gsd-core/workflows/map-codebase.md": "13029303755f1c3a", + "gsd-core/workflows/map-codebase.md": "cde7ab8943dc6a0d", "gsd-core/workflows/milestone-summary.md": "6c76386b500cc5d3", "gsd-core/workflows/mvp-phase.md": "f0f7d7d6c2e5435f", - "gsd-core/workflows/new-milestone.md": "c81c93dcc6297739", - "gsd-core/workflows/new-project.md": "8e6b0899b82a8156", + "gsd-core/workflows/new-milestone.md": "34fa4f13da1cd2f3", + "gsd-core/workflows/new-project.md": "d80977d7989a6cf1", "gsd-core/workflows/new-workspace.md": "4da5355de8f19485", "gsd-core/workflows/next.md": "8ddf186b8970df72", "gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b", @@ -367,14 +367,14 @@ "gsd-core/workflows/pr-branch.md": "c67d90c65da47168", "gsd-core/workflows/profile-user.md": "e1a6ec04051931f7", "gsd-core/workflows/progress.md": "2dbc495deed1a36d", - "gsd-core/workflows/quick.md": "eaa4c5f920d97d87", + "gsd-core/workflows/quick.md": "e1b53ef41d76dbe8", "gsd-core/workflows/reapply-patches.md": "ba9406b60f2c4041", "gsd-core/workflows/remove-phase.md": "ada8a0546c686483", "gsd-core/workflows/remove-workspace.md": "0572a83d71650937", "gsd-core/workflows/resume-project.md": "7f8dc986f0f35d96", "gsd-core/workflows/review.md": "907cf2747dfb833d", "gsd-core/workflows/scan.md": "6b49ce7bcc615145", - "gsd-core/workflows/secure-phase.md": "b008216148d2afac", + "gsd-core/workflows/secure-phase.md": "950db6bc4cfb6803", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", "gsd-core/workflows/settings-advanced.md": "bf8ea69c8f7ae019", "gsd-core/workflows/settings-integrations.md": "37d4212d83664224", @@ -390,14 +390,14 @@ "gsd-core/workflows/sync-skills.md": "b505e6f8331c0918", "gsd-core/workflows/thread.md": "bf9a944978dad763", "gsd-core/workflows/transition.md": "fb35a3de7feaa056", - "gsd-core/workflows/ui-phase.md": "c16d91593fa362e4", - "gsd-core/workflows/ui-review.md": "846339c596051f63", + "gsd-core/workflows/ui-phase.md": "b177bba31d448d31", + "gsd-core/workflows/ui-review.md": "7683595f11d98e40", "gsd-core/workflows/ultraplan-phase.md": "466e01d65c350ef6", "gsd-core/workflows/undo.md": "052c99f02bb5eb0a", "gsd-core/workflows/update.md": "1cefe4c58755e05f", - "gsd-core/workflows/validate-phase.md": "d7bb40be38f21e83", + "gsd-core/workflows/validate-phase.md": "3c87426aff05a649", "gsd-core/workflows/verify-phase.md": "b8cca6ef3be502b9", - "gsd-core/workflows/verify-work.md": "559c919ebcb1102c", + "gsd-core/workflows/verify-work.md": "a96c38f2cc9a0a0f", "hooks/gsd-cursor-post-tool.js": "019d503aee8b4a3f", "hooks/gsd-cursor-pre-tool.js": "fe274720781fcbb5", "hooks/gsd-cursor-session-start.js": "928fddd165e17b7b", diff --git a/tests/fixtures/golden-install-parity/hermes.json b/tests/fixtures/golden-install-parity/hermes.json index b68fabec7..c3f18bfe8 100644 --- a/tests/fixtures/golden-install-parity/hermes.json +++ b/tests/fixtures/golden-install-parity/hermes.json @@ -218,18 +218,18 @@ "gsd-core/workflows/ai-integration-phase.md": "fc161460e4eb193b", "gsd-core/workflows/analyze-dependencies.md": "77aff48f97fa6f1c", "gsd-core/workflows/audit-fix.md": "7e1d184ffde7aa34", - "gsd-core/workflows/audit-milestone.md": "26b787036f929200", + "gsd-core/workflows/audit-milestone.md": "53b4f196583d0a39", "gsd-core/workflows/audit-uat.md": "86d9131fccabf2ad", "gsd-core/workflows/autonomous.md": "b1d848b753564dad", "gsd-core/workflows/check-todos.md": "ab38b0c7190b93c4", "gsd-core/workflows/cleanup.md": "c811970042bc4ff1", - "gsd-core/workflows/code-review-fix.md": "29845842cbddf628", - "gsd-core/workflows/code-review.md": "472dd42214f11979", + "gsd-core/workflows/code-review-fix.md": "d8f074c1ae9ebdf3", + "gsd-core/workflows/code-review.md": "88e6ce8cb2f7310f", "gsd-core/workflows/complete-milestone.md": "e87bf463430945d6", - "gsd-core/workflows/debug.md": "261f6b3f28143cea", + "gsd-core/workflows/debug.md": "1784b5f8edd05f2c", "gsd-core/workflows/diagnose-issues.md": "bc0dd9eb0fc5195a", "gsd-core/workflows/discovery-phase.md": "56d07842d140f388", - "gsd-core/workflows/discuss-phase-assumptions.md": "57d27108a75835c7", + "gsd-core/workflows/discuss-phase-assumptions.md": "5f1e46806c372d23", "gsd-core/workflows/discuss-phase-power.md": "290c0d83d783f9f6", "gsd-core/workflows/discuss-phase.md": "0aa052ae4ee70bf6", "gsd-core/workflows/discuss-phase/modes/advisor.md": "624db27cd84c4626", @@ -245,7 +245,7 @@ "gsd-core/workflows/discuss-phase/templates/context.md": "eeebda60636d1ad0", "gsd-core/workflows/discuss-phase/templates/discussion-log.md": "1bbd7703f11128e1", "gsd-core/workflows/do.md": "b30d1efcb0297580", - "gsd-core/workflows/docs-update.md": "02811dd7aa32d5ba", + "gsd-core/workflows/docs-update.md": "c017abde0209656e", "gsd-core/workflows/edit-phase.md": "7f27003f20e88fb8", "gsd-core/workflows/eval-review.md": "6d1c9c167f91b0f8", "gsd-core/workflows/execute-phase.md": "fcf5f258a1e2aeea", @@ -275,11 +275,11 @@ "gsd-core/workflows/list-seeds.md": "ad1d81683e48c4e1", "gsd-core/workflows/list-workspaces.md": "1fe28ba52cee1394", "gsd-core/workflows/manager.md": "f0eb25349617495b", - "gsd-core/workflows/map-codebase.md": "710f2f185f874e85", + "gsd-core/workflows/map-codebase.md": "0c956951dc52fd11", "gsd-core/workflows/milestone-summary.md": "353fffb60749d892", "gsd-core/workflows/mvp-phase.md": "593faf3ec49b26d0", - "gsd-core/workflows/new-milestone.md": "e0a223e3a3281bae", - "gsd-core/workflows/new-project.md": "dc9c9bea455ac096", + "gsd-core/workflows/new-milestone.md": "a2a2e318ca566cd3", + "gsd-core/workflows/new-project.md": "96f95fc63edda4e9", "gsd-core/workflows/new-workspace.md": "5e4ace6da343b8a8", "gsd-core/workflows/next.md": "55002eb30ab4193e", "gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b", @@ -296,14 +296,14 @@ "gsd-core/workflows/pr-branch.md": "ecabd55e4eabf229", "gsd-core/workflows/profile-user.md": "877c2c9b3ab8742c", "gsd-core/workflows/progress.md": "589f60eb809c0bb9", - "gsd-core/workflows/quick.md": "c6c33dc8325b3289", + "gsd-core/workflows/quick.md": "0c826ca484b1ba41", "gsd-core/workflows/reapply-patches.md": "158083a310859594", "gsd-core/workflows/remove-phase.md": "fce799aae3ab2715", "gsd-core/workflows/remove-workspace.md": "42029a7559f1d8fb", "gsd-core/workflows/resume-project.md": "a0443839f1f83c2d", "gsd-core/workflows/review.md": "272f7d8befd51657", "gsd-core/workflows/scan.md": "b04522820db04e51", - "gsd-core/workflows/secure-phase.md": "c087131f1dd12901", + "gsd-core/workflows/secure-phase.md": "4c44df1c96be27ca", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", "gsd-core/workflows/settings-advanced.md": "49be159144d7f426", "gsd-core/workflows/settings-integrations.md": "75405795c8462a8a", @@ -319,14 +319,14 @@ "gsd-core/workflows/sync-skills.md": "b505e6f8331c0918", "gsd-core/workflows/thread.md": "5a6759e01763c2a6", "gsd-core/workflows/transition.md": "bcfaad44668d07fd", - "gsd-core/workflows/ui-phase.md": "24d6804beeaf8da8", - "gsd-core/workflows/ui-review.md": "49a47bf5f26af450", + "gsd-core/workflows/ui-phase.md": "22038d7e7952e371", + "gsd-core/workflows/ui-review.md": "aff735457e4d9267", "gsd-core/workflows/ultraplan-phase.md": "0d103bf2622436f7", "gsd-core/workflows/undo.md": "0a03405c0345fcf7", "gsd-core/workflows/update.md": "72caebc54a750df9", - "gsd-core/workflows/validate-phase.md": "a35b1b47667347a6", + "gsd-core/workflows/validate-phase.md": "1369ec5a7e14a30a", "gsd-core/workflows/verify-phase.md": "42f0fba74d069537", - "gsd-core/workflows/verify-work.md": "7cc10ba031a32465", + "gsd-core/workflows/verify-work.md": "b9f227dcb7df57a4", "hooks/gsd-check-update-worker.js": "7989cc2bedd1138d", "hooks/gsd-check-update.js": "25f5ad726f76fc11", "hooks/gsd-config-reload.js": "880b696458e85e9b", diff --git a/tests/fixtures/golden-install-parity/kilo.json b/tests/fixtures/golden-install-parity/kilo.json index 0e5f958ae..d09713679 100644 --- a/tests/fixtures/golden-install-parity/kilo.json +++ b/tests/fixtures/golden-install-parity/kilo.json @@ -289,18 +289,18 @@ "gsd-core/workflows/ai-integration-phase.md": "5c0eac04bd0ad2d6", "gsd-core/workflows/analyze-dependencies.md": "77aff48f97fa6f1c", "gsd-core/workflows/audit-fix.md": "677638d4081117c5", - "gsd-core/workflows/audit-milestone.md": "e228bb0e5ee5b402", + "gsd-core/workflows/audit-milestone.md": "41a36d6b6e85612b", "gsd-core/workflows/audit-uat.md": "e11db0d74c2a7405", "gsd-core/workflows/autonomous.md": "fa2e85a195c98636", "gsd-core/workflows/check-todos.md": "27ab86858d04c7a9", "gsd-core/workflows/cleanup.md": "1c669fc358db3e19", - "gsd-core/workflows/code-review-fix.md": "a05d2defb5d25b4e", - "gsd-core/workflows/code-review.md": "82a00defcb48a15e", + "gsd-core/workflows/code-review-fix.md": "de6a7e241942be41", + "gsd-core/workflows/code-review.md": "34b6d139d5109f86", "gsd-core/workflows/complete-milestone.md": "e507b10f26188186", - "gsd-core/workflows/debug.md": "764cfa8a2fed9b52", + "gsd-core/workflows/debug.md": "78026708b07bba3b", "gsd-core/workflows/diagnose-issues.md": "b64b0ba4ab7716e4", "gsd-core/workflows/discovery-phase.md": "af5ec483093bcede", - "gsd-core/workflows/discuss-phase-assumptions.md": "59da42e4aa72f52b", + "gsd-core/workflows/discuss-phase-assumptions.md": "e7917dda73e3a94f", "gsd-core/workflows/discuss-phase-power.md": "5c0d1ca6abda0383", "gsd-core/workflows/discuss-phase.md": "bd4b26ba168bb51f", "gsd-core/workflows/discuss-phase/modes/advisor.md": "f8ae26ba4e07672b", @@ -316,7 +316,7 @@ "gsd-core/workflows/discuss-phase/templates/context.md": "da6bf5281bf7d2bf", "gsd-core/workflows/discuss-phase/templates/discussion-log.md": "04e4feee14772275", "gsd-core/workflows/do.md": "ea068f5a797f2178", - "gsd-core/workflows/docs-update.md": "3c0d5ef72202d246", + "gsd-core/workflows/docs-update.md": "4bbc9fcc8fea78a0", "gsd-core/workflows/edit-phase.md": "8323bfe10faa0c0a", "gsd-core/workflows/eval-review.md": "fb3b8244d66972ee", "gsd-core/workflows/execute-phase.md": "e41ab56e1388afc8", @@ -346,11 +346,11 @@ "gsd-core/workflows/list-seeds.md": "5a46337f55ae8453", "gsd-core/workflows/list-workspaces.md": "418570fbc8b938da", "gsd-core/workflows/manager.md": "2fadda5e3ebd3c4e", - "gsd-core/workflows/map-codebase.md": "b6f5d2b30ab7c4c0", + "gsd-core/workflows/map-codebase.md": "415a1c9ce9da3ab8", "gsd-core/workflows/milestone-summary.md": "25775eeb4e2747be", "gsd-core/workflows/mvp-phase.md": "b2f6ba5de4c96180", - "gsd-core/workflows/new-milestone.md": "156a0b20596f0032", - "gsd-core/workflows/new-project.md": "ccbeff3be8b665f9", + "gsd-core/workflows/new-milestone.md": "62a85a1d1c7627d6", + "gsd-core/workflows/new-project.md": "f89cd808d75beb36", "gsd-core/workflows/new-workspace.md": "00162d8c32428d55", "gsd-core/workflows/next.md": "7cf4607dc8138d1f", "gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b", @@ -367,14 +367,14 @@ "gsd-core/workflows/pr-branch.md": "ab157cd8e49621dd", "gsd-core/workflows/profile-user.md": "645f81d80c4775c4", "gsd-core/workflows/progress.md": "172e4168e326ca61", - "gsd-core/workflows/quick.md": "4b0b10e53022601e", + "gsd-core/workflows/quick.md": "e1d6700bef26dff1", "gsd-core/workflows/reapply-patches.md": "becf9728cdb124c4", "gsd-core/workflows/remove-phase.md": "ada8a0546c686483", "gsd-core/workflows/remove-workspace.md": "f5dc82bb63e2efa4", "gsd-core/workflows/resume-project.md": "7f8dc986f0f35d96", "gsd-core/workflows/review.md": "cb218a57c772a041", "gsd-core/workflows/scan.md": "e9e28d23375dfe10", - "gsd-core/workflows/secure-phase.md": "5a8fbf603d218100", + "gsd-core/workflows/secure-phase.md": "d094bed752dd2c94", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", "gsd-core/workflows/settings-advanced.md": "edd858cd6cfddaf1", "gsd-core/workflows/settings-integrations.md": "3ec4f77c421b87b4", @@ -390,14 +390,14 @@ "gsd-core/workflows/sync-skills.md": "dc7b8b015afa4b3b", "gsd-core/workflows/thread.md": "3b2c560d7189576d", "gsd-core/workflows/transition.md": "590128488fe2ad66", - "gsd-core/workflows/ui-phase.md": "3cdb09a88aa59819", - "gsd-core/workflows/ui-review.md": "a39c5e770bb3c2a9", + "gsd-core/workflows/ui-phase.md": "39da57b4bd093d83", + "gsd-core/workflows/ui-review.md": "c251d4c9a5ad047e", "gsd-core/workflows/ultraplan-phase.md": "29245758b8497fa0", "gsd-core/workflows/undo.md": "774615a01c20e4a3", "gsd-core/workflows/update.md": "7f0d3148d851b8f6", - "gsd-core/workflows/validate-phase.md": "f7e33b52f1af1bfc", + "gsd-core/workflows/validate-phase.md": "359983cf0b92e6de", "gsd-core/workflows/verify-phase.md": "b8cca6ef3be502b9", - "gsd-core/workflows/verify-work.md": "156b5d5245e5ce05", + "gsd-core/workflows/verify-work.md": "c7b27185e935e056", "hooks/gsd-check-update-worker.js": "c992bbad91d0e994", "hooks/gsd-check-update.js": "fdd77abe7ef26a2d", "hooks/gsd-config-reload.js": "96546e0e8bb47904", diff --git a/tests/fixtures/golden-install-parity/kimi-code.json b/tests/fixtures/golden-install-parity/kimi-code.json index 1ba1596f7..2a4c9d688 100644 --- a/tests/fixtures/golden-install-parity/kimi-code.json +++ b/tests/fixtures/golden-install-parity/kimi-code.json @@ -247,18 +247,18 @@ "gsd-core/workflows/ai-integration-phase.md": "308378c9044a52e1", "gsd-core/workflows/analyze-dependencies.md": "52942af10f140717", "gsd-core/workflows/audit-fix.md": "7650bcb334e622a6", - "gsd-core/workflows/audit-milestone.md": "2beceadd10d8d9b1", + "gsd-core/workflows/audit-milestone.md": "6174b6f87844973c", "gsd-core/workflows/audit-uat.md": "fcfbec501620b564", "gsd-core/workflows/autonomous.md": "aed5e67104346cc2", "gsd-core/workflows/check-todos.md": "c484e472cff0e4e3", "gsd-core/workflows/cleanup.md": "df79d1dc7b84d736", - "gsd-core/workflows/code-review-fix.md": "5c4fe9921dcd9939", - "gsd-core/workflows/code-review.md": "926565c83e9b9f67", + "gsd-core/workflows/code-review-fix.md": "9fef1cf740c7c155", + "gsd-core/workflows/code-review.md": "22b53c0d29508d57", "gsd-core/workflows/complete-milestone.md": "8f98d7b05793cf4a", - "gsd-core/workflows/debug.md": "b2232823c619cc63", + "gsd-core/workflows/debug.md": "3f0218b051c1afb1", "gsd-core/workflows/diagnose-issues.md": "8a93b2aece3d79f0", "gsd-core/workflows/discovery-phase.md": "0aa8d8d872b53858", - "gsd-core/workflows/discuss-phase-assumptions.md": "cbc8ea4ddc4553fb", + "gsd-core/workflows/discuss-phase-assumptions.md": "9c8b6b66df026e33", "gsd-core/workflows/discuss-phase-power.md": "0841f7dc6e9a054a", "gsd-core/workflows/discuss-phase.md": "0c0465ba668adb33", "gsd-core/workflows/discuss-phase/modes/advisor.md": "db488d74d080c653", @@ -274,7 +274,7 @@ "gsd-core/workflows/discuss-phase/templates/context.md": "eeebda60636d1ad0", "gsd-core/workflows/discuss-phase/templates/discussion-log.md": "1bbd7703f11128e1", "gsd-core/workflows/do.md": "90df4f1fe248cdf3", - "gsd-core/workflows/docs-update.md": "a320371be70f43d8", + "gsd-core/workflows/docs-update.md": "fba7329f525c9463", "gsd-core/workflows/edit-phase.md": "966a3eadd1bebc04", "gsd-core/workflows/eval-review.md": "c2933259ff7fb6ac", "gsd-core/workflows/execute-phase.md": "6a663b8755ed216e", @@ -304,11 +304,11 @@ "gsd-core/workflows/list-seeds.md": "b687f2a843032d65", "gsd-core/workflows/list-workspaces.md": "7f94e18b5c549453", "gsd-core/workflows/manager.md": "c18fab593344253d", - "gsd-core/workflows/map-codebase.md": "e59b600b28ebeed5", + "gsd-core/workflows/map-codebase.md": "51aebfe0523f3bcf", "gsd-core/workflows/milestone-summary.md": "e0cdfddbd39a9043", "gsd-core/workflows/mvp-phase.md": "58a952b4715db283", - "gsd-core/workflows/new-milestone.md": "b0a1fd443cd87be9", - "gsd-core/workflows/new-project.md": "d07531f488577651", + "gsd-core/workflows/new-milestone.md": "8164a9abc301f143", + "gsd-core/workflows/new-project.md": "8d33ff0a282a2a46", "gsd-core/workflows/new-workspace.md": "bbeb706c7a697617", "gsd-core/workflows/next.md": "4e1eb6b46d15798d", "gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b", @@ -325,14 +325,14 @@ "gsd-core/workflows/pr-branch.md": "c87db7ac8c28be1b", "gsd-core/workflows/profile-user.md": "37af07833c81a0bd", "gsd-core/workflows/progress.md": "46c83ad61b3c4a84", - "gsd-core/workflows/quick.md": "b2b493b33312456b", + "gsd-core/workflows/quick.md": "fcc563eedb118943", "gsd-core/workflows/reapply-patches.md": "39050f72601aec89", "gsd-core/workflows/remove-phase.md": "df9a45f0b1880999", "gsd-core/workflows/remove-workspace.md": "f67860c795fb4bfe", "gsd-core/workflows/resume-project.md": "f28da1200e4545f4", "gsd-core/workflows/review.md": "8724993cbc91bcc5", "gsd-core/workflows/scan.md": "0583dac337623f82", - "gsd-core/workflows/secure-phase.md": "fda2361739e511ee", + "gsd-core/workflows/secure-phase.md": "00225810eaed265b", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", "gsd-core/workflows/settings-advanced.md": "414db4dbea97ba44", "gsd-core/workflows/settings-integrations.md": "effcef778d4a855f", @@ -348,14 +348,14 @@ "gsd-core/workflows/sync-skills.md": "b505e6f8331c0918", "gsd-core/workflows/thread.md": "927e7eeefd2fcf5c", "gsd-core/workflows/transition.md": "aea486bb7a0e80e7", - "gsd-core/workflows/ui-phase.md": "5f5d81fe71df8299", - "gsd-core/workflows/ui-review.md": "80ccc9bebded4df2", + "gsd-core/workflows/ui-phase.md": "e262bcd081fab253", + "gsd-core/workflows/ui-review.md": "387f7cefc849dba1", "gsd-core/workflows/ultraplan-phase.md": "0fb8291153e3937d", "gsd-core/workflows/undo.md": "1712417bade30b30", "gsd-core/workflows/update.md": "04cef644f58f24f7", - "gsd-core/workflows/validate-phase.md": "f0d668993e788ca4", + "gsd-core/workflows/validate-phase.md": "171ff4aa9b392475", "gsd-core/workflows/verify-phase.md": "d26a2c3269340caf", - "gsd-core/workflows/verify-work.md": "2d54aaa040086f12", + "gsd-core/workflows/verify-work.md": "bc9dcabfc5be2e81", "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/kimi.json b/tests/fixtures/golden-install-parity/kimi.json index ae96d8182..c13b9cae0 100644 --- a/tests/fixtures/golden-install-parity/kimi.json +++ b/tests/fixtures/golden-install-parity/kimi.json @@ -283,18 +283,18 @@ "gsd-core/workflows/ai-integration-phase.md": "308378c9044a52e1", "gsd-core/workflows/analyze-dependencies.md": "52942af10f140717", "gsd-core/workflows/audit-fix.md": "7650bcb334e622a6", - "gsd-core/workflows/audit-milestone.md": "2beceadd10d8d9b1", + "gsd-core/workflows/audit-milestone.md": "6174b6f87844973c", "gsd-core/workflows/audit-uat.md": "fcfbec501620b564", "gsd-core/workflows/autonomous.md": "aed5e67104346cc2", "gsd-core/workflows/check-todos.md": "c484e472cff0e4e3", "gsd-core/workflows/cleanup.md": "df79d1dc7b84d736", - "gsd-core/workflows/code-review-fix.md": "5c4fe9921dcd9939", - "gsd-core/workflows/code-review.md": "926565c83e9b9f67", + "gsd-core/workflows/code-review-fix.md": "9fef1cf740c7c155", + "gsd-core/workflows/code-review.md": "22b53c0d29508d57", "gsd-core/workflows/complete-milestone.md": "8f98d7b05793cf4a", - "gsd-core/workflows/debug.md": "b2232823c619cc63", + "gsd-core/workflows/debug.md": "3f0218b051c1afb1", "gsd-core/workflows/diagnose-issues.md": "232f9e87bf60d8b4", "gsd-core/workflows/discovery-phase.md": "0aa8d8d872b53858", - "gsd-core/workflows/discuss-phase-assumptions.md": "cbc8ea4ddc4553fb", + "gsd-core/workflows/discuss-phase-assumptions.md": "9c8b6b66df026e33", "gsd-core/workflows/discuss-phase-power.md": "0841f7dc6e9a054a", "gsd-core/workflows/discuss-phase.md": "0c0465ba668adb33", "gsd-core/workflows/discuss-phase/modes/advisor.md": "db488d74d080c653", @@ -310,7 +310,7 @@ "gsd-core/workflows/discuss-phase/templates/context.md": "eeebda60636d1ad0", "gsd-core/workflows/discuss-phase/templates/discussion-log.md": "1bbd7703f11128e1", "gsd-core/workflows/do.md": "90df4f1fe248cdf3", - "gsd-core/workflows/docs-update.md": "a320371be70f43d8", + "gsd-core/workflows/docs-update.md": "fba7329f525c9463", "gsd-core/workflows/edit-phase.md": "966a3eadd1bebc04", "gsd-core/workflows/eval-review.md": "c2933259ff7fb6ac", "gsd-core/workflows/execute-phase.md": "df8c032fb91cedbd", @@ -340,11 +340,11 @@ "gsd-core/workflows/list-seeds.md": "b687f2a843032d65", "gsd-core/workflows/list-workspaces.md": "7f94e18b5c549453", "gsd-core/workflows/manager.md": "c18fab593344253d", - "gsd-core/workflows/map-codebase.md": "e59b600b28ebeed5", + "gsd-core/workflows/map-codebase.md": "51aebfe0523f3bcf", "gsd-core/workflows/milestone-summary.md": "e0cdfddbd39a9043", "gsd-core/workflows/mvp-phase.md": "58a952b4715db283", - "gsd-core/workflows/new-milestone.md": "b0a1fd443cd87be9", - "gsd-core/workflows/new-project.md": "d07531f488577651", + "gsd-core/workflows/new-milestone.md": "8164a9abc301f143", + "gsd-core/workflows/new-project.md": "8d33ff0a282a2a46", "gsd-core/workflows/new-workspace.md": "bbeb706c7a697617", "gsd-core/workflows/next.md": "4e1eb6b46d15798d", "gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b", @@ -361,14 +361,14 @@ "gsd-core/workflows/pr-branch.md": "c87db7ac8c28be1b", "gsd-core/workflows/profile-user.md": "37af07833c81a0bd", "gsd-core/workflows/progress.md": "46c83ad61b3c4a84", - "gsd-core/workflows/quick.md": "70b5ef1c5408c97b", + "gsd-core/workflows/quick.md": "6cb15abcd8d9ac67", "gsd-core/workflows/reapply-patches.md": "39050f72601aec89", "gsd-core/workflows/remove-phase.md": "df9a45f0b1880999", "gsd-core/workflows/remove-workspace.md": "f67860c795fb4bfe", "gsd-core/workflows/resume-project.md": "f28da1200e4545f4", "gsd-core/workflows/review.md": "8724993cbc91bcc5", "gsd-core/workflows/scan.md": "0583dac337623f82", - "gsd-core/workflows/secure-phase.md": "fda2361739e511ee", + "gsd-core/workflows/secure-phase.md": "00225810eaed265b", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", "gsd-core/workflows/settings-advanced.md": "414db4dbea97ba44", "gsd-core/workflows/settings-integrations.md": "effcef778d4a855f", @@ -384,14 +384,14 @@ "gsd-core/workflows/sync-skills.md": "b505e6f8331c0918", "gsd-core/workflows/thread.md": "927e7eeefd2fcf5c", "gsd-core/workflows/transition.md": "aea486bb7a0e80e7", - "gsd-core/workflows/ui-phase.md": "5f5d81fe71df8299", - "gsd-core/workflows/ui-review.md": "80ccc9bebded4df2", + "gsd-core/workflows/ui-phase.md": "e262bcd081fab253", + "gsd-core/workflows/ui-review.md": "387f7cefc849dba1", "gsd-core/workflows/ultraplan-phase.md": "0fb8291153e3937d", "gsd-core/workflows/undo.md": "1712417bade30b30", "gsd-core/workflows/update.md": "04cef644f58f24f7", - "gsd-core/workflows/validate-phase.md": "f0d668993e788ca4", + "gsd-core/workflows/validate-phase.md": "171ff4aa9b392475", "gsd-core/workflows/verify-phase.md": "d26a2c3269340caf", - "gsd-core/workflows/verify-work.md": "2d54aaa040086f12", + "gsd-core/workflows/verify-work.md": "bc9dcabfc5be2e81", "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/opencode.json b/tests/fixtures/golden-install-parity/opencode.json index 152fc44a6..78d0d3fe0 100644 --- a/tests/fixtures/golden-install-parity/opencode.json +++ b/tests/fixtures/golden-install-parity/opencode.json @@ -289,18 +289,18 @@ "gsd-core/workflows/ai-integration-phase.md": "95afc8120daf3828", "gsd-core/workflows/analyze-dependencies.md": "77aff48f97fa6f1c", "gsd-core/workflows/audit-fix.md": "0085e65548706996", - "gsd-core/workflows/audit-milestone.md": "86c4dcd30648322f", + "gsd-core/workflows/audit-milestone.md": "777f67e317f441fe", "gsd-core/workflows/audit-uat.md": "c800099fab1e1c1b", "gsd-core/workflows/autonomous.md": "0757a088361be372", "gsd-core/workflows/check-todos.md": "527cfab62417c719", "gsd-core/workflows/cleanup.md": "9d510a45aec81ba1", - "gsd-core/workflows/code-review-fix.md": "2c16f549e4e46553", - "gsd-core/workflows/code-review.md": "5262146d89e12bfa", + "gsd-core/workflows/code-review-fix.md": "da8fdf6389d07969", + "gsd-core/workflows/code-review.md": "da6bb2bda95c2afa", "gsd-core/workflows/complete-milestone.md": "9482dadd0f8902d2", - "gsd-core/workflows/debug.md": "c1ea3f073fca8777", + "gsd-core/workflows/debug.md": "8bd8b4692c0fcf52", "gsd-core/workflows/diagnose-issues.md": "1e7c760973276b57", "gsd-core/workflows/discovery-phase.md": "0ef23f38adfb0e6e", - "gsd-core/workflows/discuss-phase-assumptions.md": "c59dc0a63fb83b46", + "gsd-core/workflows/discuss-phase-assumptions.md": "d87a8f50f1c60392", "gsd-core/workflows/discuss-phase-power.md": "5c0d1ca6abda0383", "gsd-core/workflows/discuss-phase.md": "3a62a8d4c374c69f", "gsd-core/workflows/discuss-phase/modes/advisor.md": "83ca3ea4fac785af", @@ -316,7 +316,7 @@ "gsd-core/workflows/discuss-phase/templates/context.md": "da6bf5281bf7d2bf", "gsd-core/workflows/discuss-phase/templates/discussion-log.md": "04e4feee14772275", "gsd-core/workflows/do.md": "532afe82bbf9f775", - "gsd-core/workflows/docs-update.md": "f6210dc8ff7776d5", + "gsd-core/workflows/docs-update.md": "55cbaed5020bdd71", "gsd-core/workflows/edit-phase.md": "1876c855fb0a0a39", "gsd-core/workflows/eval-review.md": "4f932c3ea3eb807b", "gsd-core/workflows/execute-phase.md": "78169e590b406fa8", @@ -346,11 +346,11 @@ "gsd-core/workflows/list-seeds.md": "9b05425fa7d24827", "gsd-core/workflows/list-workspaces.md": "dc6d30036c6dc426", "gsd-core/workflows/manager.md": "eda80c0d3d32dbf6", - "gsd-core/workflows/map-codebase.md": "59c2c74fc9de513c", + "gsd-core/workflows/map-codebase.md": "9794578db9c07fca", "gsd-core/workflows/milestone-summary.md": "321ea8a6a206f38f", "gsd-core/workflows/mvp-phase.md": "94360741a1d8d7ce", - "gsd-core/workflows/new-milestone.md": "372aa3a92916398e", - "gsd-core/workflows/new-project.md": "b04ffce6846ab6b7", + "gsd-core/workflows/new-milestone.md": "d3f76f0d65d9a8ba", + "gsd-core/workflows/new-project.md": "8bc9400aade6b943", "gsd-core/workflows/new-workspace.md": "53f8abf8baca9345", "gsd-core/workflows/next.md": "8975ad00f87f90dc", "gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b", @@ -367,14 +367,14 @@ "gsd-core/workflows/pr-branch.md": "929b7cb0c99c7b9e", "gsd-core/workflows/profile-user.md": "9275d5895237b801", "gsd-core/workflows/progress.md": "c3d7149133d571a9", - "gsd-core/workflows/quick.md": "d6a8da51867039f8", + "gsd-core/workflows/quick.md": "38527d9107054ce6", "gsd-core/workflows/reapply-patches.md": "a0e9b53f90abceb2", "gsd-core/workflows/remove-phase.md": "dea4661e8f89596f", "gsd-core/workflows/remove-workspace.md": "21a8581add5f31ae", "gsd-core/workflows/resume-project.md": "ad9f06a10bab8cc0", "gsd-core/workflows/review.md": "c775d08988c05be6", "gsd-core/workflows/scan.md": "bc69d7c058805c47", - "gsd-core/workflows/secure-phase.md": "ef09f40dfd4d2424", + "gsd-core/workflows/secure-phase.md": "2731f2e7d0d0a70b", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", "gsd-core/workflows/settings-advanced.md": "252b0d3edc315339", "gsd-core/workflows/settings-integrations.md": "1c3997dc6953e7eb", @@ -390,14 +390,14 @@ "gsd-core/workflows/sync-skills.md": "7e2c138cdbef4282", "gsd-core/workflows/thread.md": "82652edb1883af59", "gsd-core/workflows/transition.md": "372b6fc7c0c68a89", - "gsd-core/workflows/ui-phase.md": "e8903466bd312c4c", - "gsd-core/workflows/ui-review.md": "efc1281fce8ff5b0", + "gsd-core/workflows/ui-phase.md": "5d8538230f65e031", + "gsd-core/workflows/ui-review.md": "567784aa43497a66", "gsd-core/workflows/ultraplan-phase.md": "f4bad8de3fdb49fa", "gsd-core/workflows/undo.md": "bbb91a18ee896975", "gsd-core/workflows/update.md": "f032775aef6795bf", - "gsd-core/workflows/validate-phase.md": "2dc5eca30bf7a6c6", + "gsd-core/workflows/validate-phase.md": "865dac4dd2887658", "gsd-core/workflows/verify-phase.md": "73025aa5d8bf7bd5", - "gsd-core/workflows/verify-work.md": "11c352fbb54b1f81", + "gsd-core/workflows/verify-work.md": "7bdbe268979a994f", "hooks/gsd-check-update-worker.js": "385fb7c67810baf6", "hooks/gsd-check-update.js": "4549451414ffa7d7", "hooks/gsd-config-reload.js": "96546e0e8bb47904", diff --git a/tests/fixtures/golden-install-parity/pi.json b/tests/fixtures/golden-install-parity/pi.json index 4686a8df1..1e06343f3 100644 --- a/tests/fixtures/golden-install-parity/pi.json +++ b/tests/fixtures/golden-install-parity/pi.json @@ -185,18 +185,18 @@ "gsd-core/workflows/ai-integration-phase.md": "308378c9044a52e1", "gsd-core/workflows/analyze-dependencies.md": "52942af10f140717", "gsd-core/workflows/audit-fix.md": "7650bcb334e622a6", - "gsd-core/workflows/audit-milestone.md": "2beceadd10d8d9b1", + "gsd-core/workflows/audit-milestone.md": "6174b6f87844973c", "gsd-core/workflows/audit-uat.md": "fcfbec501620b564", "gsd-core/workflows/autonomous.md": "aed5e67104346cc2", "gsd-core/workflows/check-todos.md": "c484e472cff0e4e3", "gsd-core/workflows/cleanup.md": "df79d1dc7b84d736", - "gsd-core/workflows/code-review-fix.md": "5c4fe9921dcd9939", - "gsd-core/workflows/code-review.md": "926565c83e9b9f67", + "gsd-core/workflows/code-review-fix.md": "9fef1cf740c7c155", + "gsd-core/workflows/code-review.md": "22b53c0d29508d57", "gsd-core/workflows/complete-milestone.md": "8f98d7b05793cf4a", - "gsd-core/workflows/debug.md": "b2232823c619cc63", + "gsd-core/workflows/debug.md": "3f0218b051c1afb1", "gsd-core/workflows/diagnose-issues.md": "324b8a085cdb07e2", "gsd-core/workflows/discovery-phase.md": "0aa8d8d872b53858", - "gsd-core/workflows/discuss-phase-assumptions.md": "cbc8ea4ddc4553fb", + "gsd-core/workflows/discuss-phase-assumptions.md": "9c8b6b66df026e33", "gsd-core/workflows/discuss-phase-power.md": "0841f7dc6e9a054a", "gsd-core/workflows/discuss-phase.md": "acfe2baa4c8bebbe", "gsd-core/workflows/discuss-phase/modes/advisor.md": "db488d74d080c653", @@ -212,7 +212,7 @@ "gsd-core/workflows/discuss-phase/templates/context.md": "eeebda60636d1ad0", "gsd-core/workflows/discuss-phase/templates/discussion-log.md": "1bbd7703f11128e1", "gsd-core/workflows/do.md": "90df4f1fe248cdf3", - "gsd-core/workflows/docs-update.md": "a320371be70f43d8", + "gsd-core/workflows/docs-update.md": "fba7329f525c9463", "gsd-core/workflows/edit-phase.md": "966a3eadd1bebc04", "gsd-core/workflows/eval-review.md": "c2933259ff7fb6ac", "gsd-core/workflows/execute-phase.md": "4eddcc41c823db8b", @@ -242,11 +242,11 @@ "gsd-core/workflows/list-seeds.md": "b687f2a843032d65", "gsd-core/workflows/list-workspaces.md": "7f94e18b5c549453", "gsd-core/workflows/manager.md": "c18fab593344253d", - "gsd-core/workflows/map-codebase.md": "e59b600b28ebeed5", + "gsd-core/workflows/map-codebase.md": "51aebfe0523f3bcf", "gsd-core/workflows/milestone-summary.md": "e0cdfddbd39a9043", "gsd-core/workflows/mvp-phase.md": "58a952b4715db283", - "gsd-core/workflows/new-milestone.md": "b0a1fd443cd87be9", - "gsd-core/workflows/new-project.md": "422a46888410ace6", + "gsd-core/workflows/new-milestone.md": "8164a9abc301f143", + "gsd-core/workflows/new-project.md": "c797ba349eede266", "gsd-core/workflows/new-workspace.md": "bbeb706c7a697617", "gsd-core/workflows/next.md": "4e1eb6b46d15798d", "gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b", @@ -263,14 +263,14 @@ "gsd-core/workflows/pr-branch.md": "c87db7ac8c28be1b", "gsd-core/workflows/profile-user.md": "e5c0e0a0dc54dccb", "gsd-core/workflows/progress.md": "46c83ad61b3c4a84", - "gsd-core/workflows/quick.md": "523bb6ed1e73610e", + "gsd-core/workflows/quick.md": "ca9aa135ceff5fdc", "gsd-core/workflows/reapply-patches.md": "39050f72601aec89", "gsd-core/workflows/remove-phase.md": "df9a45f0b1880999", "gsd-core/workflows/remove-workspace.md": "f67860c795fb4bfe", "gsd-core/workflows/resume-project.md": "f28da1200e4545f4", "gsd-core/workflows/review.md": "8724993cbc91bcc5", "gsd-core/workflows/scan.md": "0583dac337623f82", - "gsd-core/workflows/secure-phase.md": "fda2361739e511ee", + "gsd-core/workflows/secure-phase.md": "00225810eaed265b", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", "gsd-core/workflows/settings-advanced.md": "414db4dbea97ba44", "gsd-core/workflows/settings-integrations.md": "effcef778d4a855f", @@ -286,14 +286,14 @@ "gsd-core/workflows/sync-skills.md": "b505e6f8331c0918", "gsd-core/workflows/thread.md": "927e7eeefd2fcf5c", "gsd-core/workflows/transition.md": "aea486bb7a0e80e7", - "gsd-core/workflows/ui-phase.md": "9fe2a048dac5bb64", - "gsd-core/workflows/ui-review.md": "80ccc9bebded4df2", + "gsd-core/workflows/ui-phase.md": "3413fc28c54a32b1", + "gsd-core/workflows/ui-review.md": "387f7cefc849dba1", "gsd-core/workflows/ultraplan-phase.md": "0fb8291153e3937d", "gsd-core/workflows/undo.md": "1712417bade30b30", "gsd-core/workflows/update.md": "18d6967356ab7794", - "gsd-core/workflows/validate-phase.md": "f0d668993e788ca4", + "gsd-core/workflows/validate-phase.md": "171ff4aa9b392475", "gsd-core/workflows/verify-phase.md": "d26a2c3269340caf", - "gsd-core/workflows/verify-work.md": "2d54aaa040086f12", + "gsd-core/workflows/verify-work.md": "bc9dcabfc5be2e81", "hooks/gsd-check-update-worker.js": "55376b5b9335a580", "hooks/gsd-check-update.js": "a89562537a41f83d", "hooks/gsd-config-reload.js": "96546e0e8bb47904", diff --git a/tests/fixtures/golden-install-parity/qwen.json b/tests/fixtures/golden-install-parity/qwen.json index 89d9a631d..cbedd6679 100644 --- a/tests/fixtures/golden-install-parity/qwen.json +++ b/tests/fixtures/golden-install-parity/qwen.json @@ -218,18 +218,18 @@ "gsd-core/workflows/ai-integration-phase.md": "81f16f3b6d5ef91a", "gsd-core/workflows/analyze-dependencies.md": "77aff48f97fa6f1c", "gsd-core/workflows/audit-fix.md": "7228bc0ab0c21c75", - "gsd-core/workflows/audit-milestone.md": "5caebfe62a70c0ae", + "gsd-core/workflows/audit-milestone.md": "bba7e11665456e5c", "gsd-core/workflows/audit-uat.md": "97d441d07e7972b3", "gsd-core/workflows/autonomous.md": "edd128e7fcbc2027", "gsd-core/workflows/check-todos.md": "dbc9c401c0922d92", "gsd-core/workflows/cleanup.md": "48aa7291ace5d413", - "gsd-core/workflows/code-review-fix.md": "085c9fc820114060", - "gsd-core/workflows/code-review.md": "5a374f27e65b1f11", + "gsd-core/workflows/code-review-fix.md": "43d98fb7602f53f1", + "gsd-core/workflows/code-review.md": "7f912c70db0aa882", "gsd-core/workflows/complete-milestone.md": "69925bcfd955d31e", - "gsd-core/workflows/debug.md": "80af3825ce0e3279", + "gsd-core/workflows/debug.md": "65a1aaf1199593a0", "gsd-core/workflows/diagnose-issues.md": "2ae0a1917a9a8a99", "gsd-core/workflows/discovery-phase.md": "6ad9da4779d7b6b0", - "gsd-core/workflows/discuss-phase-assumptions.md": "59e306227f2fe6a2", + "gsd-core/workflows/discuss-phase-assumptions.md": "e6a2396964ffe269", "gsd-core/workflows/discuss-phase-power.md": "290c0d83d783f9f6", "gsd-core/workflows/discuss-phase.md": "8644b72386a51241", "gsd-core/workflows/discuss-phase/modes/advisor.md": "3102430dfad9c012", @@ -245,7 +245,7 @@ "gsd-core/workflows/discuss-phase/templates/context.md": "eeebda60636d1ad0", "gsd-core/workflows/discuss-phase/templates/discussion-log.md": "1bbd7703f11128e1", "gsd-core/workflows/do.md": "2e784b2d6a02ea94", - "gsd-core/workflows/docs-update.md": "226550a6d556b09f", + "gsd-core/workflows/docs-update.md": "03599fe1d110e511", "gsd-core/workflows/edit-phase.md": "0fb5e0123cfc6f36", "gsd-core/workflows/eval-review.md": "57a5eaade256fee4", "gsd-core/workflows/execute-phase.md": "da1e79f7407090a9", @@ -275,11 +275,11 @@ "gsd-core/workflows/list-seeds.md": "8d6e1b5d85f64c6f", "gsd-core/workflows/list-workspaces.md": "5e434933a3db695c", "gsd-core/workflows/manager.md": "745a2b5080767882", - "gsd-core/workflows/map-codebase.md": "dbcc5709066dbce4", + "gsd-core/workflows/map-codebase.md": "64b641b0fae702cf", "gsd-core/workflows/milestone-summary.md": "97ddfc40c6bce906", "gsd-core/workflows/mvp-phase.md": "9d226159c2aaae3d", - "gsd-core/workflows/new-milestone.md": "cdd87db7f6f4f9c2", - "gsd-core/workflows/new-project.md": "244e9f9fa7095778", + "gsd-core/workflows/new-milestone.md": "9754f2ef982755f0", + "gsd-core/workflows/new-project.md": "9560161b645ad784", "gsd-core/workflows/new-workspace.md": "0b93348ced44810e", "gsd-core/workflows/next.md": "0899cbefaefda97b", "gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b", @@ -296,14 +296,14 @@ "gsd-core/workflows/pr-branch.md": "cef0f65b16d500b4", "gsd-core/workflows/profile-user.md": "bb02367a5fc8653c", "gsd-core/workflows/progress.md": "475eb60a2e739eed", - "gsd-core/workflows/quick.md": "f5af5939e0b2bf43", + "gsd-core/workflows/quick.md": "a77e52603415dd41", "gsd-core/workflows/reapply-patches.md": "de0ee8acfe7245b2", "gsd-core/workflows/remove-phase.md": "e8ae4fbbfac700f0", "gsd-core/workflows/remove-workspace.md": "ae520235f4d1f4a5", "gsd-core/workflows/resume-project.md": "7f20769f302e5427", "gsd-core/workflows/review.md": "c6d7f9e26af9fbdc", "gsd-core/workflows/scan.md": "988236984298388d", - "gsd-core/workflows/secure-phase.md": "f7bfa7175102af31", + "gsd-core/workflows/secure-phase.md": "1fac755d714ce6d3", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", "gsd-core/workflows/settings-advanced.md": "5e05212fb5cba531", "gsd-core/workflows/settings-integrations.md": "c9fb71d26fd93527", @@ -319,14 +319,14 @@ "gsd-core/workflows/sync-skills.md": "b505e6f8331c0918", "gsd-core/workflows/thread.md": "f24b6454c69d064a", "gsd-core/workflows/transition.md": "a30cba2ad6920641", - "gsd-core/workflows/ui-phase.md": "e69962d3004fcf11", - "gsd-core/workflows/ui-review.md": "e646f41f360c8e56", + "gsd-core/workflows/ui-phase.md": "d63ca02f7553343b", + "gsd-core/workflows/ui-review.md": "957823bde7448147", "gsd-core/workflows/ultraplan-phase.md": "49921383982474e0", "gsd-core/workflows/undo.md": "c433a552dab136dc", "gsd-core/workflows/update.md": "ae8fab8975d203e2", - "gsd-core/workflows/validate-phase.md": "a21893dfba484e61", + "gsd-core/workflows/validate-phase.md": "dcd953f03b69c26f", "gsd-core/workflows/verify-phase.md": "7d8e241350136ca0", - "gsd-core/workflows/verify-work.md": "596ad334cb1f066c", + "gsd-core/workflows/verify-work.md": "c7d9113ebe53f885", "hooks/gsd-check-update-worker.js": "4bb354044e0dff91", "hooks/gsd-check-update.js": "d2065cb3e725a42a", "hooks/gsd-config-reload.js": "4f52b8a0120bb1b8", diff --git a/tests/fixtures/golden-install-parity/trae.json b/tests/fixtures/golden-install-parity/trae.json index 056837729..fa0f506d9 100644 --- a/tests/fixtures/golden-install-parity/trae.json +++ b/tests/fixtures/golden-install-parity/trae.json @@ -218,18 +218,18 @@ "gsd-core/workflows/ai-integration-phase.md": "a45f85a616295092", "gsd-core/workflows/analyze-dependencies.md": "77aff48f97fa6f1c", "gsd-core/workflows/audit-fix.md": "04ca2d8293c07725", - "gsd-core/workflows/audit-milestone.md": "bb5d1831ce8635b5", + "gsd-core/workflows/audit-milestone.md": "40739a72a0e85e73", "gsd-core/workflows/audit-uat.md": "6e768b1c208a787a", "gsd-core/workflows/autonomous.md": "e7702a642488473e", "gsd-core/workflows/check-todos.md": "31a2b2a5a28a409a", "gsd-core/workflows/cleanup.md": "ad625e9596e04cda", - "gsd-core/workflows/code-review-fix.md": "1d178e04d0cda764", - "gsd-core/workflows/code-review.md": "49161f95934679d5", + "gsd-core/workflows/code-review-fix.md": "65fb541d22e6d7b6", + "gsd-core/workflows/code-review.md": "7b947dbf2d6bab03", "gsd-core/workflows/complete-milestone.md": "98951eb5783fe72c", - "gsd-core/workflows/debug.md": "7092bcfbb0b05fe0", + "gsd-core/workflows/debug.md": "a43a8faff556fb16", "gsd-core/workflows/diagnose-issues.md": "207dcdb85650d239", "gsd-core/workflows/discovery-phase.md": "7644e2d890a21212", - "gsd-core/workflows/discuss-phase-assumptions.md": "0c185a487ce7a202", + "gsd-core/workflows/discuss-phase-assumptions.md": "4850f9cd455e6b23", "gsd-core/workflows/discuss-phase-power.md": "290c0d83d783f9f6", "gsd-core/workflows/discuss-phase.md": "4509657816c5566a", "gsd-core/workflows/discuss-phase/modes/advisor.md": "c9cd7db62e76ebcb", @@ -245,7 +245,7 @@ "gsd-core/workflows/discuss-phase/templates/context.md": "eeebda60636d1ad0", "gsd-core/workflows/discuss-phase/templates/discussion-log.md": "1bbd7703f11128e1", "gsd-core/workflows/do.md": "6b56aa4a44ca61fc", - "gsd-core/workflows/docs-update.md": "89e760e665ff99f8", + "gsd-core/workflows/docs-update.md": "78cd8efff2717c77", "gsd-core/workflows/edit-phase.md": "7facd0faa33c8cad", "gsd-core/workflows/eval-review.md": "263c8971520f632e", "gsd-core/workflows/execute-phase.md": "67f3aaa7eae674e2", @@ -275,11 +275,11 @@ "gsd-core/workflows/list-seeds.md": "74ec072a74f8fdfe", "gsd-core/workflows/list-workspaces.md": "886e99378a3d19d9", "gsd-core/workflows/manager.md": "fd834a4236bd1b2e", - "gsd-core/workflows/map-codebase.md": "74fc25f83659a5e3", + "gsd-core/workflows/map-codebase.md": "fff68c1ff8a4ea63", "gsd-core/workflows/milestone-summary.md": "a0063cfbe08f2250", "gsd-core/workflows/mvp-phase.md": "c4e49ad83e1413ef", - "gsd-core/workflows/new-milestone.md": "45a240055c9edffc", - "gsd-core/workflows/new-project.md": "7826a26bc45c18d1", + "gsd-core/workflows/new-milestone.md": "268dbc3e79a9f2a9", + "gsd-core/workflows/new-project.md": "1071df1be5ede34e", "gsd-core/workflows/new-workspace.md": "89e5df89d54a2f47", "gsd-core/workflows/next.md": "259c8c42c4ce622b", "gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b", @@ -296,14 +296,14 @@ "gsd-core/workflows/pr-branch.md": "79fd55b88ea2db9c", "gsd-core/workflows/profile-user.md": "aa0737531d487f10", "gsd-core/workflows/progress.md": "1fe098b4d559ba55", - "gsd-core/workflows/quick.md": "11348e364c4fb1e7", + "gsd-core/workflows/quick.md": "efb557fbe8b4db60", "gsd-core/workflows/reapply-patches.md": "21b38c374f19fd78", "gsd-core/workflows/remove-phase.md": "a46c2fe853bf4e86", "gsd-core/workflows/remove-workspace.md": "8ddc5f04f7c48d6c", "gsd-core/workflows/resume-project.md": "f242e4c8aba18ea2", "gsd-core/workflows/review.md": "663197fee51897e4", "gsd-core/workflows/scan.md": "73a9c7810f892ea1", - "gsd-core/workflows/secure-phase.md": "267393d5b02b5334", + "gsd-core/workflows/secure-phase.md": "34f5e4d8e31c928d", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", "gsd-core/workflows/settings-advanced.md": "39e66386f6c48025", "gsd-core/workflows/settings-integrations.md": "8bb1c2bdebbc56e6", @@ -319,14 +319,14 @@ "gsd-core/workflows/sync-skills.md": "b505e6f8331c0918", "gsd-core/workflows/thread.md": "0582c6be8a78bbd8", "gsd-core/workflows/transition.md": "45dc17cc631dc485", - "gsd-core/workflows/ui-phase.md": "2bf8edd64567e39c", - "gsd-core/workflows/ui-review.md": "3c5298ac092f94b7", + "gsd-core/workflows/ui-phase.md": "9fcb76f015e49c36", + "gsd-core/workflows/ui-review.md": "fc37240a571ea55e", "gsd-core/workflows/ultraplan-phase.md": "77b58ef8af5209bd", "gsd-core/workflows/undo.md": "0222476f90d97de3", "gsd-core/workflows/update.md": "489c3a1b41f7de78", - "gsd-core/workflows/validate-phase.md": "4478ea061bf5b6bd", + "gsd-core/workflows/validate-phase.md": "2323df09d3192bb5", "gsd-core/workflows/verify-phase.md": "101bf5a6e15f0b04", - "gsd-core/workflows/verify-work.md": "fbfbc94d06d82312", + "gsd-core/workflows/verify-work.md": "6bd6621bbc88577e", "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/windsurf.json b/tests/fixtures/golden-install-parity/windsurf.json index dc38b4264..378304a75 100644 --- a/tests/fixtures/golden-install-parity/windsurf.json +++ b/tests/fixtures/golden-install-parity/windsurf.json @@ -218,18 +218,18 @@ "gsd-core/workflows/ai-integration-phase.md": "eab19bf009d39266", "gsd-core/workflows/analyze-dependencies.md": "77aff48f97fa6f1c", "gsd-core/workflows/audit-fix.md": "fd8ba9db9c56dd81", - "gsd-core/workflows/audit-milestone.md": "4737b1e182366d2f", + "gsd-core/workflows/audit-milestone.md": "ffc48dbaca92b927", "gsd-core/workflows/audit-uat.md": "d496e39402e160de", "gsd-core/workflows/autonomous.md": "c6638fb24a9f9024", "gsd-core/workflows/check-todos.md": "c72eec15c87fa877", "gsd-core/workflows/cleanup.md": "da44b987853e1a74", - "gsd-core/workflows/code-review-fix.md": "d019b6339f25c95c", - "gsd-core/workflows/code-review.md": "5bd0d7e7a5dad521", + "gsd-core/workflows/code-review-fix.md": "07ee5febf2472156", + "gsd-core/workflows/code-review.md": "93d603506d72468a", "gsd-core/workflows/complete-milestone.md": "3324ec6da5856f21", - "gsd-core/workflows/debug.md": "e6e1b5963b969eb8", + "gsd-core/workflows/debug.md": "56c27e13cdb531ee", "gsd-core/workflows/diagnose-issues.md": "3991fb0ec18050e2", "gsd-core/workflows/discovery-phase.md": "313c3a5213449309", - "gsd-core/workflows/discuss-phase-assumptions.md": "b065ff2ee57fe847", + "gsd-core/workflows/discuss-phase-assumptions.md": "cee9bb2cd280ab36", "gsd-core/workflows/discuss-phase-power.md": "290c0d83d783f9f6", "gsd-core/workflows/discuss-phase.md": "ce4e6abce9cb2d4e", "gsd-core/workflows/discuss-phase/modes/advisor.md": "cb49f485c4a1f09e", @@ -245,7 +245,7 @@ "gsd-core/workflows/discuss-phase/templates/context.md": "eeebda60636d1ad0", "gsd-core/workflows/discuss-phase/templates/discussion-log.md": "cd5d01c9ef84ab73", "gsd-core/workflows/do.md": "c2ee0bb845bc1cf1", - "gsd-core/workflows/docs-update.md": "6bd25d0123ee6c73", + "gsd-core/workflows/docs-update.md": "8fd49fe7a89da620", "gsd-core/workflows/edit-phase.md": "c0ae7d0063f3e789", "gsd-core/workflows/eval-review.md": "26051580110e6217", "gsd-core/workflows/execute-phase.md": "043544b7a948cae5", @@ -275,11 +275,11 @@ "gsd-core/workflows/list-seeds.md": "39162bbefe932b3d", "gsd-core/workflows/list-workspaces.md": "6950fb740a1e96ab", "gsd-core/workflows/manager.md": "10e895f5b83168fc", - "gsd-core/workflows/map-codebase.md": "d4ee3730a4856da6", + "gsd-core/workflows/map-codebase.md": "06eb656727c7758d", "gsd-core/workflows/milestone-summary.md": "1fdbae19ad06a0a3", "gsd-core/workflows/mvp-phase.md": "0b22d99b2f3aee0b", - "gsd-core/workflows/new-milestone.md": "2c6fbe3ba116fff1", - "gsd-core/workflows/new-project.md": "6bfa8b2635fd09b3", + "gsd-core/workflows/new-milestone.md": "85610dc440404ae2", + "gsd-core/workflows/new-project.md": "823b42b781f497e0", "gsd-core/workflows/new-workspace.md": "b503e947ab08ab96", "gsd-core/workflows/next.md": "727392fe9b42cea8", "gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b", @@ -296,14 +296,14 @@ "gsd-core/workflows/pr-branch.md": "acd59f915d018ad4", "gsd-core/workflows/profile-user.md": "33b150468a6789db", "gsd-core/workflows/progress.md": "3e4ac518362ba665", - "gsd-core/workflows/quick.md": "db77a864d4eb70fa", + "gsd-core/workflows/quick.md": "f606815b016488fc", "gsd-core/workflows/reapply-patches.md": "d449a23d3acf6379", "gsd-core/workflows/remove-phase.md": "e7a6af429b36e77b", "gsd-core/workflows/remove-workspace.md": "30ca05fe4a3efc25", "gsd-core/workflows/resume-project.md": "82cfe1b8cb17c085", "gsd-core/workflows/review.md": "8a9380fa5a5a3b12", "gsd-core/workflows/scan.md": "a93cb61ed701c91f", - "gsd-core/workflows/secure-phase.md": "d5d811bc468ce7f2", + "gsd-core/workflows/secure-phase.md": "646aec1615738a8e", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", "gsd-core/workflows/settings-advanced.md": "2f86ec7b998f9485", "gsd-core/workflows/settings-integrations.md": "159d0ae32b511129", @@ -319,14 +319,14 @@ "gsd-core/workflows/sync-skills.md": "b505e6f8331c0918", "gsd-core/workflows/thread.md": "d83a0d0bd0f94c4c", "gsd-core/workflows/transition.md": "5e2c96544e9981ed", - "gsd-core/workflows/ui-phase.md": "2f934ea06ca04776", - "gsd-core/workflows/ui-review.md": "dc81b8c5547c05f0", + "gsd-core/workflows/ui-phase.md": "e946cffc791c1439", + "gsd-core/workflows/ui-review.md": "34d330851a6ac9a5", "gsd-core/workflows/ultraplan-phase.md": "53b77a8edf60acd0", "gsd-core/workflows/undo.md": "733189fb34cc026b", "gsd-core/workflows/update.md": "f62a1df3b92e1a0f", - "gsd-core/workflows/validate-phase.md": "037e8d2b226e010f", + "gsd-core/workflows/validate-phase.md": "d4c093a8e4ae4d95", "gsd-core/workflows/verify-phase.md": "382490481d794ed5", - "gsd-core/workflows/verify-work.md": "0fb2519e1a0b47f4", + "gsd-core/workflows/verify-work.md": "bef318ddc15c0627", "hooks/gsd-windsurf-pre-command.js": "7467a8a63e354aad", "hooks/gsd-windsurf-pre-write.js": "1c8a776d7ae2dcce", "scripts/changeset/README.md": "86ff89331dfd94b2", diff --git a/tests/fixtures/golden-install-parity/zcode.json b/tests/fixtures/golden-install-parity/zcode.json index 20e42b483..16a0dedc5 100644 --- a/tests/fixtures/golden-install-parity/zcode.json +++ b/tests/fixtures/golden-install-parity/zcode.json @@ -289,18 +289,18 @@ "gsd-core/workflows/ai-integration-phase.md": "308378c9044a52e1", "gsd-core/workflows/analyze-dependencies.md": "52942af10f140717", "gsd-core/workflows/audit-fix.md": "7650bcb334e622a6", - "gsd-core/workflows/audit-milestone.md": "2beceadd10d8d9b1", + "gsd-core/workflows/audit-milestone.md": "6174b6f87844973c", "gsd-core/workflows/audit-uat.md": "fcfbec501620b564", "gsd-core/workflows/autonomous.md": "aed5e67104346cc2", "gsd-core/workflows/check-todos.md": "c484e472cff0e4e3", "gsd-core/workflows/cleanup.md": "df79d1dc7b84d736", - "gsd-core/workflows/code-review-fix.md": "5c4fe9921dcd9939", - "gsd-core/workflows/code-review.md": "926565c83e9b9f67", + "gsd-core/workflows/code-review-fix.md": "9fef1cf740c7c155", + "gsd-core/workflows/code-review.md": "22b53c0d29508d57", "gsd-core/workflows/complete-milestone.md": "8f98d7b05793cf4a", - "gsd-core/workflows/debug.md": "b2232823c619cc63", + "gsd-core/workflows/debug.md": "3f0218b051c1afb1", "gsd-core/workflows/diagnose-issues.md": "9a1591d7b17ed778", "gsd-core/workflows/discovery-phase.md": "0aa8d8d872b53858", - "gsd-core/workflows/discuss-phase-assumptions.md": "cbc8ea4ddc4553fb", + "gsd-core/workflows/discuss-phase-assumptions.md": "9c8b6b66df026e33", "gsd-core/workflows/discuss-phase-power.md": "0841f7dc6e9a054a", "gsd-core/workflows/discuss-phase.md": "d0a67b6f77b4d339", "gsd-core/workflows/discuss-phase/modes/advisor.md": "db488d74d080c653", @@ -316,7 +316,7 @@ "gsd-core/workflows/discuss-phase/templates/context.md": "eeebda60636d1ad0", "gsd-core/workflows/discuss-phase/templates/discussion-log.md": "1bbd7703f11128e1", "gsd-core/workflows/do.md": "90df4f1fe248cdf3", - "gsd-core/workflows/docs-update.md": "a320371be70f43d8", + "gsd-core/workflows/docs-update.md": "fba7329f525c9463", "gsd-core/workflows/edit-phase.md": "966a3eadd1bebc04", "gsd-core/workflows/eval-review.md": "c2933259ff7fb6ac", "gsd-core/workflows/execute-phase.md": "1fb281c6e0511e2a", @@ -346,11 +346,11 @@ "gsd-core/workflows/list-seeds.md": "b687f2a843032d65", "gsd-core/workflows/list-workspaces.md": "7f94e18b5c549453", "gsd-core/workflows/manager.md": "c18fab593344253d", - "gsd-core/workflows/map-codebase.md": "e59b600b28ebeed5", + "gsd-core/workflows/map-codebase.md": "51aebfe0523f3bcf", "gsd-core/workflows/milestone-summary.md": "e0cdfddbd39a9043", "gsd-core/workflows/mvp-phase.md": "58a952b4715db283", - "gsd-core/workflows/new-milestone.md": "b0a1fd443cd87be9", - "gsd-core/workflows/new-project.md": "52897d77d7349d42", + "gsd-core/workflows/new-milestone.md": "8164a9abc301f143", + "gsd-core/workflows/new-project.md": "c8622794a64900e8", "gsd-core/workflows/new-workspace.md": "bbeb706c7a697617", "gsd-core/workflows/next.md": "4e1eb6b46d15798d", "gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b", @@ -367,14 +367,14 @@ "gsd-core/workflows/pr-branch.md": "c87db7ac8c28be1b", "gsd-core/workflows/profile-user.md": "74005f062c870393", "gsd-core/workflows/progress.md": "46c83ad61b3c4a84", - "gsd-core/workflows/quick.md": "104ff08f63be9dd5", + "gsd-core/workflows/quick.md": "47f785430dc5738b", "gsd-core/workflows/reapply-patches.md": "39050f72601aec89", "gsd-core/workflows/remove-phase.md": "df9a45f0b1880999", "gsd-core/workflows/remove-workspace.md": "f67860c795fb4bfe", "gsd-core/workflows/resume-project.md": "f28da1200e4545f4", "gsd-core/workflows/review.md": "8724993cbc91bcc5", "gsd-core/workflows/scan.md": "0583dac337623f82", - "gsd-core/workflows/secure-phase.md": "fda2361739e511ee", + "gsd-core/workflows/secure-phase.md": "00225810eaed265b", "gsd-core/workflows/session-report.md": "2e5b1205324ddefa", "gsd-core/workflows/settings-advanced.md": "414db4dbea97ba44", "gsd-core/workflows/settings-integrations.md": "effcef778d4a855f", @@ -390,14 +390,14 @@ "gsd-core/workflows/sync-skills.md": "b505e6f8331c0918", "gsd-core/workflows/thread.md": "927e7eeefd2fcf5c", "gsd-core/workflows/transition.md": "aea486bb7a0e80e7", - "gsd-core/workflows/ui-phase.md": "f89a9520b1783922", - "gsd-core/workflows/ui-review.md": "80ccc9bebded4df2", + "gsd-core/workflows/ui-phase.md": "bae68b9585b238ac", + "gsd-core/workflows/ui-review.md": "387f7cefc849dba1", "gsd-core/workflows/ultraplan-phase.md": "0fb8291153e3937d", "gsd-core/workflows/undo.md": "1712417bade30b30", "gsd-core/workflows/update.md": "8a76f19db5c12935", - "gsd-core/workflows/validate-phase.md": "f0d668993e788ca4", + "gsd-core/workflows/validate-phase.md": "171ff4aa9b392475", "gsd-core/workflows/verify-phase.md": "d26a2c3269340caf", - "gsd-core/workflows/verify-work.md": "2d54aaa040086f12", + "gsd-core/workflows/verify-work.md": "bc9dcabfc5be2e81", "scripts/changeset/README.md": "86ff89331dfd94b2", "scripts/changeset/cli.cjs": "68f92a344b199271", "scripts/changeset/github-release-notes.cjs": "795677f0c009b132", diff --git a/tests/model-omit-when-inherit-guard.test.cjs b/tests/model-omit-when-inherit-guard.test.cjs index 0c4a31ffc..4f41a5729 100644 --- a/tests/model-omit-when-inherit-guard.test.cjs +++ b/tests/model-omit-when-inherit-guard.test.cjs @@ -18,30 +18,129 @@ const { runGsdTools, createTempProject, cleanup } = require('./helpers.cjs'); const ROOT = path.resolve(__dirname, '..'); const WORKFLOWS = path.join(ROOT, 'gsd-core', 'workflows'); -// Each orchestrator that spawns model-tagged subagents must carry the rule. -const GUARDED = [ - 'gsd-core/workflows/plan-phase.md', - 'gsd-core/workflows/execute-phase.md', - // #2684 — both dispatched with an unbound placeholder and no omit rule. - 'gsd-core/workflows/scan.md', - 'gsd-core/workflows/ship.md', -]; +/** + * Does this body state the omit rule? The rule is "omit the model= param when the + * bound *_model is inherit/empty", so require `omit` adjacent to `model=` AND the + * word `inherit`. Deliberately a PROPERTY check, not a fixed template string: + * plan-phase.md and execute-phase.md each state it in their own wording and both + * are correct. + */ +const OMIT_RULE_MARKER = ""; -test('#2517: orchestrators document omitting model= when *_model is inherit/empty', () => { - for (const rel of GUARDED) { - const content = fs.readFileSync(path.join(ROOT, rel), 'utf8'); - // The rule: "omit the model= param ... when *_model is inherit/empty". - // Require "omit" near "model=" AND "inherit" present — the three signals of the rule. - const omitNearModel = /omit[\s\S]{0,200}model=|model=[\s\S]{0,200}omit/i.test(content); - assert.ok( - omitNearModel && /inherit/i.test(content), - `${rel}: must instruct the agent to OMIT the model= param from Agent() calls when the ` + - `*_model var is "inherit" or empty (#2517) — else model="" 404s on non-Claude runtimes ` + - `(resolve_model_ids:"omit" + model_profile:"inherit" yields an empty model string).`, - ); +function statesOmitRule(content) { + // Canonical form: the marker block, which links the rule's single source of truth. + // Preferred for new files because it is unambiguous and greppable, and because it + // carries no literal `model=` token — the installed Hermes copy of a workflow is + // asserted to contain none outside string literals (delegate_task has no per-call + // model parameter at all), so the older phrasing cannot be used everywhere. + if (content.includes(OMIT_RULE_MARKER)) return true; + // Legacy form: the rule stated inline in the file's own words. All four files that + // predate the marker (plan-phase, execute-phase, scan, ship) match this branch, and + // rewriting them to a template would churn correct files for no behavioral gain. + const omitNearModel = /omit[\s\S]{0,200}model=|model=[\s\S]{0,200}omit/i.test(content); + return omitNearModel && /inherit/i.test(content); +} + +/** + * #2711 — the guarded set is DERIVED from the corpus: every workflow that emits a + * `model="{…}"` dispatch site must carry the rule. + * + * This replaces a hand-maintained array. That array was a Goodhart metric — it + * reported green across 15 non-compliant files for no better reason than that + * nobody had added them to it. Deriving the set is what makes a 16th file + * impossible to add silently. + */ +function workflowsThatDispatchWithAModel() { + return fs + .readdirSync(WORKFLOWS) + .filter((f) => f.endsWith('.md')) + .map((f) => ({ file: f, content: fs.readFileSync(path.join(WORKFLOWS, f), 'utf8') })) + .filter((w) => /model="\{/.test(w.content)); +} + +test('#2517: every workflow that dispatches model= documents omitting it on inherit/empty', () => { + const dispatching = workflowsThatDispatchWithAModel(); + + // Non-vacuity: an empty or truncated derivation is not a passing guard. + assert.ok( + dispatching.length >= 19, + `expected >=19 model=-dispatching workflows, derived ${dispatching.length} — ` + + 'the derivation itself is broken, so this guard proves nothing.', + ); + + // Report ALL offenders in one message rather than stopping at the first, so a + // sweep can be completed in a single pass. + const missing = dispatching.filter((w) => !statesOmitRule(w.content)).map((w) => w.file); + assert.deepEqual( + missing, + [], + `these workflows dispatch model="{…}" but never tell the orchestrator to OMIT the ` + + `model= param when the bound *_model is "inherit" or empty (#2517/#2711):\n ` + + `${missing.join('\n ')}\n` + + 'Without the rule, model="" is passed verbatim and 404s on every runtime lacking ' + + 'native tier aliases — which is the DEFAULT state on non-Claude runtimes, where ' + + 'the installer writes resolve_model_ids:"omit". See ' + + 'gsd-core/references/model-profile-resolution.md.', + ); +}); + +test('#2711: the guarded set is derived from dispatch sites, not hand-maintained', () => { + const derived = workflowsThatDispatchWithAModel().map((w) => w.file); + + // limit: a workflow with exactly one dispatch site is still guarded. + assert.ok(derived.includes('audit-milestone.md'), 'a single-site workflow must be derived in'); + // limit+1: a many-site workflow appears once, not once per site. + assert.equal( + derived.filter((f) => f === 'docs-update.md').length, + 1, + 'a workflow with 10 dispatch sites must be derived exactly once', + ); + // limit-1: a workflow that never emits model= must NOT be dragged in. + const nonDispatching = fs + .readdirSync(WORKFLOWS) + .filter((f) => f.endsWith('.md') && !/model="\{/.test(fs.readFileSync(path.join(WORKFLOWS, f), 'utf8'))); + assert.ok(nonDispatching.length > 0, 'expected some workflows to dispatch no model= at all'); + for (const f of nonDispatching) { + assert.ok(!derived.includes(f), `${f} emits no model= and must not be required to carry the rule`); } }); +test('#2711: detects a dispatching workflow that lacks the rule', () => { + const site = 'Agent(subagent_type="gsd-planner", model="{planner_model}")'; + + assert.equal(statesOmitRule(`# doc\n${site}\n`), false, 'a bare dispatch site must be reported'); + + // plan-phase.md's own wording — the guard checks the property, not a template. + const planPhaseWording = + '**#2517:** omit the `model=` param from an `Agent()` call when its ' + + '`researcher`/`planner`/`checker`_model is `"inherit"` or empty.'; + assert.equal(statesOmitRule(`# doc\n${planPhaseWording}\n${site}\n`), true); + + // execute-phase.md's differently-worded copy must also satisfy it. + const executePhaseWording = + '**Model resolution:** If `executor_model` is `"inherit"`, omit the `model=` ' + + 'parameter from all `Agent()` calls.'; + assert.equal(statesOmitRule(`# doc\n${executePhaseWording}\n${site}\n`), true); + + // "omit" alone, with no mention of inherit, is not the rule. + assert.equal(statesOmitRule(`# doc\nomit the \`model=\` param sometimes.\n${site}\n`), false); +}); + +test('#2711: rule detection is CRLF-safe', () => { + const body = [ + '# doc', + '**#2517:** omit the `model=` param when the bound `planner_model` is `"inherit"` or empty.', + 'Agent(subagent_type="gsd-planner", model="{planner_model}")', + '', + ]; + assert.equal(statesOmitRule(body.join('\n')), true); + assert.equal( + statesOmitRule(body.join('\r\n')), + statesOmitRule(body.join('\n')), + 'CRLF input must yield the same verdict as LF (recurring class: #1658/#1668/#2206/#2449/#2450)', + ); +}); + // --------------------------------------------------------------------------- // #2684 — placeholder binding. // diff --git a/tests/prompt-injection-scan.security.test.cjs b/tests/prompt-injection-scan.security.test.cjs index ee15b4a8f..f3d918a73 100644 --- a/tests/prompt-injection-scan.security.test.cjs +++ b/tests/prompt-injection-scan.security.test.cjs @@ -74,6 +74,12 @@ const SIZE_ONLY_WORKFLOWS = new Set([ // scanned, exactly like docs-update.md. Splitting it per the progressive- // disclosure pattern is the real fix and is worth its own change. 'gsd-core/workflows/review.md', + // ~50.2K after the #2711 omit-rule block. This file sat at 49,9xx chars on next — + // under the 50K prompt-stuffing threshold by ~200 — so, exactly like review.md above, + // it was going to trip on whatever was added to it next. Size-only: still fully + // injection scanned. Splitting it per the progressive-disclosure pattern is the real + // fix and is worth its own change. + 'gsd-core/workflows/quick.md', ]); // ─── Scanner ──────────────────────────────────────────────────────────────── diff --git a/tests/workflow-size-baseline.json b/tests/workflow-size-baseline.json index eb36c54e2..000230c7e 100644 --- a/tests/workflow-size-baseline.json +++ b/tests/workflow-size-baseline.json @@ -6,22 +6,22 @@ "ai-integration-phase.md": 15356, "analyze-dependencies.md": 3887, "audit-fix.md": 12329, - "audit-milestone.md": 19034, + "audit-milestone.md": 19425, "audit-uat.md": 7469, "autonomous.md": 42468, "check-todos.md": 9771, "cleanup.md": 10319, - "code-review-fix.md": 24906, - "code-review.md": 33110, + "code-review-fix.md": 25301, + "code-review.md": 33490, "complete-milestone.md": 31436, - "debug.md": 20175, + "debug.md": 20555, "diagnose-issues.md": 13444, "discovery-phase.md": 13543, - "discuss-phase-assumptions.md": 28253, + "discuss-phase-assumptions.md": 28633, "discuss-phase-power.md": 11273, "discuss-phase.md": 31986, "do.md": 10731, - "docs-update.md": 56494, + "docs-update.md": 56876, "edit-phase.md": 12927, "eval-review.md": 10316, "execute-phase.md": 90143, @@ -41,11 +41,11 @@ "list-seeds.md": 6987, "list-workspaces.md": 5699, "manager.md": 27751, - "map-codebase.md": 21888, + "map-codebase.md": 22266, "milestone-summary.md": 11842, "mvp-phase.md": 13991, - "new-milestone.md": 38667, - "new-project.md": 67055, + "new-milestone.md": 39090, + "new-project.md": 67478, "new-workspace.md": 11584, "next.md": 20171, "node-repair.md": 4173, @@ -59,14 +59,14 @@ "pr-branch.md": 15963, "profile-user.md": 21624, "progress.md": 32632, - "quick.md": 52280, + "quick.md": 52730, "reapply-patches.md": 20312, "remove-phase.md": 8513, "remove-workspace.md": 7916, "resume-project.md": 17270, "review.md": 59213, "scan.md": 8880, - "secure-phase.md": 14627, + "secure-phase.md": 15006, "session-report.md": 4044, "settings-advanced.md": 40019, "settings-integrations.md": 16257, @@ -82,12 +82,12 @@ "sync-skills.md": 6125, "thread.md": 12508, "transition.md": 22070, - "ui-phase.md": 26925, - "ui-review.md": 12166, + "ui-phase.md": 27330, + "ui-review.md": 12548, "ultraplan-phase.md": 10512, "undo.md": 15323, "update.md": 26024, - "validate-phase.md": 11856, + "validate-phase.md": 12235, "verify-phase.md": 40949, - "verify-work.md": 41318 + "verify-work.md": 41714 }