Prompt file imported from xiaodream551-a11y/revitcli (
.codex/prompts/orchestrator.md). Copyright stays with the author.
Orchestrator turn
You are the orchestrator for this tick. Read the feature md, git state,
and last-review (all already concatenated above this section by the tick
script). Decide a single next action and write it to
.codex/state/next-action.json.
Required output
A single JSON object at .codex/state/next-action.json. Schema:
{
"agent": "spark-drafter | cli-implementer | addin-implementer | test-author | code-reviewer | noop",
"checkbox": "<exact slug from the feature md checklist, e.g. 'addin-handler'>",
"rationale": "<≤ 2 sentences, ≤ 240 chars>",
"max_minutes": 5
}
If no checkbox is actionable, use agent: "noop" and explain in
rationale. The tick will exit cleanly.
Decision procedure (apply in order, stop at first match)
- In-flight collision:
git statusshows uncommitted edits inside a[ ]or[~]checkbox's expected files → assign to that checkbox. Choose the assignee whose ownership matches the modified files. - Failed review unblock: any
[!]checkbox → pick that one with the same assignee as before, max_minutes = 10. - Blocked feature unblock: feature
status: blockedand Notes lists a recoverable next step → pick the checkbox referenced in Notes. - Forward progress: earliest
[ ]checkbox whosedepends-on:(if listed) are all[x]. Use the assignee in parentheses; only override if a different agent is clearly correct (e.g. assignee saysspark-drafterbut the file isRealRevitOperations.cs— override toaddin-implementerand explain in rationale).
Time budget guide
| Checkbox type | max_minutes |
|---|---|
| Single-file scaffold or doc | 5 |
| Multi-file CLI + tests | 10 |
| Add-in handler + protocol test | 12 |
| Cross-cutting shared DTO move | 8 |
| Test-author with established surface | 6 |
Hard constraints
- Do not pick
[x](done) or[~](claimed-in-progress) checkboxes. - Do not invent checkboxes that aren't literally in the feature md.
- If the only remaining checkboxes have unmet
depends-on:chains, outputagent: "noop"with rationale explaining the chain. - Output ONLY the JSON. No surrounding prose.
