@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.
@@ -10,105 +10,74 @@ status: in_progress
10
10
 
11
11
  > **Goal**: {{SPEC_GOAL}}
12
12
  >
13
- > Output of this phase. Subsequent requirements / design / tasks are all based on the conclusions of this document.
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
- ## Problem Understanding
21
+ <!-- Delete this section if there are no relevant prior observations. -->
27
22
 
28
- <!-- Translate the user's goal into technical language. Explicitly list assumptions. -->
23
+ ## Problem Understanding
29
24
 
30
25
  ### Core Problem
31
- <!-- One-line description of what we are solving -->
26
+ <!-- One sentence. What are we solving? -->
32
27
 
33
28
  ### Explicit Assumptions
34
- <!-- Karpathy principle 1: think before coding. List all assumptions for the user to confirm -->
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
- - Tech stack:
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
- <!-- List 2-3 possible approaches with their pros and cons. Pick one in the design phase. -->
36
+ - Tech stack: ...
37
+ - Time budget: ...
38
+ - (Compliance, team capability, etc — only if they constrain this feature)
47
39
 
48
- ### Option A: ...
49
- - **Pros**:
50
- - **Cons**:
51
- - **Complexity**: low / medium / high
52
- - **Docs (context7 queries)**:
53
- - `library-name@version`: ...
40
+ ## Technical Solution Space
54
41
 
55
- ### Option B: ...
56
- - **Pros**:
57
- - **Cons**:
58
- - **Complexity**: low / medium / high
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
- ### Option C (optional): ...
48
+ ### Recommended Approach: ...
49
+ - **Why**: ...
50
+ - **Complexity**: ...
51
+ - **Key APIs verified via context7**: ...
61
52
 
62
- ## Existing Code Analysis
53
+ ### Alternative: ... (include only if a real alternative exists)
63
54
 
64
- <!-- Codebase scan results. Which existing modules can be reused? Which need to be new? -->
55
+ ## Existing Code Analysis (include only if the codebase has relevant prior work)
65
56
 
66
57
  ### 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
58
+ - `path/to/module` — ...
88
59
 
89
- <!-- Explicitly answer: can this be done? how hard is it? -->
60
+ ### New Modules Required
61
+ - `path/to/new` — ...
90
62
 
91
- - **Feasibility**: feasible / ⚠ risky / ✗ not recommended
92
- - **Estimated complexity**: 1-10
93
- - **Main risks**:
94
- - Risk 1: ...
95
- - Risk 2: ...
63
+ ## Latest Documentation Summary
96
64
 
97
- ## Recommended Direction
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
- <!-- Research conclusion: which option is recommended and why. If multiple options need discussion, explain here. -->
67
+ ### {{LIBRARY}}
68
+ - Version: ...
69
+ - Relevant APIs: ...
70
+ - Gotchas: ...
100
71
 
101
- **Recommendation**: Option ?
102
- **Rationale**:
103
- **To confirm in the design phase**:
72
+ ## Feasibility
104
73
 
105
- ## Open Questions
74
+ - **Verdict**: feasible / risky / not recommended
75
+ - **Main risks**: (only if real risks exist)
106
76
 
107
- <!-- Questions the research phase couldn't answer, to be deferred to later phases or asked of the user -->
77
+ ## Open Questions (delete if none)
108
78
 
109
79
  1. ...
110
- 2. ...
111
80
 
112
81
  ---
113
82
 
114
- _Generated by flow-researcher agent on {{CREATED_DATE}}. Subsequent phases continue from this document._
83
+ _Generated by flow-researcher on {{CREATED_DATE}}._
@@ -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 5 Phases: **work refactor test quality gates PR lifecycle**.
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: `Do`, `Files`, `Done-when`, `Verify`, `Commit`. Verifiable via automation.
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 (can be dispatched in parallel within the same wave)
23
- - `[VERIFY]` quality checkpoint (run by the flow-verifier agent)
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: get it running end-to-end. Hardcoding is acceptable; skip tests.
29
+ > Goal: end-to-end runnable. Hardcoding is acceptable; skip tests here.
31
30
 
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
31
+ <!-- Add only the tasks this feature genuinely needs. Do not invent skeleton tasks to "round out" the phase. -->
39
32
 
40
- - [ ] **1.2** [P] ...
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.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)
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
- > 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
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. 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`
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.4** [RED GREEN YELLOW] Integration tests
87
- - <!-- Repeat the TDD cycle -->
53
+ - [ ] **3.X** [RED→GREEN→YELLOW] ...
88
54
 
89
- - [ ] **3.5** [VERIFY] Coverage check
90
- - **Verify**: `npm test -- --coverage` core logic > 80%
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
- > 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
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
- - [ ] **5.1** Generate PR
113
- - **Do**: `/flow-ship` creates the PR
114
- - **Done when**: PR URL returned, description is clear
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
- - [ ] **5.2** Respond to review feedback
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.3** Merge
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
- <!-- Final step for flow-planner: confirm every FR / AC / AD / D has a corresponding task -->
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 | 1.2, 3.1 | ✓ |
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 agent on {{CREATED_DATE}}. N tasks total, estimated X hours._
84
+ _Generated by flow-planner on {{CREATED_DATE}}._