@curdx/flow 1.1.3 → 1.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +25 -0
- package/.claude-plugin/plugin.json +43 -0
- package/CHANGELOG.md +279 -0
- package/agent-preamble/preamble.md +214 -0
- package/agents/flow-adversary.md +216 -0
- package/agents/flow-architect.md +190 -0
- package/agents/flow-debugger.md +325 -0
- package/agents/flow-edge-hunter.md +273 -0
- package/agents/flow-executor.md +246 -0
- package/agents/flow-planner.md +204 -0
- package/agents/flow-product-designer.md +146 -0
- package/agents/flow-qa-engineer.md +276 -0
- package/agents/flow-researcher.md +155 -0
- package/agents/flow-reviewer.md +280 -0
- package/agents/flow-security-auditor.md +398 -0
- package/agents/flow-triage-analyst.md +290 -0
- package/agents/flow-ui-researcher.md +227 -0
- package/agents/flow-ux-designer.md +247 -0
- package/agents/flow-verifier.md +283 -0
- package/agents/persona-amelia.md +128 -0
- package/agents/persona-david.md +141 -0
- package/agents/persona-emma.md +179 -0
- package/agents/persona-john.md +105 -0
- package/agents/persona-mary.md +95 -0
- package/agents/persona-oliver.md +136 -0
- package/agents/persona-rachel.md +126 -0
- package/agents/persona-serena.md +175 -0
- package/agents/persona-winston.md +117 -0
- package/bin/curdx-flow.js +5 -2
- package/cli/init.js +18 -2
- package/cli/install.js +44 -5
- package/commands/audit.md +170 -0
- package/commands/autoplan.md +184 -0
- package/commands/debug.md +199 -0
- package/commands/design.md +155 -0
- package/commands/discuss.md +162 -0
- package/commands/doctor.md +124 -0
- package/commands/fast.md +128 -0
- package/commands/help.md +119 -0
- package/commands/implement.md +381 -0
- package/commands/index.md +261 -0
- package/commands/init.md +105 -0
- package/commands/install-deps.md +128 -0
- package/commands/party.md +241 -0
- package/commands/plan-ceo.md +117 -0
- package/commands/plan-design.md +107 -0
- package/commands/plan-dx.md +104 -0
- package/commands/plan-eng.md +108 -0
- package/commands/qa.md +118 -0
- package/commands/requirements.md +146 -0
- package/commands/research.md +141 -0
- package/commands/review.md +168 -0
- package/commands/security.md +109 -0
- package/commands/sketch.md +118 -0
- package/commands/spec.md +135 -0
- package/commands/spike.md +181 -0
- package/commands/start.md +189 -0
- package/commands/status.md +139 -0
- package/commands/switch.md +95 -0
- package/commands/tasks.md +189 -0
- package/commands/triage.md +160 -0
- package/commands/verify.md +124 -0
- package/gates/adversarial-review-gate.md +219 -0
- package/gates/coverage-audit-gate.md +184 -0
- package/gates/devex-gate.md +255 -0
- package/gates/edge-case-gate.md +194 -0
- package/gates/karpathy-gate.md +130 -0
- package/gates/security-gate.md +218 -0
- package/gates/tdd-gate.md +188 -0
- package/gates/verification-gate.md +183 -0
- package/hooks/hooks.json +56 -0
- package/hooks/scripts/fail-tracker.sh +31 -0
- package/hooks/scripts/inject-karpathy.sh +52 -0
- package/hooks/scripts/quick-mode-guard.sh +64 -0
- package/hooks/scripts/session-start.sh +76 -0
- package/hooks/scripts/stop-watcher.sh +166 -0
- package/knowledge/atomic-commits.md +262 -0
- package/knowledge/epic-decomposition.md +307 -0
- package/knowledge/execution-strategies.md +278 -0
- package/knowledge/karpathy-guidelines.md +219 -0
- package/knowledge/planning-reviews.md +211 -0
- package/knowledge/poc-first-workflow.md +227 -0
- package/knowledge/spec-driven-development.md +183 -0
- package/knowledge/systematic-debugging.md +384 -0
- package/knowledge/two-stage-review.md +233 -0
- package/knowledge/wave-execution.md +387 -0
- package/package.json +13 -2
- package/schemas/config.schema.json +100 -0
- package/schemas/spec-frontmatter.schema.json +42 -0
- package/schemas/spec-state.schema.json +117 -0
- package/templates/CONTEXT.md.tmpl +53 -0
- package/templates/PROJECT.md.tmpl +59 -0
- package/templates/ROADMAP.md.tmpl +50 -0
- package/templates/STATE.md.tmpl +49 -0
- package/templates/config.json.tmpl +48 -0
- package/templates/design.md.tmpl +163 -0
- package/templates/progress.md.tmpl +58 -0
- package/templates/requirements.md.tmpl +94 -0
- package/templates/research.md.tmpl +114 -0
- package/templates/tasks.md.tmpl +141 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Progress Log: {{SPEC_NAME}}
|
|
2
|
+
|
|
3
|
+
> Living document. The agent appends here every time a task is completed / a gotcha is discovered / a decision is made.
|
|
4
|
+
>
|
|
5
|
+
> On resume after an interruption, the agent reads this file to rebuild context.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Reality Check (current actual state)
|
|
10
|
+
|
|
11
|
+
<!-- At the start of each session, the agent reconciles: expected state vs actual state -->
|
|
12
|
+
|
|
13
|
+
**Last updated**: {{CREATED_DATE}}
|
|
14
|
+
|
|
15
|
+
- Current phase: research
|
|
16
|
+
- Current task: N/A (tasks phase not yet entered)
|
|
17
|
+
- Blockers: none
|
|
18
|
+
|
|
19
|
+
## Completed Tasks
|
|
20
|
+
|
|
21
|
+
<!-- List of completed tasks -->
|
|
22
|
+
|
|
23
|
+
_(not yet started)_
|
|
24
|
+
|
|
25
|
+
## Learnings
|
|
26
|
+
|
|
27
|
+
<!-- Things the agent discovered during execution that are worth remembering (useful for similar future situations) -->
|
|
28
|
+
|
|
29
|
+
### Gotchas
|
|
30
|
+
_(none)_
|
|
31
|
+
|
|
32
|
+
### Patterns that worked
|
|
33
|
+
_(none)_
|
|
34
|
+
|
|
35
|
+
### Approaches that didn't work
|
|
36
|
+
_(none)_
|
|
37
|
+
|
|
38
|
+
## Decisions Made Here
|
|
39
|
+
|
|
40
|
+
<!-- Technical decisions made within this spec (major decisions should be synced to .flow/STATE.md) -->
|
|
41
|
+
|
|
42
|
+
_(none)_
|
|
43
|
+
|
|
44
|
+
## Next Steps
|
|
45
|
+
|
|
46
|
+
<!-- What to do next. Must be filled in before ending the session. -->
|
|
47
|
+
|
|
48
|
+
- [ ] Enter the research phase: run `/flow-research`
|
|
49
|
+
|
|
50
|
+
## Questions for User
|
|
51
|
+
|
|
52
|
+
<!-- Questions that need user answers -->
|
|
53
|
+
|
|
54
|
+
_(none)_
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
_Spec initialized on {{CREATED_DATE}}._
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
spec: {{SPEC_NAME}}
|
|
3
|
+
phase: requirements
|
|
4
|
+
created: {{CREATED_DATE}}
|
|
5
|
+
version: 1.0
|
|
6
|
+
status: in_progress
|
|
7
|
+
depends_on: research.md
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Requirements Spec: {{SPEC_NAME}}
|
|
11
|
+
|
|
12
|
+
> **Recommended direction from the research phase**: {{RESEARCH_CONCLUSION}}
|
|
13
|
+
>
|
|
14
|
+
> This phase: translate "technically feasible" into "concrete behaviors users benefit from".
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## User Stories
|
|
19
|
+
|
|
20
|
+
<!-- Each story follows the format: As X, I want Y, so that Z -->
|
|
21
|
+
|
|
22
|
+
### US-01: ...
|
|
23
|
+
**As** [user role],
|
|
24
|
+
**I want** [capability],
|
|
25
|
+
**so that** [business value].
|
|
26
|
+
|
|
27
|
+
**Acceptance criteria**:
|
|
28
|
+
- AC-1.1: [verifiable behavior]
|
|
29
|
+
- AC-1.2: [verifiable behavior]
|
|
30
|
+
- AC-1.3: [edge case handling]
|
|
31
|
+
|
|
32
|
+
### US-02: ...
|
|
33
|
+
<!-- ... -->
|
|
34
|
+
|
|
35
|
+
## Functional Requirements
|
|
36
|
+
|
|
37
|
+
<!-- FR-NN format. Each FR must be a verifiable statement of "the system must X". -->
|
|
38
|
+
|
|
39
|
+
- **FR-01**: The system must ...
|
|
40
|
+
- **FR-02**: The system must ...
|
|
41
|
+
- **FR-03**: ...
|
|
42
|
+
|
|
43
|
+
## Non-Functional Requirements
|
|
44
|
+
|
|
45
|
+
### Performance
|
|
46
|
+
- **NFR-P-01**: [e.g. P95 response time < 200ms]
|
|
47
|
+
- **NFR-P-02**: ...
|
|
48
|
+
|
|
49
|
+
### Security
|
|
50
|
+
- **NFR-S-01**: ...
|
|
51
|
+
- **NFR-S-02**: ...
|
|
52
|
+
|
|
53
|
+
### Maintainability
|
|
54
|
+
- **NFR-M-01**: ...
|
|
55
|
+
|
|
56
|
+
### Compatibility
|
|
57
|
+
- **NFR-C-01**: ...
|
|
58
|
+
|
|
59
|
+
## Edge Cases and Error Handling
|
|
60
|
+
|
|
61
|
+
<!-- Must be explicit: what happens on failure? how are abnormal inputs handled? -->
|
|
62
|
+
|
|
63
|
+
| Scenario | Expected behavior |
|
|
64
|
+
|-----|--------|
|
|
65
|
+
| Network disconnected | ... |
|
|
66
|
+
| Database exception | ... |
|
|
67
|
+
| Invalid input | ... |
|
|
68
|
+
| Concurrent conflict | ... |
|
|
69
|
+
|
|
70
|
+
## Out of Scope
|
|
71
|
+
|
|
72
|
+
<!-- Karpathy principle 2: simplicity first. Explicitly list "not this time" to prevent scope creep. -->
|
|
73
|
+
|
|
74
|
+
- ✗ Feature A — deferred to the next version
|
|
75
|
+
- ✗ Feature B — out of budget
|
|
76
|
+
- ✗ Feature C — needs its own spec
|
|
77
|
+
|
|
78
|
+
## Success Metrics
|
|
79
|
+
|
|
80
|
+
<!-- Must be quantifiable -->
|
|
81
|
+
|
|
82
|
+
- Metric 1: [e.g. user signup completion rate > 80%]
|
|
83
|
+
- Metric 2: [e.g. complaint rate < 1%]
|
|
84
|
+
|
|
85
|
+
## Open Questions
|
|
86
|
+
|
|
87
|
+
<!-- Questions that need user answers -->
|
|
88
|
+
|
|
89
|
+
1. **Question 1**: ...
|
|
90
|
+
2. **Question 2**: ...
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
_Generated by flow-product-designer agent on {{CREATED_DATE}}. After user review, proceed to the design phase._
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
---
|
|
2
|
+
spec: {{SPEC_NAME}}
|
|
3
|
+
phase: research
|
|
4
|
+
created: {{CREATED_DATE}}
|
|
5
|
+
version: 1.0
|
|
6
|
+
status: in_progress
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Research Report: {{SPEC_NAME}}
|
|
10
|
+
|
|
11
|
+
> **Goal**: {{SPEC_GOAL}}
|
|
12
|
+
>
|
|
13
|
+
> Output of this phase. Subsequent requirements / design / tasks are all based on the conclusions of this document.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Prior Experience (from claude-mem)
|
|
18
|
+
|
|
19
|
+
<!--
|
|
20
|
+
flow-researcher first calls mcp__claude_mem__search to retrieve relevant history.
|
|
21
|
+
If there are relevant observations, summarize them here; if not, write "(first research on this topic)".
|
|
22
|
+
-->
|
|
23
|
+
|
|
24
|
+
{{CLAUDE_MEM_FINDINGS}}
|
|
25
|
+
|
|
26
|
+
## Problem Understanding
|
|
27
|
+
|
|
28
|
+
<!-- Translate the user's goal into technical language. Explicitly list assumptions. -->
|
|
29
|
+
|
|
30
|
+
### Core Problem
|
|
31
|
+
<!-- One-line description of what we are solving -->
|
|
32
|
+
|
|
33
|
+
### Explicit Assumptions
|
|
34
|
+
<!-- Karpathy principle 1: think before coding. List all assumptions for the user to confirm -->
|
|
35
|
+
- Assumption 1: ...
|
|
36
|
+
- Assumption 2: ...
|
|
37
|
+
|
|
38
|
+
### Known Constraints
|
|
39
|
+
- Tech stack:
|
|
40
|
+
- Budget / time:
|
|
41
|
+
- Team capability:
|
|
42
|
+
- Compliance requirements:
|
|
43
|
+
|
|
44
|
+
## Technical Solution Space
|
|
45
|
+
|
|
46
|
+
<!-- List 2-3 possible approaches with their pros and cons. Pick one in the design phase. -->
|
|
47
|
+
|
|
48
|
+
### Option A: ...
|
|
49
|
+
- **Pros**:
|
|
50
|
+
- **Cons**:
|
|
51
|
+
- **Complexity**: low / medium / high
|
|
52
|
+
- **Docs (context7 queries)**:
|
|
53
|
+
- `library-name@version`: ...
|
|
54
|
+
|
|
55
|
+
### Option B: ...
|
|
56
|
+
- **Pros**:
|
|
57
|
+
- **Cons**:
|
|
58
|
+
- **Complexity**: low / medium / high
|
|
59
|
+
|
|
60
|
+
### Option C (optional): ...
|
|
61
|
+
|
|
62
|
+
## Existing Code Analysis
|
|
63
|
+
|
|
64
|
+
<!-- Codebase scan results. Which existing modules can be reused? Which need to be new? -->
|
|
65
|
+
|
|
66
|
+
### Reusable Modules
|
|
67
|
+
- `path/to/existing-module.ts` — ...
|
|
68
|
+
|
|
69
|
+
### Modules to Create
|
|
70
|
+
- `path/to/new-module.ts` — ...
|
|
71
|
+
|
|
72
|
+
### Modules to Modify
|
|
73
|
+
- `path/to/modify.ts` — ...
|
|
74
|
+
|
|
75
|
+
## Latest Documentation Summary (context7)
|
|
76
|
+
|
|
77
|
+
<!-- Latest APIs / best practices found by flow-researcher via mcp__context7__* -->
|
|
78
|
+
|
|
79
|
+
### {{LIBRARY_1}}
|
|
80
|
+
- Version:
|
|
81
|
+
- Relevant APIs:
|
|
82
|
+
- Gotchas / changes:
|
|
83
|
+
|
|
84
|
+
### {{LIBRARY_2}}
|
|
85
|
+
- ...
|
|
86
|
+
|
|
87
|
+
## Feasibility Assessment
|
|
88
|
+
|
|
89
|
+
<!-- Explicitly answer: can this be done? how hard is it? -->
|
|
90
|
+
|
|
91
|
+
- **Feasibility**: ✓ feasible / ⚠ risky / ✗ not recommended
|
|
92
|
+
- **Estimated complexity**: 1-10
|
|
93
|
+
- **Main risks**:
|
|
94
|
+
- Risk 1: ...
|
|
95
|
+
- Risk 2: ...
|
|
96
|
+
|
|
97
|
+
## Recommended Direction
|
|
98
|
+
|
|
99
|
+
<!-- Research conclusion: which option is recommended and why. If multiple options need discussion, explain here. -->
|
|
100
|
+
|
|
101
|
+
**Recommendation**: Option ?
|
|
102
|
+
**Rationale**:
|
|
103
|
+
**To confirm in the design phase**:
|
|
104
|
+
|
|
105
|
+
## Open Questions
|
|
106
|
+
|
|
107
|
+
<!-- Questions the research phase couldn't answer, to be deferred to later phases or asked of the user -->
|
|
108
|
+
|
|
109
|
+
1. ...
|
|
110
|
+
2. ...
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
_Generated by flow-researcher agent on {{CREATED_DATE}}. Subsequent phases continue from this document._
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
---
|
|
2
|
+
spec: {{SPEC_NAME}}
|
|
3
|
+
phase: tasks
|
|
4
|
+
created: {{CREATED_DATE}}
|
|
5
|
+
version: 1.0
|
|
6
|
+
status: in_progress
|
|
7
|
+
depends_on: design.md
|
|
8
|
+
task_size: fine
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Task Breakdown: {{SPEC_NAME}}
|
|
12
|
+
|
|
13
|
+
> POC-First 5 Phases: **work → refactor → test → quality gates → PR lifecycle**.
|
|
14
|
+
>
|
|
15
|
+
> Each task includes: `Do`, `Files`, `Done-when`, `Verify`, `Commit`. Verifiable via automation.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Marker Rules
|
|
20
|
+
|
|
21
|
+
- `[ ]` TODO / `[x]` done
|
|
22
|
+
- `[P]` parallel-safe (can be dispatched in parallel within the same wave)
|
|
23
|
+
- `[VERIFY]` quality checkpoint (run by the flow-verifier agent)
|
|
24
|
+
- `[SEQUENTIAL]` must be serial (breaks the parallel group)
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Phase 1: Make It Work (POC)
|
|
29
|
+
|
|
30
|
+
> Goal: get it running end-to-end. Hardcoding is acceptable; skip tests.
|
|
31
|
+
|
|
32
|
+
- [ ] **1.1** [P] Initialize module skeleton
|
|
33
|
+
- **Do**: create `src/{{MODULE}}/` directory, add `index.ts`, `types.ts`
|
|
34
|
+
- **Files**: `src/{{MODULE}}/index.ts`, `src/{{MODULE}}/types.ts`
|
|
35
|
+
- **Done when**: directory exists, `import {} from './{{MODULE}}'` does not error
|
|
36
|
+
- **Verify**: `npx tsc --noEmit`
|
|
37
|
+
- **Commit**: `feat({{MODULE}}): initialize module skeleton`
|
|
38
|
+
- _Requirements_: FR-01
|
|
39
|
+
|
|
40
|
+
- [ ] **1.2** [P] ...
|
|
41
|
+
- **Do**: ...
|
|
42
|
+
- **Files**: ...
|
|
43
|
+
- **Done when**: ...
|
|
44
|
+
- **Verify**: ...
|
|
45
|
+
- **Commit**: ...
|
|
46
|
+
- _Requirements_: ...
|
|
47
|
+
- _Design_: AD-01
|
|
48
|
+
|
|
49
|
+
- [ ] **1.3** [VERIFY] End-to-end POC verification
|
|
50
|
+
- **Do**: run the happy path manually, confirm the core scenario works
|
|
51
|
+
- **Verify**: `curl http://localhost:3000/... | jq`
|
|
52
|
+
- **Done when**: returns expected data (edge cases may still be wrong)
|
|
53
|
+
|
|
54
|
+
## Phase 2: Refactoring
|
|
55
|
+
|
|
56
|
+
> Goal: clean up the code structure. Behavior unchanged.
|
|
57
|
+
|
|
58
|
+
- [ ] **2.1** Extract duplicated logic
|
|
59
|
+
- **Do**: ...
|
|
60
|
+
- **Verify**: `npx tsc --noEmit && git diff --stat`
|
|
61
|
+
- **Commit**: `refactor({{MODULE}}): extract common logic`
|
|
62
|
+
|
|
63
|
+
- [ ] **2.2** [VERIFY] Refactor does not break behavior
|
|
64
|
+
- **Verify**: rerun the manual test from Phase 1
|
|
65
|
+
- **Done when**: all outputs match
|
|
66
|
+
|
|
67
|
+
## Phase 3: Testing (TDD red / green / yellow)
|
|
68
|
+
|
|
69
|
+
> Rule: tests first. Let the test fail first (RED), then implement (GREEN), then clean up (YELLOW).
|
|
70
|
+
|
|
71
|
+
- [ ] **3.1** [RED] Write failing tests — unit
|
|
72
|
+
- **Do**: write unit tests for core functions
|
|
73
|
+
- **Files**: `src/{{MODULE}}/*.test.ts`
|
|
74
|
+
- **Verify**: `npm test -- src/{{MODULE}}` — expected to fail
|
|
75
|
+
- **Commit**: `test({{MODULE}}): red - add unit tests for core logic`
|
|
76
|
+
|
|
77
|
+
- [ ] **3.2** [GREEN] Make tests pass
|
|
78
|
+
- **Do**: fix the implementation so the tests from 3.1 pass
|
|
79
|
+
- **Verify**: `npm test -- src/{{MODULE}}` — all green
|
|
80
|
+
- **Commit**: `feat({{MODULE}}): green - satisfy unit tests`
|
|
81
|
+
|
|
82
|
+
- [ ] **3.3** [YELLOW] Refactor and clean up
|
|
83
|
+
- **Do**: clean up the implementation, tests still pass
|
|
84
|
+
- **Commit**: `refactor({{MODULE}}): yellow - clean implementation`
|
|
85
|
+
|
|
86
|
+
- [ ] **3.4** [RED → GREEN → YELLOW] Integration tests
|
|
87
|
+
- <!-- Repeat the TDD cycle -->
|
|
88
|
+
|
|
89
|
+
- [ ] **3.5** [VERIFY] Coverage check
|
|
90
|
+
- **Verify**: `npm test -- --coverage` — core logic > 80%
|
|
91
|
+
|
|
92
|
+
## Phase 4: Quality Gates
|
|
93
|
+
|
|
94
|
+
> Full local checks. Last gate before CI.
|
|
95
|
+
|
|
96
|
+
- [ ] **4.1** TypeScript strict check
|
|
97
|
+
- **Verify**: `npx tsc --strict --noEmit` — 0 errors
|
|
98
|
+
- **Commit**: `chore({{MODULE}}): tsc strict passes`
|
|
99
|
+
|
|
100
|
+
- [ ] **4.2** Lint
|
|
101
|
+
- **Verify**: `npx eslint src/{{MODULE}}` — 0 errors, 0 warnings
|
|
102
|
+
|
|
103
|
+
- [ ] **4.3** All tests pass
|
|
104
|
+
- **Verify**: `npm test` — all green
|
|
105
|
+
|
|
106
|
+
- [ ] **4.4** [VERIFY] Final health check
|
|
107
|
+
- **Do**: flow-verifier agent performs goal-driven reverse verification
|
|
108
|
+
- **Done when**: every FR-XX and AC-X.Y has a corresponding automated verification
|
|
109
|
+
|
|
110
|
+
## Phase 5: PR Lifecycle
|
|
111
|
+
|
|
112
|
+
- [ ] **5.1** Generate PR
|
|
113
|
+
- **Do**: `/flow-ship` creates the PR
|
|
114
|
+
- **Done when**: PR URL returned, description is clear
|
|
115
|
+
|
|
116
|
+
- [ ] **5.2** Respond to review feedback
|
|
117
|
+
- **Do**: iterate until approved
|
|
118
|
+
- **Verify**: CI all green
|
|
119
|
+
|
|
120
|
+
- [ ] **5.3** Merge
|
|
121
|
+
- **Do**: `/flow-land`
|
|
122
|
+
- **Verify**: the main branch contains all commits for this spec
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Coverage Audit
|
|
127
|
+
|
|
128
|
+
<!-- Final step for flow-planner: confirm every FR / AC / AD / D has a corresponding task -->
|
|
129
|
+
|
|
130
|
+
| Requirement ID | Task(s) | Status |
|
|
131
|
+
|--------|---------|------|
|
|
132
|
+
| FR-01 | 1.2, 3.1 | ✓ |
|
|
133
|
+
| FR-02 | ... | ⚠ uncovered — needs adding |
|
|
134
|
+
| AD-01 | 1.1 | ✓ |
|
|
135
|
+
| D-05 (STATE.md) | ... | ✓ |
|
|
136
|
+
|
|
137
|
+
**Uncovered items must be handled**: add a task or document the deferral reason in STATE.md.
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
_Generated by flow-planner agent on {{CREATED_DATE}}. N tasks total, estimated X hours._
|