routing.md (2083B)
1 # Work Routing 2 3 How to decide who handles what. 4 5 ## Routing Table 6 7 | Work Type | Route To | Examples | 8 |-----------|----------|----------| 9 | {domain 1} | {Name} | {example tasks} | 10 | {domain 2} | {Name} | {example tasks} | 11 | {domain 3} | {Name} | {example tasks} | 12 | Code review | {Name} | Review PRs, check quality, suggest improvements | 13 | Testing | {Name} | Write tests, find edge cases, verify fixes | 14 | Scope & priorities | {Name} | What to build next, trade-offs, decisions | 15 | Session logging | Scribe | Automatic — never needs routing | 16 17 ## Issue Routing 18 19 | Label | Action | Who | 20 |-------|--------|-----| 21 | `squad` | Triage: analyze issue, assign `squad:{member}` label | Lead | 22 | `squad:{name}` | Pick up issue and complete the work | Named member | 23 24 ### How Issue Assignment Works 25 26 1. When a GitHub issue gets the `squad` label, the **Lead** triages it — analyzing content, assigning the right `squad:{member}` label, and commenting with triage notes. 27 2. When a `squad:{member}` label is applied, that member picks up the issue in their next session. 28 3. Members can reassign by removing their label and adding another member's label. 29 4. The `squad` label is the "inbox" — untriaged issues waiting for Lead review. 30 31 ## Rules 32 33 1. **Eager by default** — spawn all agents who could usefully start work, including anticipatory downstream work. 34 2. **Scribe always runs** after substantial work, always as `mode: "background"`. Never blocks. 35 3. **Quick facts → coordinator answers directly.** Don't spawn an agent for "what port does the server run on?" 36 4. **When two agents could handle it**, pick the one whose domain is the primary concern. 37 5. **"Team, ..." → fan-out.** Spawn all relevant agents in parallel as `mode: "background"`. 38 6. **Anticipate downstream work.** If a feature is being built, spawn the tester to write test cases from requirements simultaneously. 39 7. **Issue-labeled work** — when a `squad:{member}` label is applied to an issue, route to that member. The Lead handles all `squad` (base label) triage.