Skip to content

Add feature discovery state, todo-driven execution, and fix feature template#139

Open
nullhack wants to merge 9 commits intomainfrom
fix/feature-discovery-and-todo-pattern
Open

Add feature discovery state, todo-driven execution, and fix feature template#139
nullhack wants to merge 9 commits intomainfrom
fix/feature-discovery-and-todo-pattern

Conversation

@nullhack
Copy link
Copy Markdown
Owner

@nullhack nullhack commented May 4, 2026

Summary

Three improvements to the temple8 framework:

1. Feature Discovery State (discovery-flow v5)

Problem: No state creates .feature file stubs. The planning-flow's feature-breakdown expects features/<feature_name>.feature as input but nothing produces it. The .feature template starts at Status: ELICITING but no step creates files with this status.

Fix: Add feature-discovery state to discovery-flow (after scope-boundary, before complete). The PO creates one .feature stub per delivery order step with title, description, coarse Rules (Business) bullet points, and Constraints. This is a mechanical materialization step — the stories were already identified during event storming, domain modeling, and scope boundary.

2. Planning-Flow Restructuring (planning-flow v6)

Changes:

  • Remove feature-specification state — per-feature interview replaced by story mapping in discovery
  • feature-breakdown now refines coarse Rules (Business) from discovery into full Rule blocks with INVEST
  • feature-selection picks by delivery order (first-run) or WSJF (subsequent)
  • Delete orphaned specify-feature skill

3. Todo-Driven State Execution + Template Fix

  • Add Todo-Driven State Execution section to AGENTS.md (procedural todo lists from state metadata)
  • Add TODO.md.template for state tracking
  • Fix @id indentation in feature template (same level as Example:)

Research Added

  • patton_2014.md — User Story Mapping (Patton, 2014)
  • cohn_2004.md — User Stories Applied (Cohn, 2004)

Files Changed

File Change
discovery-flow.yaml v5: add feature-discovery state
planning-flow.yaml v6: remove feature-specification, update transitions
feature-development-flow.yaml Update planning-flow version constraint
discover-features/SKILL.md New skill
feature-discovery.md New knowledge file
select-feature/SKILL.md Handle ELICITING features, delivery-order-first
break-down-feature/SKILL.md Start from coarse Rules, add interview references
wsjf.md First-run vs. subsequent selection
interview-techniques.md Story mapping replaces per-feature interview
specify-feature/SKILL.md Deleted (orphaned)
feature.feature.template Fix @id indentation
AGENTS.md Add Todo-Driven State Execution section
TODO.md.template New template
patton_2014.md, cohn_2004.md New research notes

…emplate

Feature Discovery (Patton 2014, Cohn 2004):
- Add feature-discovery state to discovery-flow after scope-boundary
  - PO maps bounded contexts + delivery order into .feature stubs
  - Produces title, description, coarse Rules (Business), Constraints
  - Features enter Status: ELICITING
- Remove feature-specification from planning-flow
  - Story mapping in discovery replaces per-feature interview
  - feature-breakdown now refines coarse Rules with INVEST
  - feature-selection picks by delivery order (first-run) or WSJF
- New: discover-features skill, feature-discovery knowledge
- New: patton_2014 and cohn_2004 research notes
- Update: wsjf.md (first-run vs subsequent selection)
- Update: interview-techniques.md (story mapping replaces per-feature interview)
- Delete: specify-feature skill (orphaned by planning-flow v6)

Todo-Driven State Execution:
- Add Todo-Driven State Execution section to AGENTS.md
- Add TODO.md.template for state tracking

Template fix:
- Fix @id indentation in feature template (same level as Example)

Flow version bumps:
- discovery-flow: 4.0.0 -> 5.0.0
- planning-flow: 5.0.0 -> 6.0.0
- feature-development-flow: planning-flow ^5 -> ^6
@nullhack nullhack force-pushed the fix/feature-discovery-and-todo-pattern branch from 3de521e to 8a1c10c Compare May 4, 2026 13:17
nullhack added 8 commits May 4, 2026 10:48
…-features skill

The frozen examples rule is process instruction, not feature content.
It belongs in the skill that writes Example blocks, not duplicated
across every .feature file.
- Rewrite feature-discovery.md: genuine analysis, not mechanical materialization
- Rewrite discover-features skill: analytical steps + targeted clarification
- Rewrite break-down-feature skill: adversarial analysis (pre-mortem, CIT, laddering)
- Remove story-mapping process from interview-techniques.md (wrong knowledge layer)
- Decouple moscow, pre-mortem, gherkin, invest, wsjf from state names
- Move first-run selection from wsjf.md to select-feature skill
- Fix stale bdd-features references in flowr-operations, flowr-spec
Step 9 reworded from 'Self-declare INVEST' with AGREE/DISAGREE template
to 'Evaluate each Rule against INVEST criteria' — matches the tone of
pre-mortem/CIT (clearly a think step, not a write step).
Same anti-pattern as break-down-feature step 9 — reworded from
'Self-declare' AGREE/DISAGREE to 'Evaluate' as a think step.
…seline

- gherkin.md: @id format uses 8-char hex as example, respects stakeholder format, assigned during example writing not baselining
- write-bdd-features: step 8 assigns @id only if not set, respects existing format
- confirm-baseline: step 1 verifies all Examples have @id tags
- template: @id examples use concrete hex values
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant