What is a Unit?
A Unit is a cohesive, self-contained work element derived from an Intent. Units are loosely coupled and can be developed independently.A Unit is analogous to a Subdomain in DDD or an Epic in Scrum, but with clearer boundaries and AI-assisted decomposition.
Unit Characteristics
Cohesive
All elements within a unit serve a single, focused purpose
Self-Contained
Can be developed and tested independently
Loosely Coupled
Minimal dependencies on other units
Well-Bounded
Clear interfaces with the rest of the system
Example: Authentication Intent → Units
An “User Authentication System” intent might decompose into:Unit Structure
Each unit lives in its own directory:Unit Brief
Theunit-brief.md defines the unit:
Decomposing into Units
The Inception Agent helps decompose intents:1
Analyze Requirements
Review user stories and NFRs from the intent
2
Identify Boundaries
Find natural groupings based on cohesion
3
Propose Units
Suggest unit structure with rationale
4
Define Interfaces
Establish how units communicate
5
Map Dependencies
Identify unit interdependencies
Unit Dependencies
Units should be loosely coupled, but some dependencies are natural:Best Practices
Single Responsibility
Single Responsibility
Each unit should have one clear purpose. If a unit is doing too many things, split it.
Clear Boundaries
Clear Boundaries
Define explicit interfaces. Other units should only interact through these interfaces.
Independent Development
Independent Development
You should be able to work on a unit without constantly coordinating with other units.
Testable in Isolation
Testable in Isolation
A unit should be testable without requiring the full system.
Next Steps
Bolts
Learn how Units are implemented through Bolts
