Files
msd-core/gsd-core/references/execute-phase-response-language.md
Tom Boucher 9341d8b8d3 test(#3334): fold the workflow-dispatch & review-lane fix-* cluster — Wave 2 (#3342)
Folds 15 tests/fix-*.test.cjs regression files (191 test() blocks) into
their module's main suite, per the wave decomposition of #3315 (H3 of
epic #3053). 187 blocks land in 8 existing suites (4 exact-duplicate
cases dropped, documented inline); 4 blocks move via git mv into 2 new
suite files with no prior coverage to merge into. Zero production
behavior change.

Also tightens two H1 (#3313) ratchets that the fold's own file-count
reduction moved past their grace window, per the ratchets' documented
dual failure mode (a stale/too-loose baseline fails exactly like a
novel violation):
- lint-test-file-count.allowlist.json: removes the stale "audit" entry
  (folding fix-2766 into tests/uat.test.cjs drops that module back to
  its 2-file cap).
- lint-allow-test-rule-refs.ceiling.json: lowers maxFiles 314 -> 309,
  the real post-fold high-water mark (gsd-test's own repo-baseline
  test caught this — CI, not a human, found it).

Two orthogonal review passes (Standards+Spec code-review, isolated
security-review) found and this commit fixes two issues before push:
a genuinely-distinct #2287 test case (file-absent vs. file-present-
resolved) that a prior fold pass had wrongly dropped as a duplicate —
restored verbatim into tests/uat.test.cjs; and a missing same-line
allow-test-rule citation on the #2196 block in
tests/debug-session-management.test.cjs, added for consistency with
its sibling #2257 block.

lint-removed-but-needed also caught two stale doc references to the
now-folded-away fix-2285-claude-orchestration-wiring.test.cjs filename
(docs/adr/1143-claude-orchestration-capability.md,
gsd-core/references/execute-phase-response-language.md) — updated both
to point at tests/claude-orchestration.test.cjs, its new home.

Co-authored-by: sim <sim@local>
2026-08-10 20:51:40 -04:00

1.1 KiB

Execute-Phase Response-Language Directive (#2402)

If response_language is set: User-facing orchestrator output (questions, narration, report-template prose) in {response_language}; technical terms, code, file paths, and subagent prompts stay in English. Pass response_language: {value} into every spawned subagent prompt so any user-facing output they produce stays in the configured language.

The literal report templates embedded in this workflow (## Execution Plan, ## Phase {X}: {Name} Execution Complete, ## ⚠ Phase {X}: {Name} — Gaps Found, etc.) are a structural source, not literal output to copy verbatim — render their prose translated into {response_language} while keeping headings' structural markers, table columns, IDs, commands, and file paths unchanged.

This directive was extracted from workflows/execute-phase.md to keep that file under the frozen pre-phase-6 byte ceiling (ADR-857 Phase 6 capstone, tests/claude-orchestration.test.cjs). The @-reference is eager, so the runtime still loads this content alongside the workflow — the extraction is purely a file-size discipline, not a lazy-load optimization.