Fix Squad continuation dispatch inputs - #1752
Conversation
🟡 Impact Analysis — PR #1752Risk tier: 🟡 MEDIUM 📊 Summary
🎯 Risk Factors
📦 Modules Affectedroot (2 files)
scripts (1 file)
squad-state (1 file)
tests (2 files)
This report is generated automatically for every PR. See #733 for details. |
🛫 PR Readiness Check
PR Scope: 🔧 Infrastructure
|
| Status | Check | Details |
|---|---|---|
| ❌ | Single commit | 2 commits — consider squashing before review |
| ✅ | Not in draft | Ready for review |
| ✅ | Branch up to date | Up to date with dev |
| ❌ | Copilot review | No Copilot review yet — it may still be processing |
| ✅ | Changeset present | No source files changed — changeset not required |
| ✅ | Scope clean | |
| ✅ | No merge conflicts | No merge conflicts |
| ❌ | Copilot threads resolved | 1 unresolved Copilot thread(s) — fix and resolve before merging |
| ✅ | CI passing | All checks passing |
Files Changed (6 files, +264 −23)
| File | +/− |
|---|---|
.squad/decisions/inbox/booster-continuation-dispatch-inputs.md |
+39 −0 |
scripts/check-workflow-input-interpolation.mjs |
+79 −6 |
test/gh-aw-implement-workflow.test.ts |
+21 −2 |
test/gh-aw-quality.test.ts |
+95 −0 |
workflows/squad-implement-worker.md |
+13 −6 |
workflows/squad.md |
+17 −9 |
Total: +264 −23
This check runs automatically on every push. Fix any ❌ items and push again.
See CONTRIBUTING.md and PR Requirements for details.
|
There was a problem hiding this comment.
Pull request overview
This PR hardens Squad’s merge-continuation flow by aligning the continuation dispatch payload with the prompt-visible dispatch_workflow schema (including workflow_name: squad and nested inputs), removing the silent workflow_dispatch default that masked missing inputs, and adding static regression gates to prevent future drift.
Changes:
- Update
workflows/squad-implement-worker.mdmerge-continuation instructions to dispatch Squad viadispatch_workflowusing the nestedinputsshape and to comment on the parent epic. - Remove
workflow_dispatch.inputs.command’s destructive default inworkflows/squad.mdand document visible failures for missingcommand/issue_number. - Add automated guardrails in tests and a script gate to detect destructive dispatch defaults and continuation payload/input-name drift.
Show a summary per file
| File | Description |
|---|---|
| workflows/squad.md | Removes the silent command: cast default and documents visible failure behavior for missing workflow_dispatch inputs. |
| workflows/squad-implement-worker.md | Fixes merge continuation dispatch guidance to use the prompt-visible dispatch_workflow shape and target the parent epic for comments. |
| test/gh-aw-quality.test.ts | Adds a regression suite asserting the continuation dispatch JSON shape matches Squad’s declared workflow_dispatch inputs. |
| scripts/check-workflow-input-interpolation.mjs | Extends the static gate to flag destructive defaults for action-like workflow_dispatch inputs, in addition to bare input references in prompt bodies. |
| .squad/decisions/inbox/booster-continuation-dispatch-inputs.md | Records the finding/decision/guardrail rationale for the dispatch contract and its enforcement. |
Review details
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
- Files reviewed: 5/5 changed files
- Comments generated: 1
- Review effort level: Lite
| Do not pass `command` or `issue_number` as top-level `dispatch_workflow` | ||
| arguments; gh-aw only forwards workflow inputs from the nested `inputs` object. | ||
| Never edit files or create a pull request in this mode. Stop after the `squad` | ||
| workflow is dispatched and the visible continuation comment is queued. |
Closes #1751 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
72ee504 to
703eae0
Compare
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Summary
Working as Booster (CI/CD Engineer).
dispatch_workflowshape withworkflow_name: squadand nestedinputs.command/inputs.issue_numbercastworkflow_dispatch default and document visible missing-input failuresCloses #1751
Mechanism proven
Raw safe output from fixture run
32316227601was only{"type":"dispatch_workflow"}. The agent artifact shows it called genericdispatch_workflowwith top-levelcommandandissue_number; the compiled schema expectsworkflow_nameplus nestedinputs, so the handler ignored those top-level keys and GitHub applied Squad's oldcastdefault.Validation
node scripts/check-workflow-input-interpolation.mjs✅npx vitest run test/gh-aw-quality.test.ts✅ 85 passed / 13 skippednpm run build✅