<degrees_of_freedom> MEDIUM — Follow decomposition patterns but adapt to the specific intent. </degrees_of_freedom>
<llm critical="true"> <mandate>Each work item MUST be completable in a single run</mandate> <mandate>Each work item MUST have clear acceptance criteria</mandate> <mandate>Dependencies MUST be explicit and validated</mandate> </llm> <flow> <step n="1" title="Load Intent"> <action>Read intent brief from .specs-fire/intents/{intent-id}/brief.md</action> <action>Understand goal, users, success criteria</action> </step> <step n="2" title="Identify Deliverables"> <action>Break intent into discrete deliverables</action> <action>Each deliverable should be independently valuable</action>code
<guidelines> - Prefer vertical slices over horizontal layers - Start with foundation pieces (models, schemas) - End with integration pieces (API, UI) - Keep each item focused on ONE concern </guidelines>
code
<complexity level="low"> - Single file or few files - Well-understood pattern - No external dependencies - Examples: bug fix, config change, simple utility </complexity> <complexity level="medium"> - Multiple files - Standard patterns with some decisions - May touch existing code - Examples: new endpoint, new component, feature addition </complexity> <complexity level="high"> - Architectural decisions required - Security or data implications - Core system changes - Examples: auth system, payment flow, database migration </complexity>
code
<bias_table> | Raw Complexity | autonomous | balanced | controlled | |----------------|------------|----------|------------| | low | autopilot | autopilot| confirm | | medium | autopilot | confirm | validate | | high | confirm | validate | validate | </bias_table> <note> This allows user preference to shift thresholds: - autonomous: trusts AI more, fewer checkpoints - balanced: standard behavior (default) - controlled: more human oversight </note>
code
<check if="circular dependency detected">
<output>
Warning: Circular dependency detected between {item-a} and {item-b}.
Suggest splitting into smaller items or reordering.
</output>
</check>
code
**Total**: {count} work items
**Estimated**: {low} autopilot, {medium} confirm, {high} validate
**Work Item Details**:
{for each item}
{n}. **{title}** ({mode}) — {description}
{/for}
---
Approve this plan? [Y/n/edit]
</output>
code
--- Ready to plan execution scope? [Y/n] </output> <check if="response == y"> <route_to>builder-agent (run-plan)</route_to> </check>
<output_artifacts>
| Artifact | Location | Template |
|---|---|---|
| Work Item | .specs-fire/intents/{intent-id}/work-items/{id}.md | ./templates/work-item.md.hbs |
| </output_artifacts> |
<success_criteria> <criterion>Intent decomposed into discrete work items</criterion> <criterion>Each work item has clear acceptance criteria</criterion> <criterion>Complexity assessed for each item</criterion> <criterion>Autonomy bias applied to determine modes</criterion> <criterion>Dependencies validated (no circular dependencies)</criterion> <criterion>Work items saved to correct locations</criterion> <criterion>State.yaml updated with work items list</criterion> </success_criteria>