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 +27 -0
- package/README.md +6 -1
- package/commands/sf/help.md +12 -1
- package/commands/sf/revise.md +101 -0
- package/package.json +1 -1
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 #
|
|
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 |
|
package/commands/sf/help.md
CHANGED
|
@@ -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`:**
|
package/commands/sf/revise.md
CHANGED
|
@@ -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
|