Doctrine
ORA-2026-0055: Two-stage decomposition
ORA-2026-0055: Two-stage decomposition
Principle
Decomposition happens twice, at different altitudes, by different roles:
1. STRAT slices the architecture — parallel subagents explore the problem space, surface gaps, and produce a set of mega-tickets. Each ticket covers one architectural slice (read-path, write-path, provisioning, integration, etc.). STRAT synthesizes and files.
2. Codex decomposes the implementation — the claiming Codex seat reads the intent, examines the code, and breaks the mega-ticket into sub-tasks as needed. STRAT does NOT prescribe sub-tasks.
Rule
Stage 1: STRAT architectural slicing
When a new campaign or multi-surface feature arrives:
1. STRAT spawns N parallel subagents (Opus), each covering one slice of the architecture (e.g., data layer, API layer, UI layer, test infrastructure). 2. Each subagent explores its slice: reads existing code, surfaces gaps, and drafts a ticket body with intent + user-value-closure. 3. STRAT synthesizes the subagent outputs into a dispatch set of mega-tickets. Each ticket is one architectural slice, not one implementation step.
The subagent outputs inform the ticket set — they don't become the tickets verbatim. STRAT edits for coherence, deduplicates, and ensures each ticket has a clear intent boundary.
Stage 2: Codex implementation decomposition
Each mega-ticket carries CLAIMER MAY DECOMPOSE (per ORA-2026-0054). The claiming Codex seat:
- Reads the intent and the code
- Decides whether to work the ticket as-is or break it into sub-tickets
- Files sub-tickets if needed and self-claims them
- Chooses file structure, API design, and implementation approach
STRAT does NOT pre-specify sub-tickets. The Codex seat has the code open — it has better information about how to decompose than STRAT does from the architecture level.
When to use each stage
| Situation | Stage 1 (STRAT slices) | Stage 2 (Codex decomposes) |
|---|---|---|
| New multi-surface feature | Yes — spawn subagents | Yes — each claimer decomposes |
| Single-surface bug fix | No — file one intent ticket | Maybe — claimer decides |
| Campaign with deadline | Yes — parallel exploration | Yes — claimers parallelize |
| Routine maintenance | No — file intent ticket directly | Unlikely — small scope |
Anti-patterns
- STRAT over-specifies sub-tasks — defeats the purpose. The Codex
- STRAT skips Stage 1 and dispatches blind — mega-tickets need
- Codex asks STRAT how to decompose — the claimer has the code.
seat will ignore or rewrite them once it sees the code.
architectural awareness. Without subagent exploration, gaps surface mid-implementation and block the claimer.
It should decide, not ask. (ORA-2026-0054: move authority to information.)
Evidence
Claude Camber session 2026-04-25: dispatched a 12-ticket campaign for Redline Mac. Used 4 Opus subagents in parallel to explore read-path, write-path scale-up, test-project provisioning, and Woodbery pilot integration. Each subagent surfaced gaps a single dispatcher would have missed. The resulting mega-tickets each carried CLAIMER MAY DECOMPOSE — largest ticket (CMB-1387, comments+photos) explicitly said "claimer MUST decompose into 5a-5f sub-tickets."
The two-stage pattern resolved the tension between "decompose with subagents" (STRAT exploring the problem space) and "let fleet decompose" (Codex deciding implementation steps). Both happen — at different altitudes.