@curdx/flow 2.3.11 → 3.1.0

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.
Files changed (210) hide show
  1. package/CHANGELOG.md +21 -34
  2. package/LICENSE +1 -1
  3. package/README.md +28 -79
  4. package/dist/index.mjs +995 -0
  5. package/package.json +33 -42
  6. package/.claude-plugin/marketplace.json +0 -48
  7. package/.claude-plugin/plugin.json +0 -70
  8. package/agent-preamble/preamble.md +0 -314
  9. package/agents/flow-adversary.md +0 -202
  10. package/agents/flow-architect.md +0 -197
  11. package/agents/flow-brownfield-analyst.md +0 -142
  12. package/agents/flow-debugger.md +0 -321
  13. package/agents/flow-edge-hunter.md +0 -288
  14. package/agents/flow-executor.md +0 -269
  15. package/agents/flow-orchestrator.md +0 -145
  16. package/agents/flow-planner.md +0 -246
  17. package/agents/flow-product-designer.md +0 -159
  18. package/agents/flow-qa-engineer.md +0 -282
  19. package/agents/flow-researcher.md +0 -165
  20. package/agents/flow-reviewer.md +0 -303
  21. package/agents/flow-security-auditor.md +0 -401
  22. package/agents/flow-triage-analyst.md +0 -272
  23. package/agents/flow-ui-researcher.md +0 -229
  24. package/agents/flow-ux-designer.md +0 -221
  25. package/agents/flow-verifier.md +0 -349
  26. package/bin/curdx-flow +0 -5
  27. package/bin/curdx-flow.js +0 -54
  28. package/cli/README.md +0 -104
  29. package/cli/doctor-workflow.js +0 -483
  30. package/cli/doctor.js +0 -73
  31. package/cli/help.js +0 -59
  32. package/cli/install-bundled-mcps.js +0 -37
  33. package/cli/install-companions.js +0 -19
  34. package/cli/install-context7-config.js +0 -80
  35. package/cli/install-curdx-plugin.js +0 -96
  36. package/cli/install-language.js +0 -35
  37. package/cli/install-next-steps.js +0 -29
  38. package/cli/install-options.js +0 -9
  39. package/cli/install-paths.js +0 -52
  40. package/cli/install-recommended-plugins.js +0 -104
  41. package/cli/install-required-plugins.js +0 -57
  42. package/cli/install-self-update.js +0 -62
  43. package/cli/install-workflow.js +0 -209
  44. package/cli/install.js +0 -101
  45. package/cli/lib/claude-commands.js +0 -41
  46. package/cli/lib/claude-ops.js +0 -47
  47. package/cli/lib/claude.js +0 -183
  48. package/cli/lib/config.js +0 -24
  49. package/cli/lib/doctor-claude-settings.js +0 -1186
  50. package/cli/lib/doctor-report.js +0 -978
  51. package/cli/lib/doctor-runtime-environment.js +0 -196
  52. package/cli/lib/frontmatter.js +0 -44
  53. package/cli/lib/json-schema.js +0 -57
  54. package/cli/lib/logging.js +0 -25
  55. package/cli/lib/process.js +0 -60
  56. package/cli/lib/prompts.js +0 -135
  57. package/cli/lib/runtime.js +0 -107
  58. package/cli/lib/semver.js +0 -109
  59. package/cli/lib/version.js +0 -12
  60. package/cli/protocols-body.md +0 -22
  61. package/cli/protocols.js +0 -162
  62. package/cli/registry.js +0 -123
  63. package/cli/router.js +0 -49
  64. package/cli/uninstall-actions.js +0 -360
  65. package/cli/uninstall-workflow.js +0 -146
  66. package/cli/uninstall.js +0 -42
  67. package/cli/upgrade-workflow.js +0 -80
  68. package/cli/upgrade.js +0 -91
  69. package/cli/utils.js +0 -40
  70. package/gates/adversarial-review-gate.md +0 -219
  71. package/gates/coverage-audit-gate.md +0 -182
  72. package/gates/devex-gate.md +0 -254
  73. package/gates/edge-case-gate.md +0 -194
  74. package/gates/karpathy-gate.md +0 -130
  75. package/gates/security-gate.md +0 -218
  76. package/gates/tdd-gate.md +0 -182
  77. package/gates/test-quality-gate.md +0 -59
  78. package/gates/verification-gate.md +0 -179
  79. package/hooks/hooks.json +0 -58
  80. package/hooks/scripts/common.sh +0 -46
  81. package/hooks/scripts/inject-karpathy.sh +0 -53
  82. package/hooks/scripts/quick-mode-guard.sh +0 -68
  83. package/hooks/scripts/session-start.sh +0 -90
  84. package/hooks/scripts/stop-watcher.sh +0 -230
  85. package/hooks/scripts/subagent-artifact-guard.sh +0 -159
  86. package/hooks/scripts/subagent-statusline.sh +0 -105
  87. package/knowledge/artifact-output-discipline.md +0 -24
  88. package/knowledge/artifact-summary-contracts.md +0 -50
  89. package/knowledge/atomic-commits.md +0 -262
  90. package/knowledge/claude-code-runtime-contracts.md +0 -219
  91. package/knowledge/epic-decomposition.md +0 -307
  92. package/knowledge/execution-strategies.md +0 -303
  93. package/knowledge/karpathy-guidelines.md +0 -219
  94. package/knowledge/planning-reviews.md +0 -211
  95. package/knowledge/poc-first-workflow.md +0 -223
  96. package/knowledge/review-feedback-intake.md +0 -57
  97. package/knowledge/spec-driven-development.md +0 -180
  98. package/knowledge/systematic-debugging.md +0 -378
  99. package/knowledge/two-stage-review.md +0 -249
  100. package/knowledge/wave-execution.md +0 -403
  101. package/monitors/monitors.json +0 -8
  102. package/monitors/scripts/flow-state-monitor.sh +0 -99
  103. package/output-styles/curdx-evidence-first.md +0 -34
  104. package/schemas/agent-frontmatter.schema.json +0 -63
  105. package/schemas/config.schema.json +0 -134
  106. package/schemas/gate-frontmatter.schema.json +0 -30
  107. package/schemas/hooks.schema.json +0 -115
  108. package/schemas/output-style-frontmatter.schema.json +0 -22
  109. package/schemas/plugin-manifest.schema.json +0 -436
  110. package/schemas/plugin-settings.schema.json +0 -29
  111. package/schemas/skill-frontmatter.schema.json +0 -177
  112. package/schemas/spec-frontmatter.schema.json +0 -42
  113. package/schemas/spec-state.schema.json +0 -147
  114. package/settings.json +0 -7
  115. package/skills/brownfield-index/SKILL.md +0 -53
  116. package/skills/brownfield-index/references/applicability.md +0 -12
  117. package/skills/brownfield-index/references/handoff.md +0 -8
  118. package/skills/brownfield-index/references/index-contract.md +0 -10
  119. package/skills/browser-qa/SKILL.md +0 -39
  120. package/skills/browser-qa/references/handoff.md +0 -6
  121. package/skills/browser-qa/references/prerequisites.md +0 -10
  122. package/skills/browser-qa/references/qa-contract.md +0 -20
  123. package/skills/cancel/SKILL.md +0 -41
  124. package/skills/cancel/references/destructive-mode.md +0 -17
  125. package/skills/cancel/references/reporting.md +0 -18
  126. package/skills/cancel/references/state-recovery.md +0 -30
  127. package/skills/cancel/references/target-resolution.md +0 -7
  128. package/skills/debug/SKILL.md +0 -45
  129. package/skills/debug/references/context-gathering.md +0 -11
  130. package/skills/debug/references/failure-guard.md +0 -25
  131. package/skills/debug/references/intake.md +0 -12
  132. package/skills/debug/references/phase-workflow.md +0 -34
  133. package/skills/debug/references/reporting.md +0 -20
  134. package/skills/epic/SKILL.md +0 -39
  135. package/skills/epic/references/epic-artifacts.md +0 -20
  136. package/skills/epic/references/epic-intake.md +0 -9
  137. package/skills/epic/references/slice-handoff.md +0 -16
  138. package/skills/fast/SKILL.md +0 -62
  139. package/skills/fast/references/applicability.md +0 -25
  140. package/skills/fast/references/clarification.md +0 -20
  141. package/skills/fast/references/execution-contract.md +0 -56
  142. package/skills/help/SKILL.md +0 -55
  143. package/skills/help/references/dispatch.md +0 -20
  144. package/skills/help/references/overview.md +0 -39
  145. package/skills/help/references/troubleshoot.md +0 -47
  146. package/skills/help/references/workflow.md +0 -37
  147. package/skills/implement/SKILL.md +0 -96
  148. package/skills/implement/references/error-recovery.md +0 -36
  149. package/skills/implement/references/linear-execution.md +0 -32
  150. package/skills/implement/references/preflight.md +0 -43
  151. package/skills/implement/references/progress-contract.md +0 -32
  152. package/skills/implement/references/state-init.md +0 -33
  153. package/skills/implement/references/stop-hook-execution.md +0 -36
  154. package/skills/implement/references/strategy-router.md +0 -38
  155. package/skills/implement/references/subagent-execution.md +0 -43
  156. package/skills/implement/references/wave-execution.md +0 -162
  157. package/skills/init/SKILL.md +0 -49
  158. package/skills/init/references/gitignore-and-health.md +0 -26
  159. package/skills/init/references/next-steps.md +0 -22
  160. package/skills/init/references/preflight.md +0 -15
  161. package/skills/init/references/scaffold-contract.md +0 -27
  162. package/skills/review/SKILL.md +0 -82
  163. package/skills/review/references/optional-passes.md +0 -48
  164. package/skills/review/references/preflight.md +0 -38
  165. package/skills/review/references/report-contract.md +0 -49
  166. package/skills/review/references/reporting.md +0 -20
  167. package/skills/review/references/stage-execution.md +0 -32
  168. package/skills/security-audit/SKILL.md +0 -47
  169. package/skills/security-audit/references/audit-contract.md +0 -21
  170. package/skills/security-audit/references/gate-handoff.md +0 -8
  171. package/skills/security-audit/references/scope-and-depth.md +0 -9
  172. package/skills/spec/SKILL.md +0 -100
  173. package/skills/spec/references/artifact-landing.md +0 -31
  174. package/skills/spec/references/phase-execution.md +0 -50
  175. package/skills/spec/references/planning-review.md +0 -31
  176. package/skills/spec/references/preflight-and-routing.md +0 -46
  177. package/skills/spec/references/reporting.md +0 -21
  178. package/skills/start/SKILL.md +0 -84
  179. package/skills/start/references/branch-routing.md +0 -51
  180. package/skills/start/references/mode-semantics.md +0 -12
  181. package/skills/start/references/preflight.md +0 -13
  182. package/skills/start/references/reporting.md +0 -20
  183. package/skills/start/references/state-seeding.md +0 -44
  184. package/skills/start/references/workflow-handoff.md +0 -26
  185. package/skills/status/SKILL.md +0 -41
  186. package/skills/status/references/gather-contract.md +0 -27
  187. package/skills/status/references/health-rules.md +0 -27
  188. package/skills/status/references/output-contract.md +0 -24
  189. package/skills/status/references/preflight.md +0 -10
  190. package/skills/status/references/recovery-hints.md +0 -18
  191. package/skills/ui-sketch/SKILL.md +0 -39
  192. package/skills/ui-sketch/references/brief-intake.md +0 -10
  193. package/skills/ui-sketch/references/iteration-handoff.md +0 -5
  194. package/skills/ui-sketch/references/variant-contract.md +0 -15
  195. package/skills/verify/SKILL.md +0 -56
  196. package/skills/verify/references/evidence-workflow.md +0 -39
  197. package/skills/verify/references/output-contract.md +0 -23
  198. package/skills/verify/references/preflight.md +0 -11
  199. package/skills/verify/references/report-handoff.md +0 -35
  200. package/skills/verify/references/strict-mode.md +0 -12
  201. package/templates/CONTEXT.md.tmpl +0 -53
  202. package/templates/PROJECT.md.tmpl +0 -59
  203. package/templates/ROADMAP.md.tmpl +0 -50
  204. package/templates/STATE.md.tmpl +0 -49
  205. package/templates/config.json.tmpl +0 -51
  206. package/templates/design.md.tmpl +0 -83
  207. package/templates/progress.md.tmpl +0 -77
  208. package/templates/requirements.md.tmpl +0 -76
  209. package/templates/research.md.tmpl +0 -83
  210. package/templates/tasks.md.tmpl +0 -107
@@ -1,83 +0,0 @@
1
- ---
2
- spec: {{SPEC_NAME}}
3
- phase: design
4
- created: {{CREATED_DATE}}
5
- version: 1.0
6
- status: in_progress
7
- depends_on: requirements.md
8
- ---
9
-
10
- # Technical Design: {{SPEC_NAME}}
11
-
12
- > Conclusions from flow-architect. Sequential-thinking is invoked proportional to the genuine tradeoff surface — the chain lives in the thinking tool, not this document.
13
- >
14
- > **Fill only the sections that carry real design information for this feature.** Well-known stack assemblies legitimately compress to a stack list + data model + a few real ADs. Delete sections whose honest answer would be "N/A" or "standard for this stack". A forced 13-section template is the bloat pattern this is designed to prevent.
15
-
16
- ---
17
-
18
- ## Design Overview (one paragraph)
19
-
20
- <!-- One sentence summary of the approach. -->
21
-
22
- ## Architecture Decisions
23
-
24
- <!-- Each real decision gets an AD-NN. If a decision is "obvious, no alternative worth listing," use one line and move on. -->
25
-
26
- ### AD-01: ...
27
- - **Decision**: Use X
28
- - **Rationale**: ...
29
- - **Trade-off**: ... (omit if there is no genuine tradeoff)
30
-
31
- ## Component Design
32
-
33
- <!-- Each component: responsibility, input type, output type, dependencies, error path. Skip if the feature is a single module with no internal boundaries worth naming. -->
34
-
35
- ### Component: {{COMP_NAME}}
36
- - **Responsibility**: ...
37
- - **Input**: `interface Input { ... }`
38
- - **Output**: `interface Output { ... }`
39
- - **Dependencies**: ...
40
- - **Errors**: ...
41
-
42
- ## Data Model (if the feature touches persistence or structured data)
43
-
44
- <!-- SQL schema, TypeScript types, or API payload shape. Delete if the feature has no meaningful data shape. -->
45
-
46
- ## Architecture Diagram (include only when it clarifies; prose often suffices)
47
-
48
- ```mermaid
49
- flowchart TB
50
- ...
51
- ```
52
-
53
- ## State Machine (include only if the feature has non-trivial state transitions)
54
-
55
- ## Error Path Design (include when error behavior is not obvious)
56
-
57
- | Scenario | System Response | User-visible |
58
- |-----|---------|---------|
59
- | ... | ... | ... |
60
-
61
- ## API Contract (include only if this feature exposes or changes an API)
62
-
63
- ```yaml
64
- ...
65
- ```
66
-
67
- ## Test Matrix (brief — one line per layer)
68
-
69
- | Layer | Coverage | Tool |
70
- |---|-----|------|
71
- | ... | ... | ... |
72
-
73
- ## Risks and Mitigations (include only if risks exist that aren't obvious from the ADs)
74
-
75
- ## Defer to Implementation
76
-
77
- <!-- Decisions explicitly deferred to when the executor writes the code. -->
78
-
79
- - ...
80
-
81
- ---
82
-
83
- _Generated by flow-architect on {{CREATED_DATE}}._
@@ -1,77 +0,0 @@
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
- ## Reality Check (BEFORE)
20
-
21
- <!-- For fix/debug specs only: capture the original failure before changing code. -->
22
-
23
- **Goal type**: N/A
24
- **Reproduction command**: N/A
25
- **Failure observed**: N/A
26
- **Output**: N/A
27
- **Timestamp**: N/A
28
-
29
- ## Reality Check (AFTER)
30
-
31
- <!-- For fix/debug specs only: rerun the same command after the fix and compare. -->
32
-
33
- **Command**: N/A
34
- **Result**: N/A
35
- **Comparison**: N/A
36
- **Verified**: N/A
37
-
38
- ## Completed Tasks
39
-
40
- <!-- List of completed tasks -->
41
-
42
- _(not yet started)_
43
-
44
- ## Learnings
45
-
46
- <!-- Things the agent discovered during execution that are worth remembering (useful for similar future situations) -->
47
-
48
- ### Gotchas
49
- _(none)_
50
-
51
- ### Patterns that worked
52
- _(none)_
53
-
54
- ### Approaches that didn't work
55
- _(none)_
56
-
57
- ## Decisions Made Here
58
-
59
- <!-- Technical decisions made within this spec (major decisions should be synced to .flow/STATE.md) -->
60
-
61
- _(none)_
62
-
63
- ## Next Steps
64
-
65
- <!-- What to do next. Must be filled in before ending the session. -->
66
-
67
- - [ ] Enter the research phase: run `/curdx-flow:spec --phase=research`
68
-
69
- ## Questions for User
70
-
71
- <!-- Questions that need user answers -->
72
-
73
- _(none)_
74
-
75
- ---
76
-
77
- _Spec initialized by `/curdx-flow:start` on {{CREATED_DATE}}._
@@ -1,76 +0,0 @@
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 research**: {{RESEARCH_CONCLUSION}}
13
- >
14
- > **Fill only the sections that carry real information for this feature.** Delete or collapse any section whose honest content would be "N/A" or "same as usual". Padding sections with "TBD" is worse than omitting them.
15
-
16
- ---
17
-
18
- ## User Stories
19
-
20
- ### US-01: ...
21
- **As** [user role], **I want** [capability], **so that** [business value].
22
-
23
- **Acceptance criteria**:
24
- - AC-1.1: [verifiable behavior]
25
- - AC-1.2: ...
26
-
27
- <!-- Add more US-NN blocks only if the feature genuinely has multiple independent user flows. -->
28
-
29
- ## Functional Requirements
30
-
31
- - **FR-01**: The system must ...
32
- - **FR-02**: ...
33
-
34
- ## Non-Functional Requirements
35
-
36
- <!--
37
- Include ONLY the NFR categories that this feature is actually constrained by.
38
- For a small internal CRUD feature, "Performance / Security / Maintainability / Compatibility" as a four-bucket grid is usually padding.
39
- Delete categories that have no real requirement, or collapse into one line: "NFR: standard for this stack, no special constraints."
40
- -->
41
-
42
- ### Performance (if applicable)
43
- - **NFR-P-01**: ...
44
-
45
- ### Security (if applicable)
46
- - **NFR-S-01**: ...
47
-
48
- <!-- Delete Maintainability / Compatibility sections unless they carry a real constraint. -->
49
-
50
- ## Edge Cases and Error Handling
51
-
52
- <!-- Include rows only for scenarios that actually apply. -->
53
-
54
- | Scenario | Expected behavior |
55
- |-----|--------|
56
- | ... | ... |
57
-
58
- ## Out of Scope
59
-
60
- - ✗ ...
61
-
62
- ## Success Metrics (if the feature has measurable outcomes)
63
-
64
- <!-- Delete this section for internal tools or refactors with no user-visible metric. -->
65
-
66
- - Metric 1: ...
67
-
68
- ## Open Questions
69
-
70
- <!-- Include only if there are genuinely unresolved questions. Delete when empty. -->
71
-
72
- 1. ...
73
-
74
- ---
75
-
76
- _Generated by flow-product-designer on {{CREATED_DATE}}._
@@ -1,83 +0,0 @@
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
- > **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
-
15
- ---
16
-
17
- ## Prior Experience (from claude-mem, if relevant)
18
-
19
- {{CLAUDE_MEM_FINDINGS}}
20
-
21
- <!-- Delete this section if there are no relevant prior observations. -->
22
-
23
- ## Problem Understanding
24
-
25
- ### Core Problem
26
- <!-- One sentence. What are we solving? -->
27
-
28
- ### Explicit Assumptions
29
- <!-- Only real assumptions that matter. Don't list "assumption: we will write code." -->
30
-
31
- - Assumption 1: ...
32
-
33
- ### Known Constraints
34
- <!-- Include only the constraints that actually shape the solution. -->
35
-
36
- - Tech stack: ...
37
- - Time budget: ...
38
- - (Compliance, team capability, etc — only if they constrain this feature)
39
-
40
- ## Technical Solution Space
41
-
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
- -->
47
-
48
- ### Recommended Approach: ...
49
- - **Why**: ...
50
- - **Complexity**: ...
51
- - **Key APIs verified via context7**: ...
52
-
53
- ### Alternative: ... (include only if a real alternative exists)
54
-
55
- ## Existing Code Analysis (include only if the codebase has relevant prior work)
56
-
57
- ### Reusable Modules
58
- - `path/to/module` — ...
59
-
60
- ### New Modules Required
61
- - `path/to/new` — ...
62
-
63
- ## Latest Documentation Summary
64
-
65
- <!-- Only include libraries whose API is version-sensitive AND used by this feature. Do not cite every library in the stack. -->
66
-
67
- ### {{LIBRARY}}
68
- - Version: ...
69
- - Relevant APIs: ...
70
- - Gotchas: ...
71
-
72
- ## Feasibility
73
-
74
- - **Verdict**: feasible / risky / not recommended
75
- - **Main risks**: (only if real risks exist)
76
-
77
- ## Open Questions (delete if none)
78
-
79
- 1. ...
80
-
81
- ---
82
-
83
- _Generated by flow-researcher on {{CREATED_DATE}}._
@@ -1,107 +0,0 @@
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
- ---
9
-
10
- # Task Breakdown: {{SPEC_NAME}}
11
-
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 (evidence handoff). A library may skip the handoff phase entirely. Forcing all five phases for a small feature is the padding pattern this template is designed to prevent.
13
- >
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").
15
-
16
- ---
17
-
18
- ## Marker Rules
19
-
20
- - `[ ]` TODO / `[x]` done
21
- - `[P]` parallel-safe (dispatch in parallel within the same wave)
22
- - `[VERIFY]` quality checkpoint (flow-verifier agent)
23
- - `[SEQUENTIAL]` must be serial (breaks the parallel group)
24
- - `VF` reality verification task for fix/debug specs (BEFORE failure → AFTER pass)
25
-
26
- ---
27
-
28
- ## Split Rule
29
-
30
- If a task proves too broad or unsafe during execution, the executor must stop with `TASK_FAILED` and propose up to 3 smaller replacement tasks. The coordinator updates this file; executors do not invent and execute new tasks in the same turn.
31
-
32
- ---
33
-
34
- ## Phase 1: Make It Work (POC)
35
-
36
- > Goal: end-to-end runnable. Hardcoding is acceptable; skip tests here.
37
-
38
- <!-- Add only the tasks this feature genuinely needs. Do not invent skeleton tasks to "round out" the phase. -->
39
-
40
- - [ ] **1.1** ...
41
- - **Do**: ...
42
- - **Files**: ...
43
- - **Done when**: ...
44
- - **Verify**: ...
45
- - **Commit**: ...
46
- - _Requirements_: FR-NN
47
-
48
- - [ ] **1.X** [VERIFY] End-to-end POC verification
49
- - **Verify**: `<command>`
50
- - **Done when**: happy path returns the expected result
51
-
52
- ## Phase 2: Refactoring (delete if the POC is already clean)
53
-
54
- > Include only if the POC has genuine duplication or structural mud that warrants cleanup. Skip for tiny features.
55
-
56
- ## Phase 3: Testing (TDD red / green / yellow)
57
-
58
- > 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.
59
- > Test quality: primary FR/AC evidence must exercise real behavior. Mock-only, skipped, or assertion-free tests do not count unless backed by integration/e2e coverage or an explicit D-NN waiver.
60
-
61
- - [ ] **3.X** [RED→GREEN→YELLOW] ...
62
-
63
- - [ ] **3.X+1** [VERIFY] Coverage check
64
- - **Verify**: coverage on the changed surface ≥ project standard
65
-
66
- - [ ] **3.X+2** [VERIFY] Test quality check
67
- - **Do**: apply `test-quality-gate` to tests used as FR/AC evidence
68
- - **Done when**: no FR/AC depends solely on mock-only/skipped/assertion-free tests
69
- - **Verify**: `<test command>` plus grep scan for skipped tests / mock-only evidence
70
-
71
- ## Phase 4: Quality Gates
72
-
73
- > 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.
74
-
75
- - [ ] **4.VF** [VERIFY] VF: Verify original issue resolved (fix/debug specs only)
76
- - **Do**: 1. Read `Reality Check (BEFORE)` in `.progress.md`; 2. Re-run the same reproduction command; 3. Append `Reality Check (AFTER)` with output and comparison
77
- - **Files**: `.flow/specs/{{SPEC_NAME}}/.progress.md`
78
- - **Done when**: AFTER proves the original observed failure is gone
79
- - **Verify**: `grep -q "Verified: Issue resolved" .flow/specs/{{SPEC_NAME}}/.progress.md`
80
- - **Commit**: `chore({{SPEC_NAME}}): verify original issue resolved`
81
-
82
- - [ ] **4.X** [VERIFY] Final health check
83
- - **Do**: flow-verifier performs goal-driven reverse verification
84
- - **Done when**: every FR/AC has an automated check
85
-
86
- ## Phase 5: Evidence Handoff (delete for local-only work, scripts, internal tools without a PR flow)
87
-
88
- - [ ] **5.X** Prepare verification/review handoff
89
- - **Do**: collect atomic commits, verification report, review report, and residual risk notes
90
- - **Done when**: a human can open or release with clear evidence and no hidden blockers
91
- - **Verify**: `test -f .flow/specs/{{SPEC_NAME}}/verification-report.md && test -f .flow/specs/{{SPEC_NAME}}/review-report.md`
92
-
93
- ---
94
-
95
- ## Coverage Audit
96
-
97
- <!-- flow-planner fills this in. Every FR / AC / AD / D must map to a task, or explicitly defer with reason. -->
98
-
99
- | Requirement ID | Task(s) | Status |
100
- |--------|---------|------|
101
- | FR-01 | ... | ✓ |
102
-
103
- **Uncovered items must be handled**: add a task, or document the deferral reason in STATE.md.
104
-
105
- ---
106
-
107
- _Generated by flow-planner on {{CREATED_DATE}}._