Choosing Your Methodology
LumenFlow is opinionated by default but flexible by design. The
software_delivery.methodology configuration lets you choose how strict your testing and
architecture practices should be.
Why Methodology Configuration?
Section titled “Why Methodology Configuration?”Different teams have different needs:
- Greenfield projects benefit from strict TDD and hexagonal architecture
- Legacy migrations may need a gentler test-after approach during transition
- Prototype/spike work may temporarily disable enforcement
Rather than fight the framework, configure it to match your current situation.
Testing Methodologies
Section titled “Testing Methodologies”TDD (Default)
Section titled “TDD (Default)”Test-Driven Development: write tests before implementation.
Characteristics:
- Tests written BEFORE implementation code
- RED-GREEN-REFACTOR cycle enforced in agent prompts
- 90% coverage threshold (blocks on failure)
- Automated test diff evidence defaults to
blockforfeatureandbugWUs
Best for:
- New features with clear requirements
- Teams committed to test-first development
- Production-critical code paths
Test-After
Section titled “Test-After”Write implementation first, then add tests as the change stabilizes.
Characteristics:
- Implementation can proceed without tests
- 70% coverage threshold (warns but does not block)
- Automated test diff evidence defaults to
off - Test gates still run when configured; add tests as you touch code
- More flexible for exploratory work
Best for:
- Legacy code migration
- Teams transitioning to TDD
- Rapid prototyping with deferred test coverage
Minimal testing enforcement.
Characteristics:
- No testing methodology in agent prompts
- 0% coverage threshold (no enforcement)
- Automated test diff evidence defaults to
off - Tests optional but still recommended
Best for:
- Spike/research work
- Documentation-only projects
- Non-production experiments
Architecture Methodologies
Section titled “Architecture Methodologies”Hexagonal (Default)
Section titled “Hexagonal (Default)”Ports and Adapters architecture with strict dependency rules.
Characteristics:
- Agent prompts include hexagonal architecture guidance
- Ports-first development encouraged
- Application layer never imports infrastructure
Best for:
- Complex domain logic
- Projects requiring extensive testing
- Teams familiar with DDD patterns
Layered
Section titled “Layered”Traditional layered architecture.
Characteristics:
- Simpler three-tier structure guidance
- Less strict about dependency direction
- Easier to understand for newcomers
Best for:
- Simpler CRUD applications
- Teams new to architecture patterns
- Rapid development without complex domain logic
No architecture guidance.
Characteristics:
- No architecture-specific prompting
- Full flexibility in code organization
Best for:
- Small scripts and utilities
- Projects with existing architecture
- Teams with strong internal conventions
Overriding Template Defaults
Section titled “Overriding Template Defaults”Each methodology sets sensible defaults, but you can fine-tune them:
Override Fields
Section titled “Override Fields”| Field | Description |
|---|---|
coverage_threshold | Minimum coverage percentage (0-100) |
coverage_mode | block (fail gates), warn, or off |
Methodology vs Gates
Section titled “Methodology vs Gates”The methodology section gives you defaults. For fine-grained control, tune
software_delivery.gates directly:
Precedence (highest to lowest):
- CLI flags (e.g.,
--coverage-mode=warn) - Explicit
gates.*configuration methodology.overrides- Methodology template defaults
Automated Test Diff Evidence Defaults
Section titled “Automated Test Diff Evidence Defaults”Methodology and the automated test diff gate are related, but they are not the same thing.
software_delivery.methodology.testing chooses the default behavior for
software_delivery.gates.tdd_diff_evidence:
tdd=>mode: blocktest-after=>mode: offnone=>mode: off
Teams can then override the gate directly if they want changed-test evidence for only some WU types or only some paths.
Migration Examples
Section titled “Migration Examples”From Strict TDD to Test-After
Section titled “From Strict TDD to Test-After”Gradually relaxing enforcement for a legacy migration:
Enterprise Strictness
Section titled “Enterprise Strictness”Maximum enforcement for regulated environments:
Minimal Setup for Prototypes
Section titled “Minimal Setup for Prototypes”Quick exploration without ceremony:
Summary
Section titled “Summary”| Methodology | Coverage | Coverage Mode | Test Diff Evidence Default | Use Case |
|---|---|---|---|---|
tdd | 90% | block | block | Production code |
test-after | 70% | warn | off | Legacy migration |
none | 0% | off | off | Spikes and prototypes |
Next Steps
Section titled “Next Steps”- Configuration Reference - All configuration options
- Gates Reference - Gate commands and flags
- Team Workflow - Multi-developer patterns