docs: enforce orchestrator as planner-only, no direct coding (#133) (#135)

## Changes

### lib/templates.ts (AGENTS.md template)
- Added 'Critical: You Do NOT Write Code' section to orchestrator instructions
- Listed what orchestrator CAN do (planning, analysis, status checks)
- Listed what MUST go through workers (code, git ops, tests)
- Added 'Never write code yourself' to Safety section

### README.md
- Added 'The orchestrator's role' section explaining the workflow boundary
- Table showing what goes through workers vs orchestrator
- Explained why: audit trail, tier selection, parallelization, QA pipeline

### docs/ARCHITECTURE.md
- Updated scope boundaries diagram to show 'planning only' for orchestrator
- Added key boundary note about planner/dispatcher role

Addresses issue #133
This commit is contained in:
Lauren ten Hoor
2026-02-12 12:36:12 +08:00
committed by GitHub
parent 7dd9aa7a15
commit 84483176f4
3 changed files with 77 additions and 2 deletions

View File

@@ -589,11 +589,13 @@ graph LR
Z[Zombie cleanup]
end
subgraph "Orchestrator handles"
subgraph "Orchestrator handles (planning only)"
MSG[Telegram announcements]
HB[Heartbeat scheduling]
DEC[Task prioritization]
M[Developer assignment<br/>junior/medior/senior]
READ[Code reading for context]
PLAN[Requirements & planning]
end
subgraph "Sub-agent sessions handle"
@@ -609,6 +611,8 @@ graph LR
end
```
**Key boundary:** The orchestrator is a planner and dispatcher — it never writes code. All implementation work (code edits, git operations, tests) must go through sub-agent sessions via the `task_create``work_start` pipeline. This ensures audit trails, tier selection, and QA review for every code change.
## IssueProvider abstraction
All issue tracker operations go through the `IssueProvider` interface, defined in `lib/providers/provider.ts`. This abstraction allows DevClaw to support multiple issue trackers without changing tool logic.