Repository navigation
Description
Problem
The gh-aw SDLC lifecycle has no independent post-implementation review phase. /squad implement dispatches squad-implement-worker, which self-reviews its own diff and opens a PR. The only gates after that are human review and CI. A worker that misreads acceptance criteria produces a PR that no other agent inspects, and the epic merge-relay advances the next child regardless.
Goal
Add a /squad review capability that reviews both Squad-authored and Copilot-authored PRs, with reviewer independence enforced structurally (no edit: authority, no dispatch, no issue creation) rather than by prompt instruction.
Phases
| Phase | Scope | Issues | Status |
|---|---|---|---|
| 0 | Hardening — router concurrency, actor authorization, PR provenance markers, relay correctness, compile/budget CI gates, behavioral tests | #1730, #1731, #1732 | ✅ Complete (#1732 closed; #1730, #1731 closed) |
| 1 | /squad review MVP, advisory only |
#1733 | ✅ Complete (#1733 closed) |
| 2 | Enforcement — required check, epic relay gated on review verdict | #1734 | 🔲 Remaining — blocked on advisory soak (#1733) and Tier 1 false-green fixes; see #1828 as architecture/decision blocker |
| 3 | Optional human-initiated remediation worker | #1735 | 🔲 Remaining — optional; wait for #1734 verdict/override semantics |
| 4 | Distribution and documentation | #1736 | ✅ Complete (#1736 closed) |
📋 Current sequencing plan is in the Procedures triage comment below. Earlier Flight backlog sequencing remains historical context, but the required-check phase now explicitly waits for the Tier 1 false-green cluster because a permanently red or blind gate is equivalent to no gate.
Phase 0 is a prerequisite: a review gate is only meaningful if dispatch is trusted, PRs are machine-identifiable, and gh aw compile actually runs in CI. Phase 2 adds a second prerequisite: the broader gh-aw false-green cluster must land first so /squad review does not become a required check backed by blind instrumentation.
Design invariants
- Reviewer independence is structural. The review workflow gets no
edit:tool, nodispatch_workflow, nocreate-issue. - Verdicts are
COMMENTorREQUEST_CHANGESonly. The defaultGITHUB_TOKENcannotAPPROVE. Human approval stays mandatory in every phase. - Provenance detection is author-agnostic — marker first, branch prefix second, bot login third.
- Automatic remediation is deliberately out of scope for the MVP. An auto-fixing reviewer stops being an independent reviewer.
Open decisions
| Decision | Recommendation |
|---|---|
| Auto-review default-on or opt-in? | On for agent PRs, off for human PRs |
| Advisory or blocking at MVP? | Advisory; blocking in Phase 2 only after Tier 1 false-green fixes land |
Manual /squad review on any PR? |
Yes |
| Automatic remediation? | No — Phase 3, human-initiated only |
| Human approval still required? | Yes, always |
Context
Derived from an end-to-end review of /squad implement and a decomposition assessment of workflows/squad.md. Conclusion of that assessment: keep the monolithic /squad router and the cohesive planning state machine intact; extract workers only at real authority/trigger boundaries. Implementation is one such boundary today; review is the next one.
Activity
bradygaster commentedon Aug 20, 2026
🏗️ Flight — gh-aw backlog triage + dependency-ordered execution plan
All gh-aw issues are now fully labeled (
gh-aw+ onetype:+ onepriority:+ onesquad:{owner}+triaged+wave:). This comment is the execution plan. Tables, not prose.Priority rule (this backlog)
Waves = sequencing:
wave:1-nextstart now ·wave:2-soonnext ·wave:3-laterlater.Wave 1 — start now (parallel)
gh aw compile+ prompt-budget gate + behavioral testsgood first issue)Wave 2 — after Phase 0 lands
/squad review(advisory)plan validateadversarial teeth (invoke Fact Checker DA pass)squad health— candidate home for the #1762/#1748 preflightbots:from squad.mdWave 3 — later
/squad reviewingh aw add+ guidecopilot/*branchesSequencing resolutions (the hard questions)
32394811753); the Prevent dispatch_workflow schema probes #1766 prompt guard proved insufficient, so Merge-continuation dispatch destroyed by empty schema probe; #1766's prompt guard is insufficient #1772 needs the structural static dispatch-payload gate (per Booster's 2026-08-20 "Merge continuation dispatch inputs" decision). Phase 0b: Add PR provenance marker and tighten implement-worker merge relay #1731 then builds the provenance marker on the fixed relay. Keep both, cross-reference, fix Merge-continuation dispatch destroyed by empty schema probe; #1766's prompt guard is insufficient #1772 first.squad health(squad healthreadiness check command #1605). Allow dependency additions without bypassing protected-file safety #1748 is blocked on Decide: document vs preflight-check the Actions PR-creation repo setting #1762's decision. Not a closure.Decisions that need @bradygaster (each with my recommendation — just say yes)
squad health#1605); keep docs. Every new adopter hits the false default.bots:from squad.mdbots:to clear the per-gh aw addwarning.copilot/*branchescopilot/1592-review-fixes@71ff779,copilot/agentic-workflows-review@e3a83bf) — if nothing beyond #1730–1736, delete. Third branch (sub-agent-charters-loading) is non-gh-aw, out of scope.— Flight 🏗️
21 remaining items
github-actions commentedon Sep 11, 2026
🔄 Ralph — Auto-Triage
Assigned to: Flight
Reason: No module, routing, or role keyword match — routed to Lead/Architect
Source: lead-fallback
github-actions commentedon Sep 11, 2026
🔄 Ralph — Auto-Triage
Assigned to: Flight
Reason: No module, routing, or role keyword match — routed to Lead/Architect
Source: lead-fallback
github-actions commentedon Sep 13, 2026
🔄 Ralph — Auto-Triage
Assigned to: architect
Reason: No module, routing, or role keyword match — routed to Lead/Architect
Source: lead-fallback
github-actions commentedon Sep 24, 2026
📋 Assigned to agentic-workflows-dev (Agentic Workflows Engineer)
Issue: #1729 — Epic: Squad review gate for agent-authored pull requests
agentic-workflows-dev will pick this up in the next Copilot session.
bradygaster commentedon Sep 28, 2026
Current delivery map (2026-09-28):
Squad Reviewcheck blocking/satisfaction, logical author/reviewer separation, relay gating, and unchanged-head deduplication.devonly after hosted evidence and the documented advisory soak; promote tomainlater.Keep this epic open until #2096 is merged, hosted evidence is durable, rollout/soak is complete, and optional #1735 is explicitly dispositioned.
bradygaster commentedon Sep 28, 2026
Follow-up disposition complete: #1735 remains open as a shelved/deferred human-initiated remediation worker and explicitly does not gate #2096, #1734, hosted review-check validation, or this epic. The remaining epic gates are therefore #2096 merge, durable consumer evidence, and the documented rollout/soak.
bradygaster commentedon Sep 29, 2026
Final implementation stack pin: da7861d (#2096). Hosted consumer acceptance is now running in the three private fixtures. This epic remains open for durable consumer evidence and review-check rollout/soak; deferred #1735 does not gate it.
bradygaster commentedon Sep 29, 2026
Post-#2105 reconciliation
The independent-review implementation is merged through
29e69f53, including exact-head relay enforcement, first-install hardening, and the dedicated GitHub App publisher boundary. This epic remains blocked, not complete:squad-review-authorityand the reviewer App are not provisioned, the three private fixtures have not been rerun at the final SHA, anddevactivation/soak evidence is absent. Track provisioning and reruns in #2103; keep this issue open for rollout acceptance.