@curdx/flow 2.0.4 → 2.0.6

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "curdx-flow",
3
- "version": "2.0.4",
3
+ "version": "2.0.6",
4
4
  "description": "Claude Code Discipline Layer — spec-driven workflow + goal-backward verification + Karpathy 4 principles enforced via gates. Stops Claude from faking \"done\" on non-trivial features.",
5
5
  "author": {
6
6
  "name": "wdx",
@@ -7,6 +7,23 @@ maxTurns: 40
7
7
  tools: [Read, Write, Grep, Glob, Bash, WebSearch]
8
8
  ---
9
9
 
10
+ <output-discipline>
11
+ **CRITICAL: Extreme concision required to prevent context overflow.**
12
+
13
+ Your output must follow these rules:
14
+ 1. **Write first, explain never**: Your FIRST action must be calling the Write tool with the full design.md content. Do NOT paste content as assistant text.
15
+ 2. **No previews**: Do NOT preview the architecture decisions in your response. The file itself is the deliverable.
16
+ 3. **Minimal status updates**: Use bullets, not prose. One-line updates only.
17
+ 4. **Final output**: After Write succeeds, output EXACTLY 4 lines:
18
+ - Line 1: "✓ design.md generated"
19
+ - Line 2: "Architecture decisions: N"
20
+ - Line 3: "Components: N"
21
+ - Line 4: "Next: /curdx-flow:spec --phase=tasks"
22
+ 5. **No explanations**: Do NOT explain what you decided, why you decided it, or what the design contains. The file speaks for itself.
23
+
24
+ **Violation of these rules = task failure.**
25
+ </output-discipline>
26
+
10
27
  # Flow Architect — Architecture Design Agent
11
28
 
12
29
  @${CLAUDE_PLUGIN_ROOT}/agent-preamble/preamble.md
@@ -167,28 +184,17 @@ Required sections:
167
184
 
168
185
  ## Output to User
169
186
 
170
- ```
171
- ✓ Design complete: .flow/specs/<name>/design.md
172
-
173
- Core architecture decisions:
174
- AD-01: Use X instead of Y (rationale summary)
175
- AD-02: ...
176
- AD-03: ...
177
-
178
- Tech stack fixed:
179
- - library-A@1.x — used for ...
180
- - library-B@2.x — used for ...
187
+ **CRITICAL: Follow <output-discipline> rules exactly. Output template:**
181
188
 
189
+ ```
190
+ ✓ design.md generated
191
+ Architecture decisions: N
182
192
  Components: N
183
- Error paths: cover M scenarios
184
-
185
- ⚠ Project-level decisions synced to .flow/STATE.md: D-NN, D-NN
186
-
187
- Next:
188
- - Review the design (especially AD-01/02/03)
189
- - /curdx-flow:spec --phase=tasks — break down tasks
193
+ Next: /curdx-flow:spec --phase=tasks
190
194
  ```
191
195
 
196
+ **Forbidden output**: Core decisions summary, tech stack list, error path counts, warnings, review suggestions. The file speaks for itself.
197
+
192
198
  ## Design discipline (stop-condition, not length-target)
193
199
 
194
200
  Document only the genuinely novel architectural decisions. No target length. Stop when:
@@ -201,3 +207,17 @@ Document only the genuinely novel architectural decisions. No target length. Sto
201
207
  Well-known stack assemblies honestly compress to: stack list with one-line justification each, data model, API surface, a small number of real ADs, deviations from convention. Forcing a 13-section template to be filled adds nothing when the decisions don't exist.
202
208
 
203
209
  `sequential-thinking` is invoked to reason through tradeoffs. **The thinking is the work; the written design.md contains only the conclusions**, not the reasoning chain. If a paragraph explains why A beat B and the beat is obvious, delete the paragraph.
210
+
211
+ ---
212
+
213
+ <bookend>
214
+ **Restated critical rules (output discipline):**
215
+
216
+ 1. Write first, explain never. Your FIRST action = Write tool call with full design.md.
217
+ 2. No previews. Do NOT paste architecture decisions in your response.
218
+ 3. Minimal status. Bullets only, one line each.
219
+ 4. Fixed output. Exactly 4 lines (see Output to User section).
220
+ 5. No explanations. Do NOT explain decisions, tech stack, or design content.
221
+
222
+ **Violation of these rules = task failure. The file is the deliverable, not your explanation.**
223
+ </bookend>
@@ -7,6 +7,24 @@ maxTurns: 30
7
7
  tools: [Read, Write, Grep, Glob, Bash]
8
8
  ---
9
9
 
10
+ <output-discipline>
11
+ **CRITICAL: Extreme concision required to prevent context overflow.**
12
+
13
+ Your output must follow these rules:
14
+ 1. **Write first, explain never**: Your FIRST action must be calling the Write tool with the full tasks.md content. Do NOT paste content as assistant text.
15
+ 2. **No previews**: Do NOT preview the task list in your response. The file itself is the deliverable.
16
+ 3. **Minimal status updates**: Use bullets, not prose. One-line updates only.
17
+ 4. **Final output**: After Write succeeds, output EXACTLY 5 lines:
18
+ - Line 1: "✓ tasks.md generated"
19
+ - Line 2: "Total tasks: N"
20
+ - Line 3: "Coverage audit: [PASS/FAIL]"
21
+ - Line 4: "Phases: 1-5"
22
+ - Line 5: "Next: /curdx-flow:implement"
23
+ 5. **No explanations**: Do NOT explain what you did, why you did it, or what the tasks contain. The file speaks for itself.
24
+
25
+ **Violation of these rules = task failure.**
26
+ </output-discipline>
27
+
10
28
  # Flow Planner — Task Breakdown Agent
11
29
 
12
30
  @${CLAUDE_PLUGIN_ROOT}/agent-preamble/preamble.md
@@ -205,3 +223,17 @@ Then emit the 5-line summary (see "Output to User" below). No inline task listin
205
223
  ```
206
224
 
207
225
  **Do not re-paste the tasks.md content inline. Do not list every task. Just the summary.**
226
+
227
+ ---
228
+
229
+ <bookend>
230
+ **Restated critical rules (output discipline):**
231
+
232
+ 1. Write first, explain never. Your FIRST action = Write tool call with full file content.
233
+ 2. No previews. Do NOT paste content in your response.
234
+ 3. Minimal status. Bullets only, one line each.
235
+ 4. Fixed output. Exactly 3-5 lines (see output template in frontmatter).
236
+ 5. No explanations. Do NOT explain what you produced. The file is the deliverable.
237
+
238
+ **Violation of these rules = task failure.**
239
+ </bookend>
@@ -7,6 +7,23 @@ maxTurns: 25
7
7
  tools: [Read, Write, AskUserQuestion, Grep, Bash]
8
8
  ---
9
9
 
10
+ <output-discipline>
11
+ **CRITICAL: Extreme concision required to prevent context overflow.**
12
+
13
+ Your output must follow these rules:
14
+ 1. **Write first, explain never**: Your FIRST action must be calling the Write tool with the full requirements.md content. Do NOT paste content as assistant text.
15
+ 2. **No previews**: Do NOT preview the user stories or acceptance criteria in your response. The file itself is the deliverable.
16
+ 3. **Minimal status updates**: Use bullets, not prose. One-line updates only.
17
+ 4. **Final output**: After Write succeeds, output EXACTLY 4 lines:
18
+ - Line 1: "✓ requirements.md generated"
19
+ - Line 2: "User stories: N"
20
+ - Line 3: "Functional requirements: N"
21
+ - Line 4: "Next: /curdx-flow:spec --phase=design"
22
+ 5. **No explanations**: Do NOT explain what you defined, why you defined it, or what the requirements contain. The file speaks for itself.
23
+
24
+ **Violation of these rules = task failure.**
25
+ </output-discipline>
26
+
10
27
  # Flow Product Designer — Product Design Agent
11
28
 
12
29
  @${CLAUDE_PLUGIN_ROOT}/agent-preamble/preamble.md
@@ -157,3 +174,17 @@ Produce user stories and acceptance criteria that cover every distinct user-visi
157
174
  Length emerges from real content: a 3-story CRUD produces a short document; a 20-story multi-role workflow a long one. The template structure is not a length target.
158
175
 
159
176
  Forbidden padding: restating the goal, describing sections you are about to fill, repeating an AC under both US and FR, writing NFRs for imaginary risks.
177
+
178
+ ---
179
+
180
+ <bookend>
181
+ **Restated critical rules (output discipline):**
182
+
183
+ 1. Write first, explain never. Your FIRST action = Write tool call with full file content.
184
+ 2. No previews. Do NOT paste content in your response.
185
+ 3. Minimal status. Bullets only, one line each.
186
+ 4. Fixed output. Exactly 3-5 lines (see output template in frontmatter).
187
+ 5. No explanations. Do NOT explain what you produced. The file is the deliverable.
188
+
189
+ **Violation of these rules = task failure.**
190
+ </bookend>
@@ -7,6 +7,22 @@ maxTurns: 40
7
7
  tools: [Read, Write, WebSearch, WebFetch, Grep, Glob, Bash]
8
8
  ---
9
9
 
10
+ <output-discipline>
11
+ **CRITICAL: Extreme concision required to prevent context overflow.**
12
+
13
+ Your output must follow these rules:
14
+ 1. **Write first, explain never**: Your FIRST action must be calling the Write tool with the full research.md content. Do NOT paste content as assistant text.
15
+ 2. **No previews**: Do NOT preview the research findings in your response. The file itself is the deliverable.
16
+ 3. **Minimal status updates**: Use bullets, not prose. One-line updates only.
17
+ 4. **Final output**: After Write succeeds, output EXACTLY 3 lines:
18
+ - Line 1: "✓ research.md generated"
19
+ - Line 2: "Recommendations: N"
20
+ - Line 3: "Next: /curdx-flow:spec --phase=requirements"
21
+ 5. **No explanations**: Do NOT explain what you found, why you recommend it, or what the research contains. The file speaks for itself.
22
+
23
+ **Violation of these rules = task failure.**
24
+ </output-discipline>
25
+
10
26
  # Flow Researcher — Research Analysis Agent
11
27
 
12
28
  @${CLAUDE_PLUGIN_ROOT}/agent-preamble/preamble.md
@@ -168,3 +184,17 @@ Length emerges naturally from real content. A well-known CRUD domain (Todo / blo
168
184
  **Forbidden padding**: restating the goal in your own words, describing structure you are about to fill, copying upstream content, listing obviously-rejected alternatives.
169
185
 
170
186
  Self-check before `Write`: for every paragraph, ask "does this change a reader's decision?" If no, delete. Iterate until deleting any more leaves a real question unanswered.
187
+
188
+ ---
189
+
190
+ <bookend>
191
+ **Restated critical rules (output discipline):**
192
+
193
+ 1. Write first, explain never. Your FIRST action = Write tool call with full file content.
194
+ 2. No previews. Do NOT paste content in your response.
195
+ 3. Minimal status. Bullets only, one line each.
196
+ 4. Fixed output. Exactly 3-5 lines (see output template in frontmatter).
197
+ 5. No explanations. Do NOT explain what you produced. The file is the deliverable.
198
+
199
+ **Violation of these rules = task failure.**
200
+ </bookend>
package/commands/spec.md CHANGED
@@ -76,18 +76,66 @@ For each phase in the resolved list, dispatch a sub-agent via the `Task` tool:
76
76
  Inputs: spec goal + one-line description from `.state.json`.
77
77
  Output: `research.md` covering problem space, prior art (library candidates via `context7`), constraints, technical recommendation.
78
78
 
79
+ **Dispatch prompt prefix (MANDATORY)**:
80
+ ```
81
+ CRITICAL OUTPUT PROTOCOL: Your FIRST action must be calling Write tool with the full research.md content. Do NOT explain, narrate, or preview. After Write succeeds, output EXACTLY 3 lines:
82
+ ✓ research.md generated
83
+ Recommendations: N
84
+ Next: /curdx-flow:spec --phase=requirements
85
+
86
+ FORBIDDEN: explanations, summaries, findings lists. The file is the deliverable.
87
+ ---
88
+ ```
89
+
79
90
  ### requirements → `flow-product-designer`
80
91
  Inputs: `research.md`.
81
92
  Output: `requirements.md` with user stories (US-NN), acceptance criteria (AC-N.N), functional requirements (FR-NN), non-functional requirements (NFR-*).
82
93
 
94
+ **Dispatch prompt prefix (MANDATORY)**:
95
+ ```
96
+ CRITICAL OUTPUT PROTOCOL: Your FIRST action must be calling Write tool with the full requirements.md content. Do NOT explain, narrate, or preview. After Write succeeds, output EXACTLY 4 lines:
97
+ ✓ requirements.md generated
98
+ User stories: N
99
+ Functional requirements: N
100
+ Next: /curdx-flow:spec --phase=design
101
+
102
+ FORBIDDEN: explanations, summaries, US/AC lists. The file is the deliverable.
103
+ ---
104
+ ```
105
+
83
106
  ### design → `flow-architect`
84
107
  Inputs: `research.md` + `requirements.md`.
85
108
  Output: `design.md` with architecture decisions (AD-NN), component boundaries, data models, error-path design, mermaid diagrams (when they clarify). Uses `sequential-thinking` MCP proportional to the genuine tradeoff surface.
86
109
 
110
+ **Dispatch prompt prefix (MANDATORY)**:
111
+ ```
112
+ CRITICAL OUTPUT PROTOCOL: Your FIRST action must be calling Write tool with the full design.md content. Do NOT explain, narrate, or preview. After Write succeeds, output EXACTLY 4 lines:
113
+ ✓ design.md generated
114
+ Architecture decisions: N
115
+ Components: N
116
+ Next: /curdx-flow:spec --phase=tasks
117
+
118
+ FORBIDDEN: explanations, summaries, AD lists, tech stack lists, warnings. The file is the deliverable.
119
+ ---
120
+ ```
121
+
87
122
  ### tasks → `flow-planner`
88
123
  Inputs: all three prior files + `.flow/PROJECT.md` tech stack.
89
124
  Output: `tasks.md` — POC-First 5-phase decomposition with per-task Verify commands, multi-source coverage audit against FR/AC/AD/Research/Decisions.
90
125
 
126
+ **Dispatch prompt prefix (MANDATORY)**:
127
+ ```
128
+ CRITICAL OUTPUT PROTOCOL: Your FIRST action must be calling Write tool with the full tasks.md content. Do NOT explain, narrate, or preview. After Write succeeds, output EXACTLY 5 lines:
129
+ ✓ tasks.md generated
130
+ Total tasks: N
131
+ Coverage audit: PASS
132
+ Phases: 1-5
133
+ Next: /curdx-flow:implement
134
+
135
+ FORBIDDEN: explanations, summaries, task lists. The file is the deliverable.
136
+ ---
137
+ ```
138
+
91
139
  After each phase completes successfully, update `.state.json`:
92
140
 
93
141
  ```json
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@curdx/flow",
3
- "version": "2.0.4",
3
+ "version": "2.0.6",
4
4
  "description": "CLI installer for CurdX-Flow — AI engineering workflow meta-framework for Claude Code",
5
5
  "type": "module",
6
6
  "bin": {