@curdx/flow 2.0.0-beta.5 → 2.0.0-beta.7
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 +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/agent-preamble/preamble.md +17 -19
- package/agents/flow-adversary.md +29 -55
- package/agents/flow-architect.md +18 -17
- package/agents/flow-debugger.md +2 -2
- package/agents/flow-edge-hunter.md +3 -3
- package/agents/flow-executor.md +3 -3
- package/agents/flow-planner.md +18 -14
- package/agents/flow-product-designer.md +9 -8
- package/agents/flow-qa-engineer.md +1 -1
- package/agents/flow-researcher.md +12 -13
- package/agents/flow-reviewer.md +1 -1
- package/agents/flow-security-auditor.md +1 -1
- package/agents/flow-triage-analyst.md +1 -1
- package/agents/flow-ui-researcher.md +2 -2
- package/agents/flow-ux-designer.md +1 -1
- package/agents/flow-verifier.md +1 -1
- package/commands/fast.md +1 -1
- package/commands/implement.md +1 -1
- package/commands/review.md +5 -5
- package/commands/spec.md +1 -1
- package/gates/adversarial-review-gate.md +19 -19
- package/gates/devex-gate.md +4 -5
- package/gates/edge-case-gate.md +1 -1
- package/knowledge/execution-strategies.md +6 -5
- package/knowledge/spec-driven-development.md +8 -7
- package/knowledge/two-stage-review.md +4 -3
- package/package.json +1 -1
- package/templates/config.json.tmpl +1 -1
- package/templates/design.md.tmpl +32 -112
- package/templates/requirements.md.tmpl +25 -43
- package/templates/research.md.tmpl +37 -68
- package/templates/tasks.md.tmpl +27 -84
|
@@ -10,105 +10,74 @@ status: in_progress
|
|
|
10
10
|
|
|
11
11
|
> **Goal**: {{SPEC_GOAL}}
|
|
12
12
|
>
|
|
13
|
-
>
|
|
13
|
+
> **Fill only the sections that carry real information.** For a well-understood feature on a known stack, research legitimately compresses to: goal, one recommended direction, known constraints. Delete sections whose honest content would be "N/A" or "first time, nothing to fetch". Padding this document with "TBD" is worse than omitting sections.
|
|
14
14
|
|
|
15
15
|
---
|
|
16
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
|
-
-->
|
|
17
|
+
## Prior Experience (from claude-mem, if relevant)
|
|
23
18
|
|
|
24
19
|
{{CLAUDE_MEM_FINDINGS}}
|
|
25
20
|
|
|
26
|
-
|
|
21
|
+
<!-- Delete this section if there are no relevant prior observations. -->
|
|
27
22
|
|
|
28
|
-
|
|
23
|
+
## Problem Understanding
|
|
29
24
|
|
|
30
25
|
### Core Problem
|
|
31
|
-
<!-- One
|
|
26
|
+
<!-- One sentence. What are we solving? -->
|
|
32
27
|
|
|
33
28
|
### Explicit Assumptions
|
|
34
|
-
<!--
|
|
29
|
+
<!-- Only real assumptions that matter. Don't list "assumption: we will write code." -->
|
|
30
|
+
|
|
35
31
|
- Assumption 1: ...
|
|
36
|
-
- Assumption 2: ...
|
|
37
32
|
|
|
38
33
|
### Known Constraints
|
|
39
|
-
|
|
40
|
-
- Budget / time:
|
|
41
|
-
- Team capability:
|
|
42
|
-
- Compliance requirements:
|
|
43
|
-
|
|
44
|
-
## Technical Solution Space
|
|
34
|
+
<!-- Include only the constraints that actually shape the solution. -->
|
|
45
35
|
|
|
46
|
-
|
|
36
|
+
- Tech stack: ...
|
|
37
|
+
- Time budget: ...
|
|
38
|
+
- (Compliance, team capability, etc — only if they constrain this feature)
|
|
47
39
|
|
|
48
|
-
|
|
49
|
-
- **Pros**:
|
|
50
|
-
- **Cons**:
|
|
51
|
-
- **Complexity**: low / medium / high
|
|
52
|
-
- **Docs (context7 queries)**:
|
|
53
|
-
- `library-name@version`: ...
|
|
40
|
+
## Technical Solution Space
|
|
54
41
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
42
|
+
<!--
|
|
43
|
+
If one approach is clearly the right call for this stack, write only that approach with its rationale.
|
|
44
|
+
Include alternative options ONLY when there is a genuine tradeoff a thoughtful engineer might disagree on.
|
|
45
|
+
Do not invent Option B and Option C just to fill the template.
|
|
46
|
+
-->
|
|
59
47
|
|
|
60
|
-
###
|
|
48
|
+
### Recommended Approach: ...
|
|
49
|
+
- **Why**: ...
|
|
50
|
+
- **Complexity**: ...
|
|
51
|
+
- **Key APIs verified via context7**: ...
|
|
61
52
|
|
|
62
|
-
|
|
53
|
+
### Alternative: ... (include only if a real alternative exists)
|
|
63
54
|
|
|
64
|
-
|
|
55
|
+
## Existing Code Analysis (include only if the codebase has relevant prior work)
|
|
65
56
|
|
|
66
57
|
### Reusable Modules
|
|
67
|
-
- `path/to/
|
|
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
|
|
58
|
+
- `path/to/module` — ...
|
|
88
59
|
|
|
89
|
-
|
|
60
|
+
### New Modules Required
|
|
61
|
+
- `path/to/new` — ...
|
|
90
62
|
|
|
91
|
-
|
|
92
|
-
- **Estimated complexity**: 1-10
|
|
93
|
-
- **Main risks**:
|
|
94
|
-
- Risk 1: ...
|
|
95
|
-
- Risk 2: ...
|
|
63
|
+
## Latest Documentation Summary
|
|
96
64
|
|
|
97
|
-
|
|
65
|
+
<!-- Only include libraries whose API is version-sensitive AND used by this feature. Do not cite every library in the stack. -->
|
|
98
66
|
|
|
99
|
-
|
|
67
|
+
### {{LIBRARY}}
|
|
68
|
+
- Version: ...
|
|
69
|
+
- Relevant APIs: ...
|
|
70
|
+
- Gotchas: ...
|
|
100
71
|
|
|
101
|
-
|
|
102
|
-
**Rationale**:
|
|
103
|
-
**To confirm in the design phase**:
|
|
72
|
+
## Feasibility
|
|
104
73
|
|
|
105
|
-
|
|
74
|
+
- **Verdict**: feasible / risky / not recommended
|
|
75
|
+
- **Main risks**: (only if real risks exist)
|
|
106
76
|
|
|
107
|
-
|
|
77
|
+
## Open Questions (delete if none)
|
|
108
78
|
|
|
109
79
|
1. ...
|
|
110
|
-
2. ...
|
|
111
80
|
|
|
112
81
|
---
|
|
113
82
|
|
|
114
|
-
_Generated by flow-researcher
|
|
83
|
+
_Generated by flow-researcher on {{CREATED_DATE}}._
|
package/templates/tasks.md.tmpl
CHANGED
|
@@ -5,137 +5,80 @@ created: {{CREATED_DATE}}
|
|
|
5
5
|
version: 1.0
|
|
6
6
|
status: in_progress
|
|
7
7
|
depends_on: design.md
|
|
8
|
-
task_size: fine
|
|
9
8
|
---
|
|
10
9
|
|
|
11
10
|
# Task Breakdown: {{SPEC_NAME}}
|
|
12
11
|
|
|
13
|
-
> POC-First
|
|
12
|
+
> POC-First is an **orientation, not a mandate**. Use the phases below as an organizing idea and **delete phases that don't apply to this feature**. A bug-fix may be one task. A prototype may skip Phase 2 (refactor) and Phase 5 (PR lifecycle). A library may skip the PR lifecycle entirely. Forcing all five phases for a small feature is the padding pattern this template is designed to prevent.
|
|
14
13
|
>
|
|
15
|
-
> Each task includes
|
|
14
|
+
> Each task includes whatever of `Do`, `Files`, `Done-when`, `Verify`, `Commit` is needed for the executor to finish it in a single sub-agent dispatch. Verify must be an automated command (no "manual test").
|
|
16
15
|
|
|
17
16
|
---
|
|
18
17
|
|
|
19
18
|
## Marker Rules
|
|
20
19
|
|
|
21
20
|
- `[ ]` TODO / `[x]` done
|
|
22
|
-
- `[P]` parallel-safe (
|
|
23
|
-
- `[VERIFY]` quality checkpoint (
|
|
21
|
+
- `[P]` parallel-safe (dispatch in parallel within the same wave)
|
|
22
|
+
- `[VERIFY]` quality checkpoint (flow-verifier agent)
|
|
24
23
|
- `[SEQUENTIAL]` must be serial (breaks the parallel group)
|
|
25
24
|
|
|
26
25
|
---
|
|
27
26
|
|
|
28
27
|
## Phase 1: Make It Work (POC)
|
|
29
28
|
|
|
30
|
-
> Goal:
|
|
29
|
+
> Goal: end-to-end runnable. Hardcoding is acceptable; skip tests here.
|
|
31
30
|
|
|
32
|
-
|
|
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
|
|
31
|
+
<!-- Add only the tasks this feature genuinely needs. Do not invent skeleton tasks to "round out" the phase. -->
|
|
39
32
|
|
|
40
|
-
- [ ] **1.
|
|
33
|
+
- [ ] **1.1** ...
|
|
41
34
|
- **Do**: ...
|
|
42
35
|
- **Files**: ...
|
|
43
36
|
- **Done when**: ...
|
|
44
37
|
- **Verify**: ...
|
|
45
38
|
- **Commit**: ...
|
|
46
|
-
- _Requirements_:
|
|
47
|
-
- _Design_: AD-01
|
|
39
|
+
- _Requirements_: FR-NN
|
|
48
40
|
|
|
49
|
-
- [ ] **1.
|
|
50
|
-
- **
|
|
51
|
-
- **
|
|
52
|
-
- **Done when**: returns expected data (edge cases may still be wrong)
|
|
41
|
+
- [ ] **1.X** [VERIFY] End-to-end POC verification
|
|
42
|
+
- **Verify**: `<command>`
|
|
43
|
+
- **Done when**: happy path returns the expected result
|
|
53
44
|
|
|
54
|
-
## Phase 2: Refactoring
|
|
45
|
+
## Phase 2: Refactoring (delete if the POC is already clean)
|
|
55
46
|
|
|
56
|
-
>
|
|
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
|
|
47
|
+
> Include only if the POC has genuine duplication or structural mud that warrants cleanup. Skip for tiny features.
|
|
66
48
|
|
|
67
49
|
## Phase 3: Testing (TDD red / green / yellow)
|
|
68
50
|
|
|
69
|
-
> Rule: tests first.
|
|
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`
|
|
51
|
+
> Rule: tests first. Red → Green → Yellow. **Collapse red+green into one task when the test and implementation are trivially paired**; split only when the test genuinely precedes a nontrivial implementation.
|
|
85
52
|
|
|
86
|
-
- [ ] **3.
|
|
87
|
-
- <!-- Repeat the TDD cycle -->
|
|
53
|
+
- [ ] **3.X** [RED→GREEN→YELLOW] ...
|
|
88
54
|
|
|
89
|
-
- [ ] **3.
|
|
90
|
-
- **Verify**:
|
|
55
|
+
- [ ] **3.X+1** [VERIFY] Coverage check
|
|
56
|
+
- **Verify**: coverage on the changed surface ≥ project standard
|
|
91
57
|
|
|
92
58
|
## Phase 4: Quality Gates
|
|
93
59
|
|
|
94
|
-
>
|
|
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
|
|
60
|
+
> Include only the checks this project actually runs. `npx eslint` is dead weight if the project uses biome. `tsc --strict` is dead weight for a JS project.
|
|
111
61
|
|
|
112
|
-
- [ ] **
|
|
113
|
-
- **Do**:
|
|
114
|
-
- **Done when**:
|
|
62
|
+
- [ ] **4.X** [VERIFY] Final health check
|
|
63
|
+
- **Do**: flow-verifier performs goal-driven reverse verification
|
|
64
|
+
- **Done when**: every FR/AC has an automated check
|
|
115
65
|
|
|
116
|
-
-
|
|
117
|
-
- **Do**: iterate until approved
|
|
118
|
-
- **Verify**: CI all green
|
|
66
|
+
## Phase 5: PR Lifecycle (delete for local-only work, scripts, internal tools without a PR flow)
|
|
119
67
|
|
|
120
|
-
- [ ] **5.
|
|
121
|
-
- **Do**: `/flow-land`
|
|
122
|
-
- **Verify**: the main branch contains all commits for this spec
|
|
68
|
+
- [ ] **5.X** Ship / Land
|
|
123
69
|
|
|
124
70
|
---
|
|
125
71
|
|
|
126
72
|
## Coverage Audit
|
|
127
73
|
|
|
128
|
-
<!--
|
|
74
|
+
<!-- flow-planner fills this in. Every FR / AC / AD / D must map to a task, or explicitly defer with reason. -->
|
|
129
75
|
|
|
130
76
|
| Requirement ID | Task(s) | Status |
|
|
131
77
|
|--------|---------|------|
|
|
132
|
-
| FR-01 |
|
|
133
|
-
| FR-02 | ... | ⚠ uncovered — needs adding |
|
|
134
|
-
| AD-01 | 1.1 | ✓ |
|
|
135
|
-
| D-05 (STATE.md) | ... | ✓ |
|
|
78
|
+
| FR-01 | ... | ✓ |
|
|
136
79
|
|
|
137
|
-
**Uncovered items must be handled**: add a task or document the deferral reason in STATE.md.
|
|
80
|
+
**Uncovered items must be handled**: add a task, or document the deferral reason in STATE.md.
|
|
138
81
|
|
|
139
82
|
---
|
|
140
83
|
|
|
141
|
-
_Generated by flow-planner
|
|
84
|
+
_Generated by flow-planner on {{CREATED_DATE}}._
|