devforgeai 1.0.4 → 1.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.
- package/CLAUDE.md +120 -0
- package/package.json +9 -1
- package/src/CLAUDE.md +699 -0
- package/src/claude/scripts/README.md +396 -0
- package/src/claude/scripts/audit-command-skill-overlap.sh +67 -0
- package/src/claude/scripts/check-hooks-fast.sh +70 -0
- package/src/claude/scripts/devforgeai-validate +6 -0
- package/src/claude/scripts/devforgeai_cli/README.md +531 -0
- package/src/claude/scripts/devforgeai_cli/__init__.py +12 -0
- package/src/claude/scripts/devforgeai_cli/cli.py +716 -0
- package/src/claude/scripts/devforgeai_cli/commands/__init__.py +1 -0
- package/src/claude/scripts/devforgeai_cli/commands/check_hooks.py +384 -0
- package/src/claude/scripts/devforgeai_cli/commands/invoke_hooks.py +149 -0
- package/src/claude/scripts/devforgeai_cli/commands/phase_commands.py +731 -0
- package/src/claude/scripts/devforgeai_cli/commands/validate_installation.py +412 -0
- package/src/claude/scripts/devforgeai_cli/context_extraction.py +426 -0
- package/src/claude/scripts/devforgeai_cli/feedback/AC_TO_TEST_MAPPING.md +636 -0
- package/src/claude/scripts/devforgeai_cli/feedback/DELIVERY_SUMMARY.txt +329 -0
- package/src/claude/scripts/devforgeai_cli/feedback/README_TEST_SPECS.md +486 -0
- package/src/claude/scripts/devforgeai_cli/feedback/TEST_IMPLEMENTATION_GUIDE.md +529 -0
- package/src/claude/scripts/devforgeai_cli/feedback/TEST_SPECIFICATIONS.md +2652 -0
- package/src/claude/scripts/devforgeai_cli/feedback/TEST_SPECS_INDEX.md +398 -0
- package/src/claude/scripts/devforgeai_cli/feedback/__init__.py +34 -0
- package/src/claude/scripts/devforgeai_cli/feedback/adaptive_questioning_engine.py +581 -0
- package/src/claude/scripts/devforgeai_cli/feedback/aggregation.py +179 -0
- package/src/claude/scripts/devforgeai_cli/feedback/commands.py +535 -0
- package/src/claude/scripts/devforgeai_cli/feedback/config_defaults.py +58 -0
- package/src/claude/scripts/devforgeai_cli/feedback/config_manager.py +423 -0
- package/src/claude/scripts/devforgeai_cli/feedback/config_models.py +192 -0
- package/src/claude/scripts/devforgeai_cli/feedback/config_schema.py +140 -0
- package/src/claude/scripts/devforgeai_cli/feedback/coverage.json +1 -0
- package/src/claude/scripts/devforgeai_cli/feedback/feature_flag.py +152 -0
- package/src/claude/scripts/devforgeai_cli/feedback/feedback_indexer.py +394 -0
- package/src/claude/scripts/devforgeai_cli/feedback/hot_reload.py +226 -0
- package/src/claude/scripts/devforgeai_cli/feedback/longitudinal.py +115 -0
- package/src/claude/scripts/devforgeai_cli/feedback/models.py +67 -0
- package/src/claude/scripts/devforgeai_cli/feedback/question_router.py +236 -0
- package/src/claude/scripts/devforgeai_cli/feedback/retrospective.py +233 -0
- package/src/claude/scripts/devforgeai_cli/feedback/skip_tracker.py +177 -0
- package/src/claude/scripts/devforgeai_cli/feedback/skip_tracking.py +221 -0
- package/src/claude/scripts/devforgeai_cli/feedback/template_engine.py +549 -0
- package/src/claude/scripts/devforgeai_cli/feedback/validation.py +163 -0
- package/src/claude/scripts/devforgeai_cli/headless/__init__.py +30 -0
- package/src/claude/scripts/devforgeai_cli/headless/answer_models.py +206 -0
- package/src/claude/scripts/devforgeai_cli/headless/answer_resolver.py +204 -0
- package/src/claude/scripts/devforgeai_cli/headless/exceptions.py +36 -0
- package/src/claude/scripts/devforgeai_cli/headless/pattern_matcher.py +156 -0
- package/src/claude/scripts/devforgeai_cli/hooks.py +313 -0
- package/src/claude/scripts/devforgeai_cli/metrics/__init__.py +46 -0
- package/src/claude/scripts/devforgeai_cli/metrics/command_metrics.py +142 -0
- package/src/claude/scripts/devforgeai_cli/metrics/failure_modes.py +152 -0
- package/src/claude/scripts/devforgeai_cli/metrics/story_segmentation.py +181 -0
- package/src/claude/scripts/devforgeai_cli/orchestrate_hooks.py +780 -0
- package/src/claude/scripts/devforgeai_cli/phase_state.py +1229 -0
- package/src/claude/scripts/devforgeai_cli/session/__init__.py +30 -0
- package/src/claude/scripts/devforgeai_cli/session/checkpoint.py +268 -0
- package/src/claude/scripts/devforgeai_cli/tests/__init__.py +1 -0
- package/src/claude/scripts/devforgeai_cli/tests/conftest.py +29 -0
- package/src/claude/scripts/devforgeai_cli/tests/feedback/TEST_EXECUTION_GUIDE.md +298 -0
- package/src/claude/scripts/devforgeai_cli/tests/feedback/__init__.py +3 -0
- package/src/claude/scripts/devforgeai_cli/tests/feedback/test_adaptive_questioning_engine.py +2171 -0
- package/src/claude/scripts/devforgeai_cli/tests/feedback/test_aggregation.py +476 -0
- package/src/claude/scripts/devforgeai_cli/tests/feedback/test_config_defaults.py +133 -0
- package/src/claude/scripts/devforgeai_cli/tests/feedback/test_config_manager.py +592 -0
- package/src/claude/scripts/devforgeai_cli/tests/feedback/test_config_models.py +373 -0
- package/src/claude/scripts/devforgeai_cli/tests/feedback/test_config_schema.py +130 -0
- package/src/claude/scripts/devforgeai_cli/tests/feedback/test_configuration_management.py +1355 -0
- package/src/claude/scripts/devforgeai_cli/tests/feedback/test_edge_cases.py +308 -0
- package/src/claude/scripts/devforgeai_cli/tests/feedback/test_feature_flag.py +307 -0
- package/src/claude/scripts/devforgeai_cli/tests/feedback/test_feedback_indexer.py +384 -0
- package/src/claude/scripts/devforgeai_cli/tests/feedback/test_hot_reload.py +580 -0
- package/src/claude/scripts/devforgeai_cli/tests/feedback/test_integration.py +402 -0
- package/src/claude/scripts/devforgeai_cli/tests/feedback/test_models.py +105 -0
- package/src/claude/scripts/devforgeai_cli/tests/feedback/test_question_routing.py +262 -0
- package/src/claude/scripts/devforgeai_cli/tests/feedback/test_retrospective.py +333 -0
- package/src/claude/scripts/devforgeai_cli/tests/feedback/test_skip_tracker.py +410 -0
- package/src/claude/scripts/devforgeai_cli/tests/feedback/test_skip_tracking.py +159 -0
- package/src/claude/scripts/devforgeai_cli/tests/feedback/test_skip_tracking_integration.py +1155 -0
- package/src/claude/scripts/devforgeai_cli/tests/feedback/test_template_engine.py +1389 -0
- package/src/claude/scripts/devforgeai_cli/tests/feedback/test_validation_comprehensive.py +210 -0
- package/src/claude/scripts/devforgeai_cli/tests/fixtures/autonomous-deferral-story.md +46 -0
- package/src/claude/scripts/devforgeai_cli/tests/fixtures/missing-impl-notes.md +31 -0
- package/src/claude/scripts/devforgeai_cli/tests/fixtures/valid-deferral-story.md +46 -0
- package/src/claude/scripts/devforgeai_cli/tests/fixtures/valid-story-complete.md +48 -0
- package/src/claude/scripts/devforgeai_cli/tests/manual_test_invoke_hooks.sh +200 -0
- package/src/claude/scripts/devforgeai_cli/tests/session/DELIVERABLES.md +518 -0
- package/src/claude/scripts/devforgeai_cli/tests/session/TEST_SUMMARY.md +468 -0
- package/src/claude/scripts/devforgeai_cli/tests/session/__init__.py +6 -0
- package/src/claude/scripts/devforgeai_cli/tests/session/fixtures/corrupted-checkpoint.json +1 -0
- package/src/claude/scripts/devforgeai_cli/tests/session/fixtures/missing-fields-checkpoint.json +4 -0
- package/src/claude/scripts/devforgeai_cli/tests/session/fixtures/valid-checkpoint.json +15 -0
- package/src/claude/scripts/devforgeai_cli/tests/session/test_checkpoint.py +851 -0
- package/src/claude/scripts/devforgeai_cli/tests/test_check_hooks.py +1886 -0
- package/src/claude/scripts/devforgeai_cli/tests/test_depends_on_normalizer.py +171 -0
- package/src/claude/scripts/devforgeai_cli/tests/test_dod_validator.py +97 -0
- package/src/claude/scripts/devforgeai_cli/tests/test_invoke_hooks.py +1902 -0
- package/src/claude/scripts/devforgeai_cli/tests/test_phase_commands.py +320 -0
- package/src/claude/scripts/devforgeai_cli/tests/test_phase_commands_error_handling.py +1021 -0
- package/src/claude/scripts/devforgeai_cli/tests/test_phase_commands_import.py +697 -0
- package/src/claude/scripts/devforgeai_cli/tests/test_phase_state.py +2187 -0
- package/src/claude/scripts/devforgeai_cli/tests/test_skip_tracking.py +2141 -0
- package/src/claude/scripts/devforgeai_cli/tests/test_skip_tracking_coverage_gap.py +195 -0
- package/src/claude/scripts/devforgeai_cli/tests/test_subagent_enforcement.py +539 -0
- package/src/claude/scripts/devforgeai_cli/tests/test_validate_installation.py +361 -0
- package/src/claude/scripts/devforgeai_cli/utils/__init__.py +11 -0
- package/src/claude/scripts/devforgeai_cli/utils/depends_on_normalizer.py +149 -0
- package/src/claude/scripts/devforgeai_cli/utils/markdown_parser.py +219 -0
- package/src/claude/scripts/devforgeai_cli/utils/story_analyzer.py +249 -0
- package/src/claude/scripts/devforgeai_cli/utils/yaml_parser.py +152 -0
- package/src/claude/scripts/devforgeai_cli/validators/__init__.py +27 -0
- package/src/claude/scripts/devforgeai_cli/validators/ast_grep_validator.py +373 -0
- package/src/claude/scripts/devforgeai_cli/validators/context_validator.py +180 -0
- package/src/claude/scripts/devforgeai_cli/validators/dod_validator.py +309 -0
- package/src/claude/scripts/devforgeai_cli/validators/git_validator.py +107 -0
- package/src/claude/scripts/devforgeai_cli/validators/grep_fallback.py +300 -0
- package/src/claude/scripts/install_hooks.sh +186 -0
- package/src/claude/scripts/invoke_feedback_hooks.sh +59 -0
- package/src/claude/scripts/migrate-ac-headers.sh +122 -0
- package/src/claude/scripts/plan_file_kb.sh +704 -0
- package/src/claude/scripts/requirements.txt +8 -0
- package/src/claude/scripts/session_catalog.sh +543 -0
- package/src/claude/scripts/setup.py +55 -0
- package/src/claude/scripts/start-devforgeai.sh +16 -0
- package/src/claude/scripts/statusline.sh +27 -0
- package/src/claude/scripts/validate_deferrals.py +344 -0
- package/src/claude/skills/devforgeai-qa/SKILL.md +1 -1
- package/src/claude/skills/researching-market/SKILL.md +2 -1
- package/src/cli/lib/copier.js +13 -1
- package/src/claude/skills/designing-systems/scripts/__pycache__/detect_anti_patterns.cpython-312.pyc +0 -0
- package/src/claude/skills/designing-systems/scripts/__pycache__/validate_all_context.cpython-312.pyc +0 -0
- package/src/claude/skills/designing-systems/scripts/__pycache__/validate_architecture.cpython-312.pyc +0 -0
- package/src/claude/skills/designing-systems/scripts/__pycache__/validate_dependencies.cpython-312.pyc +0 -0
- package/src/claude/skills/devforgeai-story-creation/scripts/__pycache__/migrate_story_v1_to_v2.cpython-312.pyc +0 -0
- package/src/claude/skills/devforgeai-story-creation/scripts/tests/__pycache__/measure_accuracy.cpython-312.pyc +0 -0
|
@@ -0,0 +1,398 @@
|
|
|
1
|
+
# Test Specifications Index
|
|
2
|
+
|
|
3
|
+
**STORY-011: Configuration Management System**
|
|
4
|
+
**Status:** Test Specifications Complete
|
|
5
|
+
**Date:** 2025-11-10
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Documents Overview
|
|
10
|
+
|
|
11
|
+
This directory contains 4 comprehensive test specification documents:
|
|
12
|
+
|
|
13
|
+
### 1. README_TEST_SPECS.md (START HERE)
|
|
14
|
+
**Purpose:** Executive summary and quick start guide
|
|
15
|
+
**Audience:** Anyone new to the test specifications
|
|
16
|
+
**Length:** ~300 lines
|
|
17
|
+
**Read Time:** 15-20 minutes
|
|
18
|
+
|
|
19
|
+
**Contains:**
|
|
20
|
+
- Overview and document guide
|
|
21
|
+
- Quick start (5 steps)
|
|
22
|
+
- Module breakdown
|
|
23
|
+
- Implementation roadmap (4 phases)
|
|
24
|
+
- FAQ and troubleshooting
|
|
25
|
+
- Success criteria checklist
|
|
26
|
+
|
|
27
|
+
**Key Takeaway:** Understanding of overall test plan, implementation approach, and next steps
|
|
28
|
+
|
|
29
|
+
**Start here if:** You want to understand the big picture before diving into details
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
### 2. TEST_IMPLEMENTATION_GUIDE.md (FOR PLANNING)
|
|
34
|
+
**Purpose:** Detailed implementation roadmap with timeline
|
|
35
|
+
**Audience:** Project managers, sprint planners, developers
|
|
36
|
+
**Length:** ~800 lines
|
|
37
|
+
**Read Time:** 30-45 minutes
|
|
38
|
+
|
|
39
|
+
**Contains:**
|
|
40
|
+
- Summary statistics (263 tests, 435 statements)
|
|
41
|
+
- Module-by-module breakdown with priorities
|
|
42
|
+
- Implementation roadmap (4 phases, 35-41 hours)
|
|
43
|
+
- Common testing patterns with code examples
|
|
44
|
+
- Pytest configuration (pytest.ini, conftest.py)
|
|
45
|
+
- Running tests (commands, examples)
|
|
46
|
+
- AC to test mapping table
|
|
47
|
+
- Implementation checklist (73 items)
|
|
48
|
+
- Estimated hours by phase
|
|
49
|
+
|
|
50
|
+
**Key Takeaway:** Detailed understanding of effort, timeline, and how to execute implementation
|
|
51
|
+
|
|
52
|
+
**Start here if:** You're planning sprints or estimating effort
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
### 3. TEST_SPECIFICATIONS.md (IMPLEMENTATION REFERENCE)
|
|
57
|
+
**Purpose:** Detailed test method specifications (implementation guide)
|
|
58
|
+
**Audience:** Developers implementing tests
|
|
59
|
+
**Length:** ~11,000 lines (comprehensive)
|
|
60
|
+
**Read Time:** 2-3 hours (by module)
|
|
61
|
+
|
|
62
|
+
**Contains:**
|
|
63
|
+
- 6 module sections (config_manager, hot_reload, config_models, skip_tracker, config_schema, config_defaults)
|
|
64
|
+
- 9 test classes per module (on average)
|
|
65
|
+
- 263+ individual test method specifications
|
|
66
|
+
- For each test:
|
|
67
|
+
- Purpose (what behavior is tested)
|
|
68
|
+
- Setup (how to initialize)
|
|
69
|
+
- Assertions (what to verify)
|
|
70
|
+
- Coverage targets (which lines)
|
|
71
|
+
- Edge cases and error paths
|
|
72
|
+
|
|
73
|
+
**Key Takeaway:** Complete reference for implementing every test method
|
|
74
|
+
|
|
75
|
+
**Start here if:** You're implementing test methods and need detailed specifications
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
### 4. AC_TO_TEST_MAPPING.md (REQUIREMENTS TRACEABILITY)
|
|
80
|
+
**Purpose:** Map acceptance criteria to test methods
|
|
81
|
+
**Audience:** QA, requirements verification, auditors
|
|
82
|
+
**Length:** ~800 lines
|
|
83
|
+
**Read Time:** 30-45 minutes
|
|
84
|
+
|
|
85
|
+
**Contains:**
|
|
86
|
+
- 9 acceptance criteria sections (AC-1 through AC-9)
|
|
87
|
+
- For each AC:
|
|
88
|
+
- Requirement statement
|
|
89
|
+
- Test methods that verify it
|
|
90
|
+
- Assertion examples with code
|
|
91
|
+
- Related line numbers in code
|
|
92
|
+
- Specifications section
|
|
93
|
+
- Summary matrix (tests per AC)
|
|
94
|
+
- Test execution strategy by AC
|
|
95
|
+
- Validation checklist
|
|
96
|
+
|
|
97
|
+
**Key Takeaway:** 100% traceability from requirements to tests
|
|
98
|
+
|
|
99
|
+
**Start here if:** You need to verify AC coverage or test a specific feature
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## How to Use These Documents
|
|
104
|
+
|
|
105
|
+
### Scenario 1: New to the Project
|
|
106
|
+
1. **Read:** README_TEST_SPECS.md (15 min)
|
|
107
|
+
2. **Understand:** 263 tests, 4 phases, 35-41 hours
|
|
108
|
+
3. **Plan:** Use TEST_IMPLEMENTATION_GUIDE.md (30 min)
|
|
109
|
+
4. **Execute:** Start with Phase 1 data models
|
|
110
|
+
|
|
111
|
+
### Scenario 2: Implementing Tests
|
|
112
|
+
1. **Reference:** TEST_SPECIFICATIONS.md
|
|
113
|
+
2. **Search:** By test class name
|
|
114
|
+
3. **Read:** Test method specification
|
|
115
|
+
4. **Implement:** Copy purpose/setup/assertions structure
|
|
116
|
+
|
|
117
|
+
### Scenario 3: Verifying AC Coverage
|
|
118
|
+
1. **Reference:** AC_TO_TEST_MAPPING.md
|
|
119
|
+
2. **Search:** By AC number (AC-1, AC-2, etc.)
|
|
120
|
+
3. **Review:** Test methods listed
|
|
121
|
+
4. **Verify:** All tests implemented and passing
|
|
122
|
+
|
|
123
|
+
### Scenario 4: Sprint Planning
|
|
124
|
+
1. **Reference:** TEST_IMPLEMENTATION_GUIDE.md
|
|
125
|
+
2. **Section:** Implementation Roadmap
|
|
126
|
+
3. **Plan:** Assign phases to team members
|
|
127
|
+
4. **Track:** Use Implementation Checklist
|
|
128
|
+
|
|
129
|
+
### Scenario 5: Coverage Validation
|
|
130
|
+
1. **Reference:** TEST_IMPLEMENTATION_GUIDE.md or AC_TO_TEST_MAPPING.md
|
|
131
|
+
2. **Coverage Table:** Module breakdown
|
|
132
|
+
3. **Run:** pytest --cov
|
|
133
|
+
4. **Verify:** 95%+ coverage per module
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Document Navigation
|
|
138
|
+
|
|
139
|
+
### By Document
|
|
140
|
+
|
|
141
|
+
#### README_TEST_SPECS.md
|
|
142
|
+
- Overview
|
|
143
|
+
- Quick start
|
|
144
|
+
- Module breakdown
|
|
145
|
+
- Implementation phases
|
|
146
|
+
- FAQ
|
|
147
|
+
|
|
148
|
+
#### TEST_IMPLEMENTATION_GUIDE.md
|
|
149
|
+
- Summary statistics
|
|
150
|
+
- Module-by-module breakdown
|
|
151
|
+
- Implementation roadmap
|
|
152
|
+
- Testing patterns
|
|
153
|
+
- Pytest configuration
|
|
154
|
+
- Running tests
|
|
155
|
+
- AC mapping
|
|
156
|
+
- Implementation checklist
|
|
157
|
+
- Estimated time
|
|
158
|
+
|
|
159
|
+
#### TEST_SPECIFICATIONS.md
|
|
160
|
+
- test_config_manager.py (68 tests)
|
|
161
|
+
- test_hot_reload.py (55 tests)
|
|
162
|
+
- test_config_models.py (59 tests)
|
|
163
|
+
- test_skip_tracker.py (51 tests)
|
|
164
|
+
- test_config_schema.py (15 tests)
|
|
165
|
+
- test_config_defaults.py (15 tests)
|
|
166
|
+
|
|
167
|
+
#### AC_TO_TEST_MAPPING.md
|
|
168
|
+
- AC-1: YAML loading
|
|
169
|
+
- AC-2: Enable/disable
|
|
170
|
+
- AC-3: Trigger modes
|
|
171
|
+
- AC-4: Conversation settings
|
|
172
|
+
- AC-5: Skip tracking
|
|
173
|
+
- AC-6: Template preferences
|
|
174
|
+
- AC-7: Invalid config errors
|
|
175
|
+
- AC-8: Default config
|
|
176
|
+
- AC-9: Hot-reload
|
|
177
|
+
|
|
178
|
+
### By Module
|
|
179
|
+
|
|
180
|
+
| Module | Tests | Guide | Specs | AC |
|
|
181
|
+
|--------|-------|-------|-------|-----|
|
|
182
|
+
| config_manager.py | 68 | ✓ | ✓ | 1,2,3,7,8,9 |
|
|
183
|
+
| hot_reload.py | 55 | ✓ | ✓ | 9 |
|
|
184
|
+
| config_models.py | 59 | ✓ | ✓ | 2,3,4,5,6,7 |
|
|
185
|
+
| skip_tracker.py | 51 | ✓ | ✓ | 5 |
|
|
186
|
+
| config_schema.py | 15 | ✓ | ✓ | - |
|
|
187
|
+
| config_defaults.py | 15 | ✓ | ✓ | 8 |
|
|
188
|
+
|
|
189
|
+
### By Acceptance Criterion
|
|
190
|
+
|
|
191
|
+
| AC | Feature | Tests | Documents |
|
|
192
|
+
|----|---------|-------|-----------|
|
|
193
|
+
| AC-1 | YAML loads | 7 | Specs, AC-Map, Guide |
|
|
194
|
+
| AC-2 | Enable/disable | 5 | Specs, AC-Map, Guide |
|
|
195
|
+
| AC-3 | Trigger modes | 8 | Specs, AC-Map, Guide |
|
|
196
|
+
| AC-4 | Conversation settings | 9 | Specs, AC-Map, Guide |
|
|
197
|
+
| AC-5 | Skip tracking | 14 | Specs, AC-Map, Guide |
|
|
198
|
+
| AC-6 | Template preferences | 11 | Specs, AC-Map, Guide |
|
|
199
|
+
| AC-7 | Invalid config errors | 16 | Specs, AC-Map, Guide |
|
|
200
|
+
| AC-8 | Default config | 15 | Specs, AC-Map, Guide |
|
|
201
|
+
| AC-9 | Hot-reload | 14 | Specs, AC-Map, Guide |
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## Quick Search Guide
|
|
206
|
+
|
|
207
|
+
### Looking for...
|
|
208
|
+
|
|
209
|
+
**Implementation timeline?**
|
|
210
|
+
→ TEST_IMPLEMENTATION_GUIDE.md § "Implementation Roadmap"
|
|
211
|
+
|
|
212
|
+
**Detailed test method specs?**
|
|
213
|
+
→ TEST_SPECIFICATIONS.md § [Module name]
|
|
214
|
+
|
|
215
|
+
**AC traceability?**
|
|
216
|
+
→ AC_TO_TEST_MAPPING.md § "AC-[number]"
|
|
217
|
+
|
|
218
|
+
**Testing patterns (threading, file I/O)?**
|
|
219
|
+
→ TEST_IMPLEMENTATION_GUIDE.md § "Testing Patterns"
|
|
220
|
+
|
|
221
|
+
**Pytest configuration?**
|
|
222
|
+
→ TEST_IMPLEMENTATION_GUIDE.md § "Pytest Configuration"
|
|
223
|
+
|
|
224
|
+
**Success criteria?**
|
|
225
|
+
→ README_TEST_SPECS.md § "Success Criteria"
|
|
226
|
+
→ TEST_IMPLEMENTATION_GUIDE.md § "Estimated Time by Phase"
|
|
227
|
+
|
|
228
|
+
**Implementation checklist?**
|
|
229
|
+
→ TEST_IMPLEMENTATION_GUIDE.md § "Implementation Checklist"
|
|
230
|
+
|
|
231
|
+
**FAQ?**
|
|
232
|
+
→ README_TEST_SPECS.md § "FAQ"
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
## Document Statistics
|
|
237
|
+
|
|
238
|
+
| Document | Lines | Sections | Details |
|
|
239
|
+
|----------|-------|----------|---------|
|
|
240
|
+
| README_TEST_SPECS.md | ~300 | 12 | Overview, quick start, FAQ |
|
|
241
|
+
| TEST_IMPLEMENTATION_GUIDE.md | ~800 | 14 | Roadmap, patterns, checklist |
|
|
242
|
+
| TEST_SPECIFICATIONS.md | ~11,000 | 6 modules, 9 classes per module, 263 tests | Complete test method specs |
|
|
243
|
+
| AC_TO_TEST_MAPPING.md | ~800 | 9 ACs, 263 tests | Requirements traceability |
|
|
244
|
+
| **TOTAL** | **~13,000** | **Multiple** | **Complete specification package** |
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## Implementation Phases
|
|
249
|
+
|
|
250
|
+
### Phase 1: Data Models (4-5 hours) ← START HERE
|
|
251
|
+
**Files to implement:**
|
|
252
|
+
- test_config_models.py (59 tests)
|
|
253
|
+
- test_config_defaults.py (15 tests)
|
|
254
|
+
- test_config_schema.py (15 tests)
|
|
255
|
+
|
|
256
|
+
**Reference:** TEST_SPECIFICATIONS.md § Test_config_models.py, test_config_defaults.py, test_config_schema.py
|
|
257
|
+
|
|
258
|
+
### Phase 2: Configuration Management (10-12 hours)
|
|
259
|
+
**Files to implement:**
|
|
260
|
+
- test_config_manager.py (68 tests)
|
|
261
|
+
|
|
262
|
+
**Reference:** TEST_SPECIFICATIONS.md § Test_config_manager.py
|
|
263
|
+
|
|
264
|
+
### Phase 3: Hot-Reload System (11-13 hours)
|
|
265
|
+
**Files to implement:**
|
|
266
|
+
- test_hot_reload.py (55 tests)
|
|
267
|
+
|
|
268
|
+
**Reference:** TEST_SPECIFICATIONS.md § Test_hot_reload.py
|
|
269
|
+
|
|
270
|
+
### Phase 4: Skip Tracking (10-11 hours)
|
|
271
|
+
**Files to implement:**
|
|
272
|
+
- test_skip_tracker.py (51 tests)
|
|
273
|
+
|
|
274
|
+
**Reference:** TEST_SPECIFICATIONS.md § Test_skip_tracker.py
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
## Key Statistics
|
|
279
|
+
|
|
280
|
+
| Metric | Value |
|
|
281
|
+
|--------|-------|
|
|
282
|
+
| Total Tests | 263+ |
|
|
283
|
+
| Total Statements | 435 |
|
|
284
|
+
| Target Coverage | 95%+ |
|
|
285
|
+
| Estimated Hours | 35-41 |
|
|
286
|
+
| Documents | 4 |
|
|
287
|
+
| Pages | ~50 |
|
|
288
|
+
| AC Coverage | 9/9 (100%) |
|
|
289
|
+
| Module Coverage | 6/6 (100%) |
|
|
290
|
+
|
|
291
|
+
---
|
|
292
|
+
|
|
293
|
+
## Implementation Checklist
|
|
294
|
+
|
|
295
|
+
### Before Starting
|
|
296
|
+
- [ ] Read README_TEST_SPECS.md
|
|
297
|
+
- [ ] Review TEST_IMPLEMENTATION_GUIDE.md
|
|
298
|
+
- [ ] Setup pytest environment
|
|
299
|
+
- [ ] Create conftest.py with shared fixtures
|
|
300
|
+
- [ ] Create pytest.ini
|
|
301
|
+
|
|
302
|
+
### Phase 1: Data Models
|
|
303
|
+
- [ ] Implement test_config_models.py (59 tests)
|
|
304
|
+
- [ ] Run: `pytest test_config_models.py -v`
|
|
305
|
+
- [ ] Verify: Coverage >95%
|
|
306
|
+
- [ ] Implement test_config_defaults.py (15 tests)
|
|
307
|
+
- [ ] Implement test_config_schema.py (15 tests)
|
|
308
|
+
- [ ] Run: `pytest test_config_*.py -v --cov`
|
|
309
|
+
|
|
310
|
+
### Phase 2: Configuration Manager
|
|
311
|
+
- [ ] Implement test_config_manager.py (68 tests)
|
|
312
|
+
- [ ] Run: `pytest test_config_manager.py -v`
|
|
313
|
+
- [ ] Verify: Coverage >95%
|
|
314
|
+
- [ ] Total: 172 tests passing
|
|
315
|
+
|
|
316
|
+
### Phase 3: Hot-Reload
|
|
317
|
+
- [ ] Implement test_hot_reload.py (55 tests)
|
|
318
|
+
- [ ] Run: `pytest test_hot_reload.py -v`
|
|
319
|
+
- [ ] Verify: Coverage >95%
|
|
320
|
+
- [ ] Total: 227 tests passing
|
|
321
|
+
|
|
322
|
+
### Phase 4: Skip Tracking
|
|
323
|
+
- [ ] Implement test_skip_tracker.py (51 tests)
|
|
324
|
+
- [ ] Run: `pytest test_skip_tracker.py -v`
|
|
325
|
+
- [ ] Verify: Coverage >95%
|
|
326
|
+
- [ ] Total: 278 tests passing
|
|
327
|
+
|
|
328
|
+
### Final Validation
|
|
329
|
+
- [ ] Run all tests: `pytest -v --cov`
|
|
330
|
+
- [ ] Verify: 263+ tests passing
|
|
331
|
+
- [ ] Coverage: >95% all modules
|
|
332
|
+
- [ ] AC coverage: 9/9 ACs tested
|
|
333
|
+
- [ ] Commit: All tests to repository
|
|
334
|
+
|
|
335
|
+
---
|
|
336
|
+
|
|
337
|
+
## Success Criteria
|
|
338
|
+
|
|
339
|
+
**All 9 Acceptance Criteria Tested:**
|
|
340
|
+
- [ ] AC-1: YAML loads (7 tests)
|
|
341
|
+
- [ ] AC-2: Enable/disable (5 tests)
|
|
342
|
+
- [ ] AC-3: Trigger modes (8 tests)
|
|
343
|
+
- [ ] AC-4: Conversation settings (9 tests)
|
|
344
|
+
- [ ] AC-5: Skip tracking (14 tests)
|
|
345
|
+
- [ ] AC-6: Template preferences (11 tests)
|
|
346
|
+
- [ ] AC-7: Invalid config errors (16 tests)
|
|
347
|
+
- [ ] AC-8: Default config (15 tests)
|
|
348
|
+
- [ ] AC-9: Hot-reload (14 tests)
|
|
349
|
+
|
|
350
|
+
**All 6 Modules Covered:**
|
|
351
|
+
- [ ] config_manager.py: 95%+ (153/161)
|
|
352
|
+
- [ ] hot_reload.py: 95%+ (94/99)
|
|
353
|
+
- [ ] config_models.py: 95%+ (81/85)
|
|
354
|
+
- [ ] skip_tracker.py: 95%+ (74/78)
|
|
355
|
+
- [ ] config_schema.py: 100% (4/4)
|
|
356
|
+
- [ ] config_defaults.py: 100% (8/8)
|
|
357
|
+
|
|
358
|
+
**Quality Standards Met:**
|
|
359
|
+
- [ ] 263+ tests implemented
|
|
360
|
+
- [ ] 100% test pass rate
|
|
361
|
+
- [ ] AAA pattern applied
|
|
362
|
+
- [ ] Thread safety validated
|
|
363
|
+
- [ ] Error paths tested
|
|
364
|
+
- [ ] Edge cases covered
|
|
365
|
+
- [ ] Fixtures cleaned up
|
|
366
|
+
|
|
367
|
+
---
|
|
368
|
+
|
|
369
|
+
## Next Steps
|
|
370
|
+
|
|
371
|
+
1. **Read README_TEST_SPECS.md** (15 min) ✓
|
|
372
|
+
2. **Review TEST_IMPLEMENTATION_GUIDE.md** (30 min)
|
|
373
|
+
3. **Setup environment** (30 min)
|
|
374
|
+
4. **Start Phase 1: Data Models** (4-5 hours)
|
|
375
|
+
5. **Continue through Phase 4** (35-41 hours total)
|
|
376
|
+
6. **Validate coverage** (1 hour)
|
|
377
|
+
|
|
378
|
+
---
|
|
379
|
+
|
|
380
|
+
## Quick Links
|
|
381
|
+
|
|
382
|
+
**Start Here:** README_TEST_SPECS.md
|
|
383
|
+
**Implementation:** TEST_SPECIFICATIONS.md
|
|
384
|
+
**Planning:** TEST_IMPLEMENTATION_GUIDE.md
|
|
385
|
+
**Traceability:** AC_TO_TEST_MAPPING.md
|
|
386
|
+
|
|
387
|
+
---
|
|
388
|
+
|
|
389
|
+
## Document Version
|
|
390
|
+
|
|
391
|
+
- **Created:** 2025-11-10
|
|
392
|
+
- **Status:** Complete - Ready for Implementation
|
|
393
|
+
- **Target Completion:** Within 1 sprint (2 weeks)
|
|
394
|
+
- **Estimated Effort:** 35-41 hours
|
|
395
|
+
|
|
396
|
+
---
|
|
397
|
+
|
|
398
|
+
**This index helps navigate 13,000+ lines of test specifications across 4 documents. Start with README_TEST_SPECS.md.**
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"""
|
|
2
|
+
DevForgeAI Retrospective Feedback System
|
|
3
|
+
|
|
4
|
+
This module provides post-operation retrospective conversation capabilities
|
|
5
|
+
for capturing structured user feedback after command/skill execution.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
__version__ = '0.1.0'
|
|
9
|
+
|
|
10
|
+
from .retrospective import (
|
|
11
|
+
trigger_retrospective,
|
|
12
|
+
capture_feedback,
|
|
13
|
+
is_skip_selected,
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
from .skip_tracking import (
|
|
17
|
+
increment_skip,
|
|
18
|
+
get_skip_count,
|
|
19
|
+
reset_skip_count,
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
from .question_router import (
|
|
23
|
+
get_context_aware_questions,
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
__all__ = [
|
|
27
|
+
'trigger_retrospective',
|
|
28
|
+
'capture_feedback',
|
|
29
|
+
'is_skip_selected',
|
|
30
|
+
'increment_skip',
|
|
31
|
+
'get_skip_count',
|
|
32
|
+
'reset_skip_count',
|
|
33
|
+
'get_context_aware_questions',
|
|
34
|
+
]
|