@iservu-inc/adf-cli 0.9.0 → 0.10.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/.claude/settings.local.json +11 -0
- package/.project/PROJECT-SETTINGS.md +68 -0
- package/.project/chats/current/2025-10-05_UX-IMPROVEMENTS-AND-AI-ANALYSIS-CONFIG.md +389 -0
- package/.project/chats/current/SESSION-STATUS.md +170 -222
- package/.project/docs/DOCUMENTATION-UPDATE-CHECKLIST.md +196 -0
- package/.project/docs/ROADMAP.md +99 -16
- package/.project/docs/designs/PATTERN-DECAY-ALGORITHM.md +526 -0
- package/CHANGELOG.md +452 -0
- package/README.md +112 -23
- package/lib/frameworks/interviewer.js +13 -6
- package/lib/learning/decay-manager.js +336 -0
- package/lib/learning/pattern-detector.js +285 -2
- package/lib/learning/storage.js +49 -1
- package/lib/utils/pre-publish-check.js +74 -0
- package/package.json +3 -2
- package/tests/decay-manager.test.js +394 -0
- package/tests/pattern-decay.test.js +339 -0
- /package/.project/chats/{current → complete}/2025-10-05_INTELLIGENT-ANSWER-ANALYSIS.md +0 -0
- /package/.project/chats/{current → complete}/2025-10-05_MULTI-IDE-IMPROVEMENTS.md +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -5,8 +5,460 @@ All notable changes to `@iservu-inc/adf-cli` 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
|
+
## [0.10.0] - 2025-10-27
|
|
9
|
+
|
|
10
|
+
### 🧠 Pattern Decay Algorithm - Phase 6
|
|
11
|
+
|
|
12
|
+
**MAJOR FEATURE:** Intelligent pattern decay system that keeps learning data fresh and relevant over time.
|
|
13
|
+
|
|
14
|
+
#### What's New
|
|
15
|
+
|
|
16
|
+
**Pattern Decay System:**
|
|
17
|
+
- **Time-Based Exponential Decay** - Patterns lose confidence over time when inactive
|
|
18
|
+
- **Confidence-Based Decay Rates** - Stronger patterns fade slower than weaker ones
|
|
19
|
+
- **Automatic Pattern Cleanup** - Removes stale patterns below threshold or inactive 6+ months
|
|
20
|
+
- **Pattern Renewal System** - Reconfirmed patterns get confidence boost (+10 points)
|
|
21
|
+
- **User-Approved Protection** - Manually approved patterns decay at half rate
|
|
22
|
+
|
|
23
|
+
#### Technical Implementation
|
|
24
|
+
|
|
25
|
+
**Decay Formula:**
|
|
26
|
+
```javascript
|
|
27
|
+
newConfidence = currentConfidence × (1 - decayRate)^monthsInactive
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
**Decay Rates by Confidence:**
|
|
31
|
+
- High confidence (≥90%): 7.5% per month (decay slower)
|
|
32
|
+
- Medium confidence (75-89%): 15% per month (normal decay)
|
|
33
|
+
- Low confidence (<75%): 22.5% per month (decay faster)
|
|
34
|
+
|
|
35
|
+
**Pattern Lifecycle:**
|
|
36
|
+
- **Active** - Pattern confidence ≥40, seen within 6 months
|
|
37
|
+
- **Renewed** - Pattern reconfirmed, gets +10 confidence boost
|
|
38
|
+
- **Removed** - Confidence <40 OR inactive 6+ months
|
|
39
|
+
|
|
40
|
+
#### New Components
|
|
41
|
+
|
|
42
|
+
**DecayManager (lib/learning/decay-manager.js):**
|
|
43
|
+
- `loadPatternsWithDecay()` - Automatic decay on pattern load
|
|
44
|
+
- `checkForPatternRenewal()` - Match skip events to patterns and renew
|
|
45
|
+
- `cleanupStalePatterns()` - Separate active from stale patterns
|
|
46
|
+
- `triggerDecayCalculation()` - Manual decay execution
|
|
47
|
+
- `getDecayStats()` - Analytics and reporting
|
|
48
|
+
- Removal history tracking
|
|
49
|
+
|
|
50
|
+
**Enhanced Pattern Detection (lib/learning/pattern-detector.js):**
|
|
51
|
+
- `calculateDecay()` - Apply exponential decay to single pattern
|
|
52
|
+
- `getDecayRate()` - Dynamic rate calculation based on confidence
|
|
53
|
+
- `renewPattern()` - Boost pattern confidence on reconfirmation
|
|
54
|
+
- `applyDecayToPatterns()` - Batch decay application
|
|
55
|
+
- `cleanupStalePatterns()` - Identify and remove stale patterns
|
|
56
|
+
- `enhancePatternsWithMetadata()` - Add decay timestamps
|
|
57
|
+
|
|
58
|
+
**Storage Integration (lib/learning/storage.js):**
|
|
59
|
+
- `getDecayConfig()` - Load decay configuration
|
|
60
|
+
- `saveDecayConfig()` - Save decay configuration
|
|
61
|
+
- Default decay config in `getLearningConfig()`
|
|
62
|
+
|
|
63
|
+
#### Configuration
|
|
64
|
+
|
|
65
|
+
**Default Decay Settings:**
|
|
66
|
+
```json
|
|
67
|
+
{
|
|
68
|
+
"enabled": true,
|
|
69
|
+
"baseDecayRate": 0.15, // 15% per month
|
|
70
|
+
"minConfidenceThreshold": 50, // Don't filter if < 50
|
|
71
|
+
"removeBelow": 40, // Auto-remove if < 40
|
|
72
|
+
"renewalBoost": 10, // +10 points on renewal
|
|
73
|
+
"protectApproved": true, // User-approved decay at 0.5x
|
|
74
|
+
"highConfidenceThreshold": 90, // ≥90 decay slower
|
|
75
|
+
"lowConfidenceThreshold": 75, // <75 decay faster
|
|
76
|
+
"maxRenewalsPerDay": 1, // Limit inflation
|
|
77
|
+
"maxInactiveMonths": 6 // Auto-remove after 6 months
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Access via `adf config` → Learning System (coming soon).
|
|
82
|
+
|
|
83
|
+
#### Pattern Metadata
|
|
84
|
+
|
|
85
|
+
**New Timestamp Fields:**
|
|
86
|
+
- `createdAt` - When pattern was first detected
|
|
87
|
+
- `lastSeen` - Last time pattern was observed (skip event matched)
|
|
88
|
+
- `lastDecayCalculation` - Last time decay was applied
|
|
89
|
+
- `initialConfidence` - Original confidence score (for tracking history)
|
|
90
|
+
- `timesRenewed` - Count of how many times pattern was reconfirmed
|
|
91
|
+
|
|
92
|
+
#### Use Cases
|
|
93
|
+
|
|
94
|
+
**Scenario 1: Workflow Change**
|
|
95
|
+
- User builds prototypes for 3 months → skips deployment questions (90% confidence)
|
|
96
|
+
- User switches to production apps → needs deployment questions
|
|
97
|
+
- Old pattern decays over time → eventually removed automatically
|
|
98
|
+
- ✅ System adapts to workflow changes
|
|
99
|
+
|
|
100
|
+
**Scenario 2: Pattern Reconfirmation**
|
|
101
|
+
- Pattern confidence decayed to 60%
|
|
102
|
+
- User skips same question again
|
|
103
|
+
- Pattern renewed: confidence increases to 70% (+10 boost)
|
|
104
|
+
- `lastSeen` updated, decay timer resets
|
|
105
|
+
- ✅ Active patterns stay strong
|
|
106
|
+
|
|
107
|
+
#### Testing
|
|
108
|
+
|
|
109
|
+
**Test Coverage:**
|
|
110
|
+
- 25+ unit tests for decay calculations (tests/pattern-decay.test.js)
|
|
111
|
+
- 15+ integration tests for DecayManager (tests/decay-manager.test.js)
|
|
112
|
+
- Edge case testing (zero confidence, very old patterns, oscillation)
|
|
113
|
+
- All tests passing ✅
|
|
114
|
+
|
|
115
|
+
**Test Scenarios:**
|
|
116
|
+
- Exponential decay over time
|
|
117
|
+
- Confidence-based decay rates
|
|
118
|
+
- Pattern renewal with confidence boost
|
|
119
|
+
- User-approved pattern protection
|
|
120
|
+
- Automatic cleanup of stale patterns
|
|
121
|
+
- Removal history tracking
|
|
122
|
+
- Empty pattern list handling
|
|
123
|
+
|
|
124
|
+
#### Files Added
|
|
125
|
+
- `lib/learning/decay-manager.js` - Orchestration layer for decay operations
|
|
126
|
+
- `tests/pattern-decay.test.js` - Unit tests for decay calculations
|
|
127
|
+
- `tests/decay-manager.test.js` - Integration tests for DecayManager
|
|
128
|
+
- `.project/docs/designs/PATTERN-DECAY-ALGORITHM.md` - Design specification
|
|
129
|
+
|
|
130
|
+
#### Files Modified
|
|
131
|
+
- `lib/learning/pattern-detector.js` - Added decay calculation methods
|
|
132
|
+
- `lib/learning/storage.js` - Added decay config persistence
|
|
133
|
+
- `package.json` - Version 0.9.1 → 0.10.0
|
|
134
|
+
|
|
135
|
+
#### Why This Matters
|
|
136
|
+
|
|
137
|
+
**Before:** Patterns remained at high confidence indefinitely, causing stale patterns to incorrectly filter questions even after user workflows changed.
|
|
138
|
+
|
|
139
|
+
**After:** Patterns naturally decay when inactive, allowing the learning system to adapt to evolving user workflows while keeping frequently-used patterns strong through renewal.
|
|
140
|
+
|
|
141
|
+
#### Performance
|
|
142
|
+
|
|
143
|
+
- **Computational:** O(n) where n = number of patterns (~10-50)
|
|
144
|
+
- **Execution Time:** <10ms for 50 patterns
|
|
145
|
+
- **Storage Impact:** ~112 bytes per pattern for new fields
|
|
146
|
+
- **Memory:** Negligible (5.5 KB for 50 patterns)
|
|
147
|
+
|
|
148
|
+
#### Next Steps
|
|
149
|
+
|
|
150
|
+
Integration into interview workflow will be completed in a future release to:
|
|
151
|
+
- Apply decay automatically on interview start
|
|
152
|
+
- Renew patterns when skip events match
|
|
153
|
+
- Show decay statistics in learning dashboard
|
|
154
|
+
- Add decay configuration UI in `adf config`
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## [0.9.1] - 2025-10-05
|
|
159
|
+
|
|
160
|
+
### 🐛 Critical Bug Fix
|
|
161
|
+
|
|
162
|
+
**Fixed: Syntax Error in interviewer.js**
|
|
163
|
+
- **Problem:** Syntax error in `interviewer.js` causing interview to fail on startup
|
|
164
|
+
- **Root Cause:** Missing closing parenthesis in method call
|
|
165
|
+
- **Solution:** Fixed syntax error at line 380
|
|
166
|
+
- **Impact:** Interview now starts correctly without errors
|
|
167
|
+
|
|
168
|
+
**Technical Details:**
|
|
169
|
+
- Modified: `lib/frameworks/interviewer.js:380` - Fixed missing closing parenthesis
|
|
170
|
+
- All 200 tests passing
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## [0.9.0] - 2025-10-05
|
|
175
|
+
|
|
176
|
+
### 🎛️ AI Analysis Settings & Performance Modes
|
|
177
|
+
|
|
178
|
+
**MAJOR FEATURE:** Configurable AI analysis with three performance modes - giving users complete control over speed vs intelligence tradeoff.
|
|
179
|
+
|
|
180
|
+
#### Three Performance Modes
|
|
181
|
+
|
|
182
|
+
**Fast Mode:**
|
|
183
|
+
- Zero AI delays (instant responses)
|
|
184
|
+
- All AI features disabled
|
|
185
|
+
- Best for: Quick workflows, prototyping, low-priority projects
|
|
186
|
+
- Speed: ~0.5s per answer
|
|
187
|
+
|
|
188
|
+
**Balanced Mode (Default):**
|
|
189
|
+
- 2-3 seconds per answer
|
|
190
|
+
- Quality Analysis enabled
|
|
191
|
+
- Smart Filtering enabled
|
|
192
|
+
- Pattern Detection enabled
|
|
193
|
+
- Question Reordering disabled
|
|
194
|
+
- Follow-up Questions disabled
|
|
195
|
+
- Best for: Most projects
|
|
196
|
+
- Optimal balance of speed and intelligence
|
|
197
|
+
|
|
198
|
+
**Comprehensive Mode:**
|
|
199
|
+
- 4-6 seconds per answer
|
|
200
|
+
- All AI features enabled
|
|
201
|
+
- Maximum intelligence and guidance
|
|
202
|
+
- Best for: Complex projects, critical systems
|
|
203
|
+
- Most thorough analysis
|
|
204
|
+
|
|
205
|
+
#### Configurable AI Features
|
|
206
|
+
|
|
207
|
+
Five granular AI features can be toggled individually:
|
|
208
|
+
|
|
209
|
+
1. **AI-Powered Quality Analysis** (Medium Impact: 1-2s)
|
|
210
|
+
- Analyzes answer quality in real-time
|
|
211
|
+
- Provides 0-100 quality scores
|
|
212
|
+
- Suggests improvements for low-quality answers
|
|
213
|
+
|
|
214
|
+
2. **Intelligent Question Reordering** (High Impact: 2-3s)
|
|
215
|
+
- Reorders questions based on extracted knowledge
|
|
216
|
+
- Prioritizes fundamental questions first
|
|
217
|
+
- Adapts interview flow dynamically
|
|
218
|
+
|
|
219
|
+
3. **AI-Generated Follow-Up Questions** (Medium Impact: 1-2s when triggered)
|
|
220
|
+
- Creates context-specific follow-up questions
|
|
221
|
+
- Only triggers for low-quality answers (< 70 score)
|
|
222
|
+
- Helps gather missing information
|
|
223
|
+
|
|
224
|
+
4. **Pattern Detection & Learning** (Low Impact: minimal)
|
|
225
|
+
- Learns from your skip behavior
|
|
226
|
+
- Generates learned rules over time
|
|
227
|
+
- Always lightweight, runs locally
|
|
228
|
+
|
|
229
|
+
5. **Smart Question Filtering** (Low Impact: minimal)
|
|
230
|
+
- Analyzes project type and context
|
|
231
|
+
- Filters out irrelevant questions
|
|
232
|
+
- Saves time on specialized projects
|
|
233
|
+
|
|
234
|
+
#### New Configuration Category
|
|
235
|
+
|
|
236
|
+
**AI Analysis Settings** added to `adf config`:
|
|
237
|
+
```
|
|
238
|
+
⚙️ ADF Configuration
|
|
239
|
+
|
|
240
|
+
? Select configuration category:
|
|
241
|
+
AI Provider Setup - ✓ Configured (OpenAI)
|
|
242
|
+
AI Analysis Settings - Balanced Mode ⚙️ NEW
|
|
243
|
+
IDE Deployment - ✓ Deployed (Windsurf, Cursor)
|
|
244
|
+
Learning System - ✓ Active (5 sessions, 12 patterns)
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
**Configuration Menu:**
|
|
248
|
+
- Performance Mode selection (Fast/Balanced/Comprehensive)
|
|
249
|
+
- Individual feature toggles with performance impact indicators
|
|
250
|
+
- Feature descriptions explaining each capability
|
|
251
|
+
- Settings saved to `.adf/analysis-config.json`
|
|
252
|
+
|
|
253
|
+
#### User Experience
|
|
254
|
+
|
|
255
|
+
**At Interview Start:**
|
|
256
|
+
```
|
|
257
|
+
🎛️ AI Analysis Mode: Balanced
|
|
258
|
+
(Configure via: adf config → AI Analysis Settings)
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
**During Configuration:**
|
|
262
|
+
- Clear descriptions of each mode
|
|
263
|
+
- Performance impact indicators (High/Medium/Low)
|
|
264
|
+
- Recommendations for different project types
|
|
265
|
+
- Instant preview of changes
|
|
266
|
+
|
|
267
|
+
#### Benefits
|
|
268
|
+
|
|
269
|
+
- **User Control:** Complete control over AI features and performance
|
|
270
|
+
- **Flexibility:** Choose speed or intelligence based on project needs
|
|
271
|
+
- **Transparency:** Clear impact indicators for each feature
|
|
272
|
+
- **Efficiency:** Fast mode for quick workflows, Comprehensive for critical work
|
|
273
|
+
- **Progressive Enhancement:** Works with or without AI provider configured
|
|
274
|
+
|
|
275
|
+
#### Technical Implementation
|
|
276
|
+
|
|
277
|
+
**New Files:**
|
|
278
|
+
- `lib/analysis/analysis-config.js` - Configuration management and defaults
|
|
279
|
+
- `.adf/analysis-config.json` - User's analysis settings (gitignored)
|
|
280
|
+
|
|
281
|
+
**Modified Files:**
|
|
282
|
+
- `lib/commands/config.js` - Added AI Analysis Settings category
|
|
283
|
+
- `lib/frameworks/interviewer.js` - Load and display analysis mode
|
|
284
|
+
- `lib/analysis/dynamic-pipeline.js` - Respect feature toggles
|
|
285
|
+
- `lib/filters/question-filter.js` - Respect filtering toggle
|
|
286
|
+
- `lib/learning/learning-manager.js` - Respect learning toggles
|
|
287
|
+
|
|
288
|
+
**Configuration Schema:**
|
|
289
|
+
```javascript
|
|
290
|
+
{
|
|
291
|
+
mode: "balanced", // fast | balanced | comprehensive
|
|
292
|
+
features: {
|
|
293
|
+
qualityAnalysis: true,
|
|
294
|
+
questionReordering: false,
|
|
295
|
+
followUpQuestions: false,
|
|
296
|
+
patternDetection: true,
|
|
297
|
+
smartFiltering: true
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
#### Testing
|
|
303
|
+
|
|
304
|
+
- ✅ All 200 tests passing
|
|
305
|
+
- ✅ Backward compatible with existing sessions
|
|
306
|
+
- ✅ Graceful degradation if config missing
|
|
307
|
+
- ✅ Works with or without AI provider
|
|
308
|
+
|
|
309
|
+
---
|
|
310
|
+
|
|
311
|
+
## [0.8.0] - 2025-10-05
|
|
312
|
+
|
|
313
|
+
### 💾 Resume from Exit & Graceful Quit
|
|
314
|
+
|
|
315
|
+
**MAJOR FEATURE:** Resume interviews after exit and graceful Ctrl+C handling.
|
|
316
|
+
|
|
317
|
+
#### Resume Capability
|
|
318
|
+
|
|
319
|
+
**Exit Anytime:**
|
|
320
|
+
- Type `exit` at any question to save progress and quit
|
|
321
|
+
- Press `Ctrl+C` anywhere to trigger graceful exit
|
|
322
|
+
- Progress automatically saved before exiting
|
|
323
|
+
- Resume with `adf init` to continue from last question
|
|
324
|
+
|
|
325
|
+
**Resume Flow:**
|
|
326
|
+
```
|
|
327
|
+
$ adf init
|
|
328
|
+
|
|
329
|
+
📦 Resumable Session Detected
|
|
330
|
+
|
|
331
|
+
Session: my-project-session
|
|
332
|
+
Started: 2025-10-05 14:30
|
|
333
|
+
Questions answered: 8 / 20
|
|
334
|
+
Information richness: 65%
|
|
335
|
+
|
|
336
|
+
? What would you like to do?
|
|
337
|
+
❯ Resume Interview
|
|
338
|
+
Start New Session
|
|
339
|
+
Exit
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
**Smart Skip on Resume:**
|
|
343
|
+
- Already-answered questions automatically skipped
|
|
344
|
+
- Shows "✓ Already answered" with answer preview
|
|
345
|
+
- Resumes exactly where you left off
|
|
346
|
+
- No redundant questions
|
|
347
|
+
|
|
348
|
+
#### Ctrl+C Graceful Quit
|
|
349
|
+
|
|
350
|
+
**Global Handler:**
|
|
351
|
+
- Catches `Ctrl+C` (SIGINT) anywhere in interview
|
|
352
|
+
- Saves progress automatically before exit
|
|
353
|
+
- Shows confirmation message
|
|
354
|
+
- Clean exit (no error messages)
|
|
355
|
+
|
|
356
|
+
**Works From:**
|
|
357
|
+
- Question prompts
|
|
358
|
+
- Menu selections
|
|
359
|
+
- AI configuration
|
|
360
|
+
- Anywhere during interview
|
|
361
|
+
|
|
362
|
+
#### Benefits
|
|
363
|
+
|
|
364
|
+
- **Flexibility:** Exit and resume anytime without losing work
|
|
365
|
+
- **Safety:** Automatic progress saving on exit
|
|
366
|
+
- **Convenience:** Both `exit` command and `Ctrl+C` supported
|
|
367
|
+
- **Transparency:** Clear messaging about saved progress
|
|
368
|
+
- **User Control:** Choose to resume or start new session
|
|
369
|
+
|
|
370
|
+
#### Technical Implementation
|
|
371
|
+
|
|
372
|
+
**Modified Files:**
|
|
373
|
+
- `lib/frameworks/interviewer.js`:
|
|
374
|
+
- Added exit command detection
|
|
375
|
+
- Added Ctrl+C handler registration
|
|
376
|
+
- Skip already-answered questions on resume
|
|
377
|
+
- Show answer preview for skipped questions
|
|
378
|
+
- Clean exit messaging
|
|
379
|
+
|
|
380
|
+
**Resume Detection:**
|
|
381
|
+
- Checks `_progress.json` for existing session
|
|
382
|
+
- Validates session state
|
|
383
|
+
- Prompts user to resume or start new
|
|
384
|
+
- Preserves all context (answers, quality metrics, blocks)
|
|
385
|
+
|
|
386
|
+
#### Testing
|
|
387
|
+
|
|
388
|
+
- ✅ All 200 tests passing
|
|
389
|
+
- ✅ Exit at any question works
|
|
390
|
+
- ✅ Ctrl+C handler works globally
|
|
391
|
+
- ✅ Resume from exact position works
|
|
392
|
+
- ✅ Already-answered questions skipped correctly
|
|
393
|
+
|
|
394
|
+
---
|
|
395
|
+
|
|
396
|
+
## [0.7.1] - 2025-10-05
|
|
397
|
+
|
|
398
|
+
### 🔄 Reverted to Terminal Input
|
|
399
|
+
|
|
400
|
+
**UX FIX:** Reverted external editor approach (v0.6.0-v0.7.0) back to simple terminal input.
|
|
401
|
+
|
|
402
|
+
#### What Changed
|
|
403
|
+
|
|
404
|
+
**Reverted:**
|
|
405
|
+
- ❌ External editor (Notepad, nano, vi) - Bad UX, too disruptive
|
|
406
|
+
- ❌ Multi-line input experiment - Added complexity without value
|
|
407
|
+
- ✅ Back to simple terminal input with exit/skip shortcuts
|
|
408
|
+
|
|
409
|
+
**Why We Reverted:**
|
|
410
|
+
- External editor was jarring and disruptive to workflow
|
|
411
|
+
- Opening Notepad for every answer broke flow state
|
|
412
|
+
- Users prefer inline typing despite cursor lag
|
|
413
|
+
- Cursor lag accepted as terminal limitation (not critical)
|
|
414
|
+
|
|
415
|
+
**What We Kept:**
|
|
416
|
+
- ✅ Exit shortcut functionality (type "exit" to quit)
|
|
417
|
+
- ✅ Skip shortcut (type "skip" to skip questions)
|
|
418
|
+
- ✅ Resume capability from v0.8.0
|
|
419
|
+
|
|
420
|
+
#### Current Behavior
|
|
421
|
+
|
|
422
|
+
**Answer Input:**
|
|
423
|
+
- Type directly in terminal (single line)
|
|
424
|
+
- Type "skip" to skip remaining questions in block
|
|
425
|
+
- Type "exit" to save and quit (resume later)
|
|
426
|
+
- Press Ctrl+C for graceful quit
|
|
427
|
+
- Cursor lag accepted as terminal quirk
|
|
428
|
+
|
|
429
|
+
#### Benefits
|
|
430
|
+
|
|
431
|
+
- **Better UX:** Inline typing feels more natural
|
|
432
|
+
- **No disruption:** No external editor popup
|
|
433
|
+
- **Fast workflow:** Minimal friction
|
|
434
|
+
- **User preference:** Community feedback validated inline approach
|
|
435
|
+
|
|
436
|
+
#### Technical Details
|
|
437
|
+
|
|
438
|
+
- Reverted: `lib/frameworks/interviewer.js` - Back to `type: 'input'`
|
|
439
|
+
- Removed: Editor workflow code and instructions
|
|
440
|
+
- Kept: Exit and skip functionality
|
|
441
|
+
- All 200 tests passing
|
|
442
|
+
|
|
443
|
+
---
|
|
444
|
+
|
|
445
|
+
## [0.7.0] - 2025-10-05
|
|
446
|
+
|
|
447
|
+
### ⚠️ Note: This version was reverted in v0.7.1
|
|
448
|
+
|
|
449
|
+
**Exit Shortcut Feature:**
|
|
450
|
+
- Added `exit` command to quit interview anytime
|
|
451
|
+
- Type "exit" at any question to save progress and quit
|
|
452
|
+
- Resume with `adf init` to continue
|
|
453
|
+
|
|
454
|
+
**Note:** External editor approach from v0.6.0 was continued in this version but later reverted in v0.7.1 based on user feedback.
|
|
455
|
+
|
|
456
|
+
---
|
|
457
|
+
|
|
8
458
|
## [0.6.0] - 2025-10-05
|
|
9
459
|
|
|
460
|
+
### ⚠️ Note: This version was reverted in v0.7.1
|
|
461
|
+
|
|
10
462
|
### 🎯 Fixed Cursor Positioning with Editor Input
|
|
11
463
|
|
|
12
464
|
**FIX:** Switched from inline input to editor-based input to fix cursor lag on multi-line answers.
|
package/README.md
CHANGED
|
@@ -62,7 +62,7 @@ adf init --rapid --tool cursor
|
|
|
62
62
|
|
|
63
63
|
### Configure ADF Settings
|
|
64
64
|
|
|
65
|
-
Configure ADF settings like AI provider, learning system, and more:
|
|
65
|
+
Configure ADF settings like AI provider, AI analysis settings, learning system, and more:
|
|
66
66
|
|
|
67
67
|
```bash
|
|
68
68
|
adf config
|
|
@@ -70,14 +70,17 @@ adf config
|
|
|
70
70
|
|
|
71
71
|
This command provides an interactive menu with:
|
|
72
72
|
- **AI Provider Setup** - Configure Anthropic, OpenAI, Google Gemini, or OpenRouter
|
|
73
|
+
- **AI Analysis Settings** - Configure performance modes and AI features
|
|
74
|
+
- **IDE Deployment** - Deploy to multiple IDEs
|
|
73
75
|
- **Learning System** - Manage interview learning data and preferences
|
|
74
76
|
- Status indicators showing what's configured (green ✓), disabled (yellow ○), or has data
|
|
75
|
-
- Future configuration options (coming soon)
|
|
76
77
|
|
|
77
78
|
You can run `adf config` anytime to:
|
|
78
79
|
- Configure AI for the first time
|
|
79
80
|
- Switch AI providers or models
|
|
80
81
|
- Update your API keys
|
|
82
|
+
- Adjust AI analysis performance and features
|
|
83
|
+
- Deploy to development tools
|
|
81
84
|
- Review learning patterns and manage learned preferences
|
|
82
85
|
|
|
83
86
|
### Deploy to Development Tool
|
|
@@ -203,6 +206,78 @@ Select "AI Provider Setup" and you'll see:
|
|
|
203
206
|
|
|
204
207
|
Your previous API keys remain saved in `.adf/.env` for easy switching between providers.
|
|
205
208
|
|
|
209
|
+
## AI Analysis Settings
|
|
210
|
+
|
|
211
|
+
ADF CLI provides three performance modes and five configurable AI features, giving you complete control over the speed vs intelligence tradeoff during interviews.
|
|
212
|
+
|
|
213
|
+
### Performance Modes
|
|
214
|
+
|
|
215
|
+
Configure via `adf config` → AI Analysis Settings:
|
|
216
|
+
|
|
217
|
+
**Fast Mode:**
|
|
218
|
+
- Zero AI delays (~0.5s per answer)
|
|
219
|
+
- All AI features disabled
|
|
220
|
+
- Best for: Quick workflows, prototyping, low-priority projects
|
|
221
|
+
|
|
222
|
+
**Balanced Mode (Default):**
|
|
223
|
+
- 2-3 seconds per answer
|
|
224
|
+
- Quality Analysis, Smart Filtering, and Pattern Detection enabled
|
|
225
|
+
- Question Reordering and Follow-up Questions disabled
|
|
226
|
+
- Best for: Most projects - optimal balance of speed and intelligence
|
|
227
|
+
|
|
228
|
+
**Comprehensive Mode:**
|
|
229
|
+
- 4-6 seconds per answer
|
|
230
|
+
- All AI features enabled
|
|
231
|
+
- Maximum intelligence and guidance
|
|
232
|
+
- Best for: Complex projects, critical systems, maximum thoroughness
|
|
233
|
+
|
|
234
|
+
### Configurable AI Features
|
|
235
|
+
|
|
236
|
+
Five AI features can be toggled individually:
|
|
237
|
+
|
|
238
|
+
1. **AI-Powered Quality Analysis** (Medium Impact: 1-2s)
|
|
239
|
+
- Real-time answer quality scoring (0-100)
|
|
240
|
+
- Improvement suggestions for low-quality answers
|
|
241
|
+
- Helps ensure comprehensive requirements gathering
|
|
242
|
+
|
|
243
|
+
2. **Intelligent Question Reordering** (High Impact: 2-3s)
|
|
244
|
+
- Dynamically reorders questions based on extracted knowledge
|
|
245
|
+
- Prioritizes fundamental questions first
|
|
246
|
+
- Adapts interview flow to your answers
|
|
247
|
+
|
|
248
|
+
3. **AI-Generated Follow-Up Questions** (Medium Impact: 1-2s when triggered)
|
|
249
|
+
- Context-specific follow-ups for incomplete answers
|
|
250
|
+
- Only triggers for low-quality answers (< 70 score)
|
|
251
|
+
- Helps gather missing information intelligently
|
|
252
|
+
|
|
253
|
+
4. **Pattern Detection & Learning** (Low Impact: minimal)
|
|
254
|
+
- Learns from your skip behavior over time
|
|
255
|
+
- Generates learned rules from patterns
|
|
256
|
+
- Lightweight, runs locally
|
|
257
|
+
|
|
258
|
+
5. **Smart Question Filtering** (Low Impact: minimal)
|
|
259
|
+
- Analyzes project type and context
|
|
260
|
+
- Filters out irrelevant questions automatically
|
|
261
|
+
- Saves time on specialized projects (CLI tools, APIs, etc.)
|
|
262
|
+
|
|
263
|
+
### Configuration
|
|
264
|
+
|
|
265
|
+
Access AI Analysis Settings:
|
|
266
|
+
|
|
267
|
+
```bash
|
|
268
|
+
adf config
|
|
269
|
+
# Select "AI Analysis Settings"
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
Settings are saved to `.adf/analysis-config.json` and apply to all future interviews.
|
|
273
|
+
|
|
274
|
+
**Performance Mode Display:**
|
|
275
|
+
At interview start, you'll see:
|
|
276
|
+
```
|
|
277
|
+
🎛️ AI Analysis Mode: Balanced
|
|
278
|
+
(Configure via: adf config → AI Analysis Settings)
|
|
279
|
+
```
|
|
280
|
+
|
|
206
281
|
## Learning System
|
|
207
282
|
|
|
208
283
|
ADF CLI includes an intelligent Learning System that improves your interview experience by learning from your behavior across sessions.
|
|
@@ -414,27 +489,41 @@ When we release updates to the framework:
|
|
|
414
489
|
|
|
415
490
|
See [CHANGELOG.md](./CHANGELOG.md) for detailed version history.
|
|
416
491
|
|
|
417
|
-
**Latest:** v0.
|
|
418
|
-
- **
|
|
419
|
-
-
|
|
420
|
-
-
|
|
421
|
-
-
|
|
422
|
-
-
|
|
423
|
-
-
|
|
424
|
-
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
-
|
|
429
|
-
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
-
|
|
433
|
-
-
|
|
434
|
-
-
|
|
435
|
-
-
|
|
436
|
-
-
|
|
437
|
-
-
|
|
492
|
+
**Latest:** v0.10.0 (2025-10-27)
|
|
493
|
+
- **Pattern Decay Algorithm (v0.10.0)** - Phase 6: Advanced Learning Features
|
|
494
|
+
- Time-based exponential decay for inactive patterns
|
|
495
|
+
- Confidence-based decay rates (high/medium/low)
|
|
496
|
+
- Automatic pattern cleanup and renewal system
|
|
497
|
+
- 40+ comprehensive tests for decay functionality
|
|
498
|
+
- Pattern metadata tracking (timestamps, renewal counts)
|
|
499
|
+
- Removal history and analytics
|
|
500
|
+
|
|
501
|
+
**Previous Release:** v0.9.1 (2025-10-05)
|
|
502
|
+
- **AI Analysis Settings (v0.9.0)** - Performance modes and configurable AI features
|
|
503
|
+
- Three performance modes: Fast, Balanced, Comprehensive
|
|
504
|
+
- Five individually configurable AI features
|
|
505
|
+
- Complete control over speed vs intelligence tradeoff
|
|
506
|
+
- New configuration category in `adf config`
|
|
507
|
+
- Performance mode display at interview start
|
|
508
|
+
- **Resume from Exit (v0.8.0)** - Resume interviews after exit
|
|
509
|
+
- Type `exit` or press Ctrl+C to save progress and quit
|
|
510
|
+
- Resume with `adf init` continues from last question
|
|
511
|
+
- Already-answered questions automatically skipped
|
|
512
|
+
- Graceful quit handling everywhere
|
|
513
|
+
- **UX Improvements (v0.5.1-v0.7.1)** - Enhanced user experience
|
|
514
|
+
- Terminal input restoration (v0.7.1)
|
|
515
|
+
- Better existing project detection with clear options
|
|
516
|
+
- Post-install information display
|
|
517
|
+
- Configuration validation and auto-reset
|
|
518
|
+
|
|
519
|
+
**Previous Releases:**
|
|
520
|
+
- **v0.5.0** - Intelligent Answer Analysis & Dynamic Question Pipeline
|
|
521
|
+
- **v0.4.36** - Multi-IDE Improvements & Config Command Enhancement
|
|
522
|
+
- **v0.4.12** - Learning System (Phase 4.2) & Smart Question Filtering (Phase 4.1)
|
|
523
|
+
- **v0.3.6** - Configuration Command & Optional AI Setup
|
|
524
|
+
- **v0.3.4** - Multi-Provider AI Integration (Anthropic, OpenAI, Google, OpenRouter)
|
|
525
|
+
- **v0.2.0** - Quality-Based Progress Tracking & Resume Capability
|
|
526
|
+
- **v0.1.0** - Initial Release
|
|
438
527
|
|
|
439
528
|
## Troubleshooting
|
|
440
529
|
|
|
@@ -278,12 +278,19 @@ class Interviewer {
|
|
|
278
278
|
console.log('');
|
|
279
279
|
projectContext = { type: 'unknown', frameworks: [], languages: [], confidence: 0 };
|
|
280
280
|
|
|
281
|
-
// Still initialize skip tracker for basic tracking
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
281
|
+
// Still initialize skip tracker for basic tracking (only if pattern detection enabled)
|
|
282
|
+
if (this.analysisConfig.features.patternDetection) {
|
|
283
|
+
this.skipTracker = new SkipTracker(this.projectPath, {
|
|
284
|
+
projectType: 'unknown',
|
|
285
|
+
frameworks: [],
|
|
286
|
+
languages: []
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
} else {
|
|
291
|
+
// Smart filtering disabled - set defaults
|
|
292
|
+
console.log(chalk.gray('ℹ️ Smart filtering disabled by configuration\n'));
|
|
293
|
+
projectContext = { type: 'unknown', frameworks: [], languages: [], confidence: 0 };
|
|
287
294
|
}
|
|
288
295
|
|
|
289
296
|
// Get questions for framework
|