specflow-cc 1.6.3 → 1.7.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.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,33 @@ All notable changes to SpecFlow will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.7.0] - 2026-01-28
9
+
10
+ ### Added
11
+
12
+ - **AI pre-analysis of external feedback** — `/sf:revise` now analyzes imported external audit items before showing review options
13
+ - Provides recommendations: ✓ Apply / ? Discuss / ✗ Skip with reasoning
14
+ - New "Apply recommended" option to apply only recommended items
15
+ - `--no-analysis` flag to skip pre-analysis and go directly to manual review
16
+
17
+ ### Changed
18
+
19
+ - `/sf:audit --import` workflow now flows through AI analysis step by default
20
+ - Updated help documentation with new flag
21
+
22
+ ---
23
+
24
+ ## [1.6.3] - 2026-01-28
25
+
26
+ ### Added
27
+
28
+ - `/sf:audit --import "feedback"` — Import external feedback (code reviews, security audits) for critical evaluation
29
+ - `/sf:revise` detects external audits and offers per-item evaluation (Apply/Skip/Discuss/Defer)
30
+ - New `external_review` status in state machine
31
+ - Strategic sanity check in auditor agents
32
+
33
+ ---
34
+
8
35
  ## [1.6.0] - 2026-01-25
9
36
 
10
37
  ### Added
package/README.md CHANGED
@@ -339,9 +339,14 @@ Six months later, you can read the spec and understand not just *what* was built
339
339
 
340
340
  ```bash
341
341
  /sf:audit --import "[Critical] SQL injection; [Major] Add rate limiting"
342
- /sf:revise # Critically evaluate each item (Apply/Skip/Defer)
342
+ /sf:revise # AI analyzes feedback, then shows review options
343
+ /sf:revise --no-analysis # Skip AI analysis, go directly to manual review
343
344
  ```
344
345
 
346
+ When reviewing external feedback, Claude first analyzes each item against the
347
+ specification and provides recommendations (✓ Apply / ? Discuss / ✗ Skip)
348
+ before showing interactive options.
349
+
345
350
  ### Research & Clarification
346
351
 
347
352
  | Command | Description |
@@ -148,11 +148,22 @@ Read the command file and extract:
148
148
  ## Examples
149
149
 
150
150
  ```
151
- /sf:revise # Interactive — shows audit comments
151
+ /sf:revise # Interactive — shows audit comments with analysis
152
152
  /sf:revise all # Apply all audit comments
153
153
  /sf:revise 1,2 # Apply only comments 1 and 2
154
+ /sf:revise --no-analysis # Skip pre-analysis, go directly to review mode
154
155
  /sf:revise "add error handling, ignore item 3"
155
156
  ```
157
+
158
+ ## Flags
159
+
160
+ | Flag | Description |
161
+ |------|-------------|
162
+ | `--no-analysis` | Skip AI pre-analysis of external feedback |
163
+
164
+ **Note:** For external audits, Claude analyzes each feedback item and provides
165
+ recommendations (Apply/Discuss/Skip) before showing review options. Use
166
+ `--no-analysis` to skip this and go directly to manual review.
156
167
  ```
157
168
 
158
169
  **For `/sf:split`:**
@@ -86,6 +86,65 @@ else
86
86
  fi
87
87
  ```
88
88
 
89
+ ## Step 4.5: Pre-analyze External Feedback
90
+
91
+ **Only for external audits (AUDIT_TYPE="external"):**
92
+
93
+ Skip this step if:
94
+ - `--no-analysis` flag is present in arguments
95
+ - AUDIT_TYPE is "internal"
96
+
97
+ ### Analysis Process
98
+
99
+ Read the specification and project context, then analyze each external feedback item:
100
+
101
+ For each item in the external audit:
102
+ 1. Check if the issue actually exists in the current specification
103
+ 2. Evaluate relevance to the specification's scope and goals
104
+ 3. Consider project architecture and constraints
105
+ 4. Determine recommendation: Apply / Discuss / Skip
106
+
107
+ ### Display Analysis Results
108
+
109
+ ```
110
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
111
+ ANALYSIS: EXTERNAL FEEDBACK — SPEC-XXX
112
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
113
+
114
+ Based on specification context and project architecture:
115
+
116
+ | # | Item | Recommendation | Reason |
117
+ |---|------|----------------|--------|
118
+ | 1 | {issue description} | ✓ Apply | {why it's relevant} |
119
+ | 2 | {issue description} | ✓ Apply | {why it's relevant} |
120
+ | 3 | {issue description} | ? Discuss | {why clarification needed} |
121
+ | 4 | {issue description} | ✗ Skip | {why not applicable} |
122
+
123
+ **Summary:** {N} recommended, {M} need discussion, {K} likely irrelevant
124
+
125
+ ---
126
+ ```
127
+
128
+ ### Recommendation Criteria
129
+
130
+ **✓ Apply** — recommend when:
131
+ - Issue clearly exists in the specification
132
+ - Fix aligns with specification goals
133
+ - Within scope of current work
134
+
135
+ **? Discuss** — recommend when:
136
+ - Issue may be valid but requires clarification
137
+ - Trade-offs need user decision
138
+ - Significant architectural change implied
139
+
140
+ **✗ Skip** — recommend when:
141
+ - Issue doesn't exist in current specification
142
+ - Clearly out of scope for this specification
143
+ - Based on incorrect assumptions about the project
144
+ - Would conflict with explicit requirements
145
+
146
+ Continue to Step 5 with analysis context available.
147
+
89
148
  ## Step 5: Parse Arguments
90
149
 
91
150
  | Argument | Action |
@@ -93,8 +152,18 @@ fi
93
152
  | (none) | Interactive mode — show comments, ask what to fix |
94
153
  | "all" | Apply all critical issues AND recommendations |
95
154
  | "1,2,3" | Apply only numbered items |
155
+ | "--no-analysis" | Skip pre-analysis, go directly to review mode |
96
156
  | "..." | Treat as custom revision instructions |
97
157
 
158
+ **Check for `--no-analysis` flag:**
159
+ ```bash
160
+ if echo "$ARGS" | grep -q "\-\-no-analysis"; then
161
+ SKIP_ANALYSIS=true
162
+ # Remove flag from args for further processing
163
+ ARGS=$(echo "$ARGS" | sed 's/--no-analysis//g' | xargs)
164
+ fi
165
+ ```
166
+
98
167
  ### If Interactive Mode (no arguments):
99
168
 
100
169
  Display audit comments with context about source:
@@ -128,6 +197,38 @@ Use AskUserQuestion with options:
128
197
 
129
198
  **For external audit (requires critical evaluation):**
130
199
 
200
+ **If pre-analysis was performed (Step 4.5):**
201
+
202
+ ```
203
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
204
+ REVIEW EXTERNAL FEEDBACK: SPEC-XXX
205
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
206
+
207
+ External Audit (v{N}) — with analysis:
208
+
209
+ | # | Item | Severity | Recommendation | Reason |
210
+ |---|------|----------|----------------|--------|
211
+ | 1 | {issue} | Critical | ✓ Apply | {reason} |
212
+ | 2 | {issue} | Critical | ✓ Apply | {reason} |
213
+ | 3 | {issue} | Major | ? Discuss | {reason} |
214
+ | 4 | {issue} | Major | ✗ Skip | {reason} |
215
+ | 5 | {issue} | Minor | ✓ Apply | {reason} |
216
+
217
+ **Analysis:** {N} recommended, {M} need discussion, {K} skip suggested
218
+
219
+ ---
220
+
221
+ How to proceed?
222
+ ```
223
+
224
+ Use AskUserQuestion with options:
225
+ - "Apply recommended" → apply items marked ✓ Apply (recommended)
226
+ - "Review each item" → interactive per-item evaluation
227
+ - "Apply all" → apply everything (ignore analysis)
228
+ - "Select specific" → ask for numbers
229
+
230
+ **If pre-analysis was skipped (`--no-analysis` or internal flow):**
231
+
131
232
  ```
132
233
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
133
234
  REVIEW EXTERNAL FEEDBACK: SPEC-XXX
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specflow-cc",
3
- "version": "1.6.3",
3
+ "version": "1.7.0",
4
4
  "description": "Spec-driven development system for Claude Code — quality-first workflow with explicit audit cycles",
5
5
  "bin": {
6
6
  "specflow-cc": "bin/install.js"