x-ipe 1.0.24__py3-none-any.whl → 1.0.25__py3-none-any.whl
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.
- x_ipe/app.py +25 -3
- x_ipe/handlers/terminal_handlers.py +6 -0
- x_ipe/handlers/voice_handlers.py +5 -0
- x_ipe/resources/copilot-instructions.md +19 -6
- x_ipe/resources/skills/lesson-learned/SKILL.md +208 -0
- x_ipe/resources/skills/lesson-learned/references/examples.md +238 -0
- x_ipe/resources/skills/project-quality-board-management/SKILL.md +135 -298
- x_ipe/resources/skills/project-quality-board-management/references/evaluation-principles.md +213 -0
- x_ipe/resources/skills/project-quality-board-management/references/evaluation-procedures.md +214 -0
- x_ipe/resources/skills/project-quality-board-management/templates/quality-report.md +70 -18
- x_ipe/resources/skills/task-execution-guideline/SKILL.md +2 -2
- x_ipe/resources/skills/task-execution-guideline/templates/task-record.yaml +1 -1
- x_ipe/resources/skills/task-type-code-implementation/SKILL.md +72 -270
- x_ipe/resources/skills/task-type-code-implementation/references/implementation-guidelines.md +432 -0
- x_ipe/resources/skills/task-type-code-refactor-v2/SKILL.md +127 -353
- x_ipe/resources/skills/task-type-code-refactor-v2/references/refactoring-techniques.md +373 -0
- x_ipe/resources/skills/task-type-feature-breakdown/SKILL.md +31 -243
- x_ipe/resources/skills/task-type-feature-breakdown/references/breakdown-guidelines.md +330 -0
- x_ipe/resources/skills/task-type-feature-refinement/SKILL.md +27 -180
- x_ipe/resources/skills/task-type-feature-refinement/references/specification-writing-guide.md +267 -0
- x_ipe/resources/skills/task-type-idea-mockup/SKILL.md +38 -276
- x_ipe/resources/skills/task-type-idea-mockup/references/mockup-guidelines.md +299 -0
- x_ipe/resources/skills/task-type-idea-to-architecture/SKILL.md +20 -218
- x_ipe/resources/skills/task-type-idea-to-architecture/references/architecture-patterns.md +342 -0
- x_ipe/resources/skills/task-type-ideation/SKILL.md +10 -266
- x_ipe/resources/skills/task-type-ideation/references/folder-naming-guide.md +55 -0
- x_ipe/resources/skills/task-type-ideation/references/tool-usage-guide.md +236 -0
- x_ipe/resources/skills/task-type-ideation-v2/SKILL.md +488 -0
- x_ipe/resources/skills/task-type-ideation-v2/references/examples.md +377 -0
- x_ipe/resources/skills/task-type-ideation-v2/references/folder-naming-guide.md +74 -0
- x_ipe/resources/skills/task-type-ideation-v2/references/tool-usage-guide.md +145 -0
- x_ipe/resources/skills/task-type-ideation-v2/references/visualization-guide.md +160 -0
- x_ipe/resources/skills/task-type-ideation-v2/templates/idea-summary.md +86 -0
- x_ipe/resources/skills/task-type-refactoring-analysis/SKILL.md +83 -145
- x_ipe/resources/skills/task-type-refactoring-analysis/references/output-schema.md +172 -0
- x_ipe/resources/skills/task-type-technical-design/SKILL.md +28 -214
- x_ipe/resources/skills/task-type-technical-design/references/design-templates.md +422 -0
- x_ipe/resources/skills/task-type-test-generation/SKILL.md +47 -332
- x_ipe/resources/skills/task-type-test-generation/references/test-patterns.md +368 -0
- x_ipe/resources/skills/tool-tracing-creator/SKILL.md +312 -0
- x_ipe/resources/skills/tool-tracing-creator/references/examples.md +324 -0
- x_ipe/resources/skills/tool-tracing-instrumentation/SKILL.md +373 -0
- x_ipe/resources/skills/tool-tracing-instrumentation/references/examples.md +264 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/SKILL.md +486 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/10. example-gate-conditions.md +73 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/11. reference-quality-standards.md +127 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/2. reference-section-order.md +127 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/3. example-step-based-code-review.md +84 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/4. example-step-based-feature-implementation.md +113 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/5. example-function-based-validation.md +73 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/6. example-function-based-analysis.md +94 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/7. example-task-io-code-implementation.md +36 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/8. example-structured-summary.md +43 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/9. example-dor-dod.md +77 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/examples.md +429 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/skill-general-guidelines-v2.md +611 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/skill-meta-x-ipe-meta.md +153 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/skill-meta-x-ipe-task-based.md +324 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/skill-meta-x-ipe-task-category.md +109 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/skill-meta-x-ipe-tool.md +205 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/x-ipe-meta.md +334 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/x-ipe-task-based.md +279 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/x-ipe-tool.md +175 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/x-ipe-workflow-orchestration.md +329 -0
- x_ipe/resources/skills/x-ipe-task-based-ideation/SKILL.md +487 -0
- x_ipe/resources/skills/x-ipe-task-based-ideation/references/examples.md +377 -0
- x_ipe/resources/skills/x-ipe-task-based-ideation/references/folder-naming-guide.md +74 -0
- x_ipe/resources/skills/x-ipe-task-based-ideation/references/tool-usage-guide.md +145 -0
- x_ipe/resources/skills/x-ipe-task-based-ideation/references/visualization-guide.md +160 -0
- x_ipe/resources/skills/x-ipe-task-based-ideation/templates/idea-summary.md +86 -0
- x_ipe/routes/__init__.py +2 -0
- x_ipe/routes/ideas_routes.py +17 -0
- x_ipe/routes/kb_routes.py +80 -0
- x_ipe/routes/main_routes.py +18 -0
- x_ipe/routes/project_routes.py +7 -0
- x_ipe/routes/proxy_routes.py +2 -0
- x_ipe/routes/quality_evaluation_routes.py +193 -0
- x_ipe/routes/settings_routes.py +6 -0
- x_ipe/routes/tools_routes.py +6 -0
- x_ipe/routes/tracing_routes.py +232 -0
- x_ipe/routes/uiux_feedback_routes.py +30 -0
- x_ipe/services/__init__.py +5 -0
- x_ipe/services/config_service.py +6 -0
- x_ipe/services/file_service.py +20 -0
- x_ipe/services/homepage_service.py +160 -0
- x_ipe/services/ideas_service.py +19 -0
- x_ipe/services/kb_service.py +378 -0
- x_ipe/services/proxy_service.py +4 -0
- x_ipe/services/settings_service.py +13 -0
- x_ipe/services/skills_service.py +4 -0
- x_ipe/services/terminal_service.py +24 -0
- x_ipe/services/themes_service.py +4 -0
- x_ipe/services/tools_config_service.py +4 -0
- x_ipe/services/tracing_service.py +333 -0
- x_ipe/services/uiux_feedback_service.py +32 -0
- x_ipe/services/voice_input_service_v2.py +11 -0
- x_ipe/static/css/base.css +7 -0
- x_ipe/static/css/homepage-infinity.css +330 -0
- x_ipe/static/css/kb-core.css +301 -0
- x_ipe/static/css/quality-evaluation.css +345 -0
- x_ipe/static/css/sidebar.css +14 -4
- x_ipe/static/css/terminal.css +1 -0
- x_ipe/static/css/tracing-dashboard.css +796 -0
- x_ipe/static/css/workplace.css +20 -0
- x_ipe/static/img/homepage-infinity-loop.png +0 -0
- x_ipe/static/js/features/homepage-infinity.js +314 -0
- x_ipe/static/js/features/kb-core.js +371 -0
- x_ipe/static/js/features/quality-evaluation.js +387 -0
- x_ipe/static/js/features/sidebar.js +255 -12
- x_ipe/static/js/features/tracing-dashboard.js +855 -0
- x_ipe/static/js/features/tracing-graph.js +1031 -0
- x_ipe/static/js/features/tree-search.js +6 -2
- x_ipe/static/js/features/workplace.js +200 -6
- x_ipe/static/js/init.js +76 -0
- x_ipe/static/js/uiux-feedback.js +18 -2
- x_ipe/templates/base.html +19 -0
- x_ipe/templates/index.html +7 -1
- x_ipe/templates/knowledge-base.html +110 -0
- x_ipe/templates/workplace.html +4 -0
- x_ipe/tracing/__init__.py +37 -0
- x_ipe/tracing/buffer.py +135 -0
- x_ipe/tracing/context.py +125 -0
- x_ipe/tracing/decorator.py +288 -0
- x_ipe/tracing/middleware.py +197 -0
- x_ipe/tracing/parser.py +235 -0
- x_ipe/tracing/redactor.py +111 -0
- x_ipe/tracing/writer.py +122 -0
- {x_ipe-1.0.24.dist-info → x_ipe-1.0.25.dist-info}/METADATA +2 -2
- {x_ipe-1.0.24.dist-info → x_ipe-1.0.25.dist-info}/RECORD +132 -62
- x_ipe/resources/skills/x-ipe-skill-creator/SKILL.md +0 -329
- x_ipe/resources/skills/x-ipe-skill-creator/references/output-patterns.md +0 -169
- x_ipe/resources/skills/x-ipe-skill-creator/references/skill-structure.md +0 -162
- x_ipe/resources/skills/x-ipe-skill-creator/references/workflows.md +0 -110
- x_ipe/resources/skills/x-ipe-skill-creator/templates/references/examples.md +0 -113
- x_ipe/resources/skills/x-ipe-skill-creator/templates/skill-category-skill.md +0 -296
- x_ipe/resources/skills/x-ipe-skill-creator/templates/task-type-skill.md +0 -269
- {x_ipe-1.0.24.dist-info → x_ipe-1.0.25.dist-info}/WHEEL +0 -0
- {x_ipe-1.0.24.dist-info → x_ipe-1.0.25.dist-info}/entry_points.txt +0 -0
- {x_ipe-1.0.24.dist-info → x_ipe-1.0.25.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: project-quality-board-management
|
|
3
|
-
description: Generate and manage project quality evaluation reports from feature perspective. Evaluates requirements, features, test coverage, and code alignment status with gap analysis. Generates consistent markdown reports to x-ipe-docs/
|
|
3
|
+
description: Generate and manage project quality evaluation reports from feature perspective. Evaluates requirements, features, test coverage, and code alignment status with gap analysis. Generates consistent markdown reports to x-ipe-docs/quality-evaluation folder. Triggers on requests like "evaluate project quality", "generate quality report", "assess code alignment".
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Project Quality Board Management
|
|
@@ -34,9 +34,60 @@ AI Agents follow this skill to generate and manage project-wide quality evaluati
|
|
|
34
34
|
|
|
35
35
|
## Report Output Location
|
|
36
36
|
|
|
37
|
-
Quality evaluation
|
|
37
|
+
Quality evaluation reports are stored in:
|
|
38
38
|
```
|
|
39
|
-
x-ipe-docs/
|
|
39
|
+
x-ipe-docs/quality-evaluation/
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### File Naming Convention (FEATURE-024 Integration)
|
|
43
|
+
|
|
44
|
+
The quality evaluation UI displays up to **5 most recent versions** with a timeline interface.
|
|
45
|
+
|
|
46
|
+
| File | Description |
|
|
47
|
+
|------|-------------|
|
|
48
|
+
| `project-quality-evaluation.md` | **Current/Latest** evaluation report |
|
|
49
|
+
| `project-quality-evaluation-v{N}.md` | Historical version N (v1, v2, v3, etc.) |
|
|
50
|
+
|
|
51
|
+
**Version Number Calculation:**
|
|
52
|
+
- Current version = `max(existing version numbers) + 1`
|
|
53
|
+
- Example: If v1, v2, v3 exist → current file displays as "v4"
|
|
54
|
+
|
|
55
|
+
### Versioning Workflow
|
|
56
|
+
|
|
57
|
+
When generating a **new report**, follow this workflow:
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
1. CHECK if x-ipe-docs/quality-evaluation/ folder exists
|
|
61
|
+
- IF NOT: Create folder
|
|
62
|
+
|
|
63
|
+
2. CHECK if project-quality-evaluation.md exists
|
|
64
|
+
- IF YES:
|
|
65
|
+
a. SCAN for existing versioned files (project-quality-evaluation-v*.md)
|
|
66
|
+
b. FIND max version number among existing files
|
|
67
|
+
c. RENAME current file to project-quality-evaluation-v{max+1}.md
|
|
68
|
+
d. IF more than 4 versioned files exist:
|
|
69
|
+
- DELETE the oldest versioned file (lowest version number)
|
|
70
|
+
- Keep only 4 historical + 1 current = 5 total
|
|
71
|
+
|
|
72
|
+
3. CREATE new project-quality-evaluation.md with fresh evaluation
|
|
73
|
+
|
|
74
|
+
4. VERIFY: Folder should contain at most:
|
|
75
|
+
- 1 current file: project-quality-evaluation.md
|
|
76
|
+
- Up to 4 historical: project-quality-evaluation-v{N}.md
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**Example:**
|
|
80
|
+
```
|
|
81
|
+
Before generating new report:
|
|
82
|
+
project-quality-evaluation.md (current, displayed as v3)
|
|
83
|
+
project-quality-evaluation-v2.md (previous)
|
|
84
|
+
project-quality-evaluation-v1.md (oldest)
|
|
85
|
+
|
|
86
|
+
After generating new report:
|
|
87
|
+
project-quality-evaluation.md (NEW, displayed as v4)
|
|
88
|
+
project-quality-evaluation-v3.md (was current, now versioned)
|
|
89
|
+
project-quality-evaluation-v2.md (unchanged)
|
|
90
|
+
project-quality-evaluation-v1.md (unchanged)
|
|
40
91
|
```
|
|
41
92
|
|
|
42
93
|
Report header includes:
|
|
@@ -60,42 +111,53 @@ QualityEvaluation:
|
|
|
60
111
|
health_status: healthy | attention_needed | critical
|
|
61
112
|
|
|
62
113
|
# Feature-Level Evaluations
|
|
114
|
+
# Each dimension scored 1-10 based on principle violations and importance
|
|
115
|
+
# Status derived: 8-10 = aligned, 6-7 = needs_attention, 1-5 = critical
|
|
63
116
|
features:
|
|
64
117
|
- feature_id: FEATURE-XXX
|
|
65
118
|
feature_name: "<name>"
|
|
66
|
-
|
|
119
|
+
feature_score: <1-10>
|
|
120
|
+
status: aligned | needs_attention | critical | planned
|
|
67
121
|
|
|
68
122
|
requirements_alignment:
|
|
69
|
-
|
|
123
|
+
score: <1-10> # Calculated from violations × importance weights
|
|
124
|
+
status: aligned | needs_attention | critical | planned
|
|
70
125
|
requirement_docs: [<paths>]
|
|
71
126
|
gaps:
|
|
72
127
|
- type: undocumented | unimplemented | deviated
|
|
73
128
|
description: "<gap description>"
|
|
74
129
|
severity: high | medium | low
|
|
130
|
+
importance_weight: <0.5-3> # Based on principle importance
|
|
75
131
|
|
|
76
132
|
specification_alignment:
|
|
77
|
-
|
|
133
|
+
score: <1-10>
|
|
134
|
+
status: aligned | needs_attention | critical | planned
|
|
78
135
|
spec_doc: "<path>"
|
|
79
136
|
gaps:
|
|
80
137
|
- type: missing | outdated | incorrect
|
|
81
138
|
description: "<gap description>"
|
|
82
139
|
severity: high | medium | low
|
|
140
|
+
importance_weight: <0.5-3>
|
|
83
141
|
|
|
84
142
|
test_coverage:
|
|
85
|
-
|
|
143
|
+
score: <1-10>
|
|
144
|
+
status: aligned | needs_attention | critical
|
|
86
145
|
line_coverage: <XX%>
|
|
87
146
|
branch_coverage: <XX%>
|
|
88
147
|
critical_untested:
|
|
89
148
|
- area: "<untested area>"
|
|
90
149
|
risk: high | medium | low
|
|
150
|
+
importance_weight: <0.5-3>
|
|
91
151
|
|
|
92
152
|
code_alignment:
|
|
93
|
-
|
|
153
|
+
score: <1-10>
|
|
154
|
+
status: aligned | needs_attention | critical
|
|
94
155
|
implementation_files: [<paths>]
|
|
95
156
|
gaps:
|
|
96
157
|
- type: structure | behavior | interface
|
|
97
158
|
description: "<gap description>"
|
|
98
159
|
severity: high | medium | low
|
|
160
|
+
importance_weight: <0.5-3>
|
|
99
161
|
|
|
100
162
|
# Aggregated Gaps
|
|
101
163
|
priority_gaps:
|
|
@@ -183,16 +245,36 @@ QualityEvaluation:
|
|
|
183
245
|
- Specification Violations section
|
|
184
246
|
- Test Coverage Violations section
|
|
185
247
|
- Code Alignment Violations section
|
|
248
|
+
- Tracing Coverage Violations section (FEATURE-023-D)
|
|
249
|
+
- Security Violations section
|
|
186
250
|
e. Files Approaching Threshold
|
|
187
251
|
f. Priority Gaps Summary
|
|
188
252
|
g. Recommendations
|
|
189
253
|
h. Appendix (detailed metrics)
|
|
190
254
|
|
|
191
|
-
6. SAVE report:
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
255
|
+
6. SAVE report (with versioning):
|
|
256
|
+
a. ENSURE x-ipe-docs/quality-evaluation/ folder exists
|
|
257
|
+
b. IF project-quality-evaluation.md exists:
|
|
258
|
+
- SCAN for existing project-quality-evaluation-v*.md files
|
|
259
|
+
- FIND max version number N
|
|
260
|
+
- RENAME current to project-quality-evaluation-v{N+1}.md
|
|
261
|
+
- IF more than 4 versioned files: DELETE oldest (lowest version)
|
|
262
|
+
c. SAVE new report to x-ipe-docs/quality-evaluation/project-quality-evaluation.md
|
|
263
|
+
d. UPDATE evaluated date in header
|
|
264
|
+
|
|
265
|
+
7. SELF-REVIEW report:
|
|
266
|
+
a. READ the generated report completely
|
|
267
|
+
b. CHECK for:
|
|
268
|
+
- Missing content or sections
|
|
269
|
+
- Inconsistencies between summary and details
|
|
270
|
+
- Features mentioned but not evaluated
|
|
271
|
+
- Gaps without proper severity assignment
|
|
272
|
+
- Recommendations that don't match identified gaps
|
|
273
|
+
c. IF problems found:
|
|
274
|
+
- FIX the issues in the report
|
|
275
|
+
- Note corrections made
|
|
276
|
+
|
|
277
|
+
8. RETURN evaluation summary
|
|
196
278
|
```
|
|
197
279
|
|
|
198
280
|
### Report Structure Rules
|
|
@@ -205,17 +287,33 @@ RULE 1: Evaluation Principles section
|
|
|
205
287
|
|
|
206
288
|
RULE 2: Violation Details section
|
|
207
289
|
- MUST be organized by feature
|
|
208
|
-
- EACH feature section MUST have
|
|
290
|
+
- EACH feature section MUST have 6 subsections:
|
|
209
291
|
- Requirements Violations
|
|
210
292
|
- Specification Violations
|
|
211
293
|
- Test Coverage Violations
|
|
212
294
|
- Code Alignment Violations
|
|
295
|
+
- Tracing Coverage Violations (FEATURE-023-D)
|
|
296
|
+
- Security Violations
|
|
213
297
|
- ONLY show features that have violations
|
|
214
298
|
- Show "No violations" if a category is clean
|
|
215
299
|
|
|
216
300
|
RULE 3: Separation of concerns
|
|
217
301
|
- Principles = WHAT we evaluate and HOW (thresholds)
|
|
218
302
|
- Violations = RESULTS of evaluation per feature
|
|
303
|
+
|
|
304
|
+
RULE 4: Tracing Coverage Evaluation (FEATURE-023-D)
|
|
305
|
+
- Threshold: ≥90% of public functions must have @x_ipe_tracing decorator
|
|
306
|
+
- Check: All sensitive parameters (password, token, secret, key) have redact=[]
|
|
307
|
+
- Levels: API endpoints = INFO, Business logic = INFO, Utilities = DEBUG
|
|
308
|
+
- Report: List untraced functions and unredacted sensitive params
|
|
309
|
+
|
|
310
|
+
RULE 5: Security Coverage Evaluation
|
|
311
|
+
- Check: Input validation on all user-facing endpoints
|
|
312
|
+
- Check: No hardcoded secrets, tokens, or credentials in code
|
|
313
|
+
- Check: Proper authentication/authorization on protected routes
|
|
314
|
+
- Check: SQL injection and XSS prevention measures
|
|
315
|
+
- Check: Secure handling of sensitive data (encryption, hashing)
|
|
316
|
+
- Report: List security violations with severity
|
|
219
317
|
```
|
|
220
318
|
|
|
221
319
|
### Operation 2: Update Existing Report
|
|
@@ -224,14 +322,13 @@ RULE 3: Separation of concerns
|
|
|
224
322
|
**Input:** feature_ids to re-evaluate
|
|
225
323
|
|
|
226
324
|
```
|
|
227
|
-
1. LOAD latest report from quality-evaluation-
|
|
325
|
+
1. LOAD latest report from x-ipe-docs/quality-evaluation/project-quality-evaluation.md
|
|
228
326
|
2. FOR EACH feature_id:
|
|
229
327
|
- RE-EVALUATE all 4 perspectives
|
|
230
328
|
- UPDATE feature entry in report
|
|
231
329
|
3. RE-CALCULATE aggregates (overall_score, health_status)
|
|
232
330
|
4. UPDATE priority_gaps and recommendations
|
|
233
|
-
5. SAVE
|
|
234
|
-
6. UPDATE quality-evaluation-latest.md
|
|
331
|
+
5. SAVE using versioning workflow (see "Versioning Workflow" section above)
|
|
235
332
|
```
|
|
236
333
|
|
|
237
334
|
### Operation 3: Query Quality Status
|
|
@@ -240,7 +337,7 @@ RULE 3: Separation of concerns
|
|
|
240
337
|
**Input:** feature_ids or query criteria
|
|
241
338
|
|
|
242
339
|
```
|
|
243
|
-
1. LOAD latest report
|
|
340
|
+
1. LOAD latest report from x-ipe-docs/quality-evaluation/project-quality-evaluation.md
|
|
244
341
|
2. FILTER features by criteria
|
|
245
342
|
3. RETURN filtered evaluation data
|
|
246
343
|
```
|
|
@@ -248,10 +345,12 @@ RULE 3: Separation of concerns
|
|
|
248
345
|
### Operation 4: Compare Evaluations
|
|
249
346
|
|
|
250
347
|
**When:** Need to track quality changes over time
|
|
251
|
-
**Input:** Two
|
|
348
|
+
**Input:** Two version numbers (e.g., "v3 vs v4") or "latest vs previous"
|
|
252
349
|
|
|
253
350
|
```
|
|
254
|
-
1. LOAD both evaluation reports
|
|
351
|
+
1. LOAD both evaluation reports:
|
|
352
|
+
- Latest: project-quality-evaluation.md
|
|
353
|
+
- Previous: project-quality-evaluation-v{N}.md
|
|
255
354
|
2. FOR EACH feature in both:
|
|
256
355
|
- COMPARE status changes
|
|
257
356
|
- CALCULATE score deltas
|
|
@@ -268,289 +367,26 @@ RULE 3: Separation of concerns
|
|
|
268
367
|
|
|
269
368
|
## Evaluation Principles
|
|
270
369
|
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
| Principle | Threshold | Description |
|
|
274
|
-
|-----------|-----------|-------------|
|
|
275
|
-
| Completeness | 100% | Every implemented feature must have documented requirements |
|
|
276
|
-
| Traceability | Required | Requirements should trace to features and code |
|
|
277
|
-
| Clarity | No ambiguity | Requirements should be specific and testable |
|
|
278
|
-
| Currency | < 30 days | Requirements updated within 30 days of code changes |
|
|
279
|
-
|
|
280
|
-
### Specification Evaluation Principles
|
|
281
|
-
|
|
282
|
-
| Principle | Threshold | Description |
|
|
283
|
-
|-----------|-----------|-------------|
|
|
284
|
-
| API Documentation | Required | All public APIs must be documented |
|
|
285
|
-
| Behavior Specification | Required | Expected behaviors clearly defined |
|
|
286
|
-
| Edge Cases | Documented | Error handling and edge cases specified |
|
|
287
|
-
| Version Alignment | Match | Spec version should match implementation version |
|
|
288
|
-
|
|
289
|
-
### Test Coverage Evaluation Principles
|
|
290
|
-
|
|
291
|
-
| Principle | Threshold | Description |
|
|
292
|
-
|-----------|-----------|-------------|
|
|
293
|
-
| Line Coverage | ≥ 80% | Minimum line coverage for production code |
|
|
294
|
-
| Branch Coverage | ≥ 70% | Minimum branch/decision coverage |
|
|
295
|
-
| Critical Path Coverage | 100% | Core business logic must be fully tested |
|
|
296
|
-
| Error Handler Coverage | ≥ 90% | Exception and error paths tested |
|
|
297
|
-
| Test Isolation | Required | Tests should not depend on external services |
|
|
298
|
-
| Mock External APIs | Required | External API calls must be mocked in tests |
|
|
299
|
-
|
|
300
|
-
### Code Alignment Evaluation Principles
|
|
301
|
-
|
|
302
|
-
| Principle | Threshold | Description |
|
|
303
|
-
|-----------|-----------|-------------|
|
|
304
|
-
| **File Size** | ≤ 800 lines | Single file should not exceed 800 lines |
|
|
305
|
-
| **Function Size** | ≤ 50 lines | Single function should not exceed 50 lines |
|
|
306
|
-
| **Class Size** | ≤ 500 lines | Single class should not exceed 500 lines |
|
|
307
|
-
| **Cyclomatic Complexity** | ≤ 10 | Function complexity should be manageable |
|
|
308
|
-
| **SRP (Single Responsibility)** | 1 reason to change | Each module/class has one responsibility |
|
|
309
|
-
| **OCP (Open/Closed)** | Extensible | Open for extension, closed for modification |
|
|
310
|
-
| **LSP (Liskov Substitution)** | Substitutable | Subtypes must be substitutable for base types |
|
|
311
|
-
| **ISP (Interface Segregation)** | Focused | Clients shouldn't depend on unused interfaces |
|
|
312
|
-
| **DIP (Dependency Inversion)** | Abstracted | Depend on abstractions, not concretions |
|
|
313
|
-
| **DRY (Don't Repeat Yourself)** | No duplication | Avoid code duplication across modules |
|
|
314
|
-
| **KISS (Keep It Simple)** | Simple solutions | Prefer simple over complex implementations |
|
|
315
|
-
| **YAGNI** | No unused code | Don't implement features until needed |
|
|
316
|
-
| **Modular Design** | Cohesive modules | Code organized into focused, reusable modules |
|
|
317
|
-
| **Naming Conventions** | Consistent | Follow language-specific naming conventions |
|
|
318
|
-
| **Import Organization** | Grouped | Imports organized by type (stdlib, external, internal) |
|
|
319
|
-
|
|
320
|
-
### KISS Principle Assessment
|
|
321
|
-
|
|
322
|
-
| Check | Threshold | Description |
|
|
323
|
-
|-------|-----------|-------------|
|
|
324
|
-
| Avoid Over-Engineering | No unnecessary abstractions | Don't add layers without clear benefit |
|
|
325
|
-
| Straightforward Logic | Linear flow preferred | Avoid convoluted control flow |
|
|
326
|
-
| Minimal Dependencies | Only necessary imports | Don't import unused libraries |
|
|
327
|
-
| Clear Intent | Self-documenting code | Code should express intent without excessive comments |
|
|
328
|
-
| Simple Data Structures | Use built-in types | Avoid custom types when built-ins suffice |
|
|
329
|
-
|
|
330
|
-
### Modular Design Assessment
|
|
331
|
-
|
|
332
|
-
| Check | Threshold | Description |
|
|
333
|
-
|-------|-----------|-------------|
|
|
334
|
-
| **Module Cohesion** | High cohesion | Related functions grouped in same module |
|
|
335
|
-
| **Module Coupling** | Loose coupling | Modules minimize dependencies on each other |
|
|
336
|
-
| **Single Entry Point** | One public API | Each module has clear public interface |
|
|
337
|
-
| **Folder Structure** | Logical grouping | Files organized by feature or layer |
|
|
338
|
-
| **Reusability** | Portable modules | Modules can be reused in different contexts |
|
|
339
|
-
| **Testability** | Independently testable | Each module can be tested in isolation |
|
|
340
|
-
|
|
341
|
-
**Modular Design Patterns:**
|
|
342
|
-
|
|
343
|
-
| Pattern | When to Apply | Example |
|
|
344
|
-
|---------|---------------|---------|
|
|
345
|
-
| Feature Modules | Large files > 800 lines | Split `app.py` → `routes/api.py`, `routes/views.py` |
|
|
346
|
-
| Service Layer | Business logic mixed with routes | Extract to `services/` folder |
|
|
347
|
-
| Component Split | UI file > 500 lines | Split into sub-components |
|
|
348
|
-
| Utility Extraction | Repeated helper functions | Create `utils/` or `lib/` folder |
|
|
349
|
-
|
|
350
|
-
### Code Smell Detection
|
|
351
|
-
|
|
352
|
-
| Smell | Detection Rule | Severity |
|
|
353
|
-
|-------|----------------|----------|
|
|
354
|
-
| God Class | Class > 500 lines OR > 20 methods | High |
|
|
355
|
-
| Long Method | Function > 50 lines | Medium |
|
|
356
|
-
| Large File | File > 800 lines | Medium |
|
|
357
|
-
| Deep Nesting | > 4 levels of indentation | Medium |
|
|
358
|
-
| Too Many Parameters | Function > 5 parameters | Low |
|
|
359
|
-
| Magic Numbers | Hardcoded values without constants | Low |
|
|
360
|
-
| Dead Code | Unused functions/variables | Low |
|
|
361
|
-
| Duplicate Code | Similar code blocks > 10 lines | Medium |
|
|
362
|
-
|
|
363
|
-
---
|
|
364
|
-
|
|
365
|
-
## Evaluation Procedures
|
|
370
|
+
See [references/evaluation-principles.md](references/evaluation-principles.md) for complete evaluation principles, thresholds, and score calculation formulas.
|
|
366
371
|
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
- x-ipe-docs/requirements/requirement-details.md
|
|
373
|
-
- Any docs referencing feature
|
|
374
|
-
|
|
375
|
-
2. FOR EACH requirement related to feature:
|
|
376
|
-
a. CHECK if requirement is documented
|
|
377
|
-
b. CHECK if requirement is implemented in code
|
|
378
|
-
c. IDENTIFY deviations between doc and implementation
|
|
379
|
-
|
|
380
|
-
3. CLASSIFY gaps:
|
|
381
|
-
- undocumented: Implemented but not in requirements
|
|
382
|
-
- unimplemented: In requirements but not implemented
|
|
383
|
-
- deviated: Implementation differs from requirement
|
|
384
|
-
|
|
385
|
-
4. ASSIGN severity:
|
|
386
|
-
- high: Core functionality affected
|
|
387
|
-
- medium: Secondary functionality affected
|
|
388
|
-
- low: Minor/edge cases
|
|
389
|
-
```
|
|
390
|
-
|
|
391
|
-
### Procedure: Evaluate Specification Alignment
|
|
392
|
-
|
|
393
|
-
```
|
|
394
|
-
1. LOCATE specification:
|
|
395
|
-
- x-ipe-docs/requirements/FEATURE-XXX/specification.md
|
|
396
|
-
|
|
397
|
-
2. IF specification exists:
|
|
398
|
-
a. EXTRACT expected behaviors
|
|
399
|
-
b. COMPARE with actual implementation
|
|
400
|
-
c. IDENTIFY gaps (missing | outdated | incorrect)
|
|
401
|
-
|
|
402
|
-
3. IF specification missing (empty feature folder):
|
|
403
|
-
a. CHECK if any related implementation exists in codebase
|
|
404
|
-
b. IF no implementation found:
|
|
405
|
-
- status: planned
|
|
406
|
-
- NOT a gap - just indicates future work needed
|
|
407
|
-
- Do NOT count as critical or high priority gap
|
|
408
|
-
c. IF implementation exists without specification:
|
|
409
|
-
- status: not_found
|
|
410
|
-
- Add gap: "Implementation exists but specification missing"
|
|
411
|
-
- severity: medium (documentation debt)
|
|
412
|
-
```
|
|
413
|
-
|
|
414
|
-
### Procedure: Evaluate Test Coverage
|
|
415
|
-
|
|
416
|
-
```
|
|
417
|
-
1. IDENTIFY test files for feature:
|
|
418
|
-
- tests/**/test_*{feature_name}*
|
|
419
|
-
- tests/**/*{feature_name}*_test.*
|
|
420
|
-
|
|
421
|
-
2. RUN coverage analysis:
|
|
422
|
-
- Python: pytest --cov
|
|
423
|
-
- Node.js: npm test -- --coverage
|
|
424
|
-
- Go: go test -cover
|
|
425
|
-
|
|
426
|
-
3. EXTRACT metrics:
|
|
427
|
-
- Line coverage %
|
|
428
|
-
- Branch coverage %
|
|
429
|
-
- Untested functions/areas
|
|
430
|
-
|
|
431
|
-
4. IDENTIFY critical untested areas:
|
|
432
|
-
- Business logic paths
|
|
433
|
-
- Error handlers
|
|
434
|
-
- Edge cases
|
|
435
|
-
|
|
436
|
-
5. DETERMINE status:
|
|
437
|
-
- sufficient: ≥80% line coverage, no critical gaps
|
|
438
|
-
- insufficient: <80% or has critical gaps
|
|
439
|
-
- no_tests: No test files found
|
|
440
|
-
```
|
|
441
|
-
|
|
442
|
-
### Procedure: Evaluate Code Alignment
|
|
443
|
-
|
|
444
|
-
```
|
|
445
|
-
1. LOCATE technical design:
|
|
446
|
-
- x-ipe-docs/requirements/FEATURE-XXX/technical-design.md
|
|
447
|
-
|
|
448
|
-
2. IF technical design exists:
|
|
449
|
-
a. EXTRACT expected:
|
|
450
|
-
- File structure
|
|
451
|
-
- Component interfaces
|
|
452
|
-
- Data models
|
|
453
|
-
b. COMPARE with actual implementation
|
|
454
|
-
c. IDENTIFY gaps:
|
|
455
|
-
- structure: File/folder organization differs
|
|
456
|
-
- behavior: Logic differs from design
|
|
457
|
-
- interface: API/interface differs
|
|
458
|
-
|
|
459
|
-
3. DETERMINE status:
|
|
460
|
-
- aligned: No significant gaps
|
|
461
|
-
- drifted: Minor gaps exist
|
|
462
|
-
- major_drift: Critical gaps exist
|
|
463
|
-
```
|
|
464
|
-
|
|
465
|
-
### Procedure: Generate Refactoring Suggestions
|
|
466
|
-
|
|
467
|
-
**Integrates with:** `task-type-refactoring-analysis` skill
|
|
468
|
-
|
|
469
|
-
```
|
|
470
|
-
1. ANALYZE gaps from all 4 perspectives:
|
|
471
|
-
- Collect all gaps with severity high/medium
|
|
472
|
-
- Group gaps by feature
|
|
473
|
-
|
|
474
|
-
2. FOR EACH feature with gaps:
|
|
475
|
-
a. IDENTIFY applicable principles (from task-type-refactoring-analysis):
|
|
476
|
-
- Large files/classes → SRP, SOLID
|
|
477
|
-
- Duplicated code → DRY
|
|
478
|
-
- Complex logic → KISS
|
|
479
|
-
- Unused code → YAGNI
|
|
480
|
-
- Mixed concerns → SoC (Separation of Concerns)
|
|
481
|
-
|
|
482
|
-
b. FORMULATE goals based on gaps:
|
|
483
|
-
- requirements gaps → Suggest documentation sync or code alignment
|
|
484
|
-
- specification gaps → Suggest spec update or implementation fix
|
|
485
|
-
- test coverage gaps → Suggest test-first approach
|
|
486
|
-
- code alignment gaps → Suggest structural refactoring
|
|
487
|
-
|
|
488
|
-
c. DEFINE target structure:
|
|
489
|
-
- Describe desired code organization after fixes
|
|
490
|
-
- Note key structural changes needed
|
|
491
|
-
|
|
492
|
-
d. IDENTIFY constraints:
|
|
493
|
-
- Backward compatibility requirements
|
|
494
|
-
- API stability requirements
|
|
495
|
-
- Dependencies to preserve
|
|
496
|
-
|
|
497
|
-
3. COMPILE refactoring_suggestion for feature:
|
|
498
|
-
summary: "<derived from gap analysis>"
|
|
499
|
-
goals:
|
|
500
|
-
- goal: "<specific goal from gap>"
|
|
501
|
-
priority: <based on gap severity>
|
|
502
|
-
rationale: "<from gap description>"
|
|
503
|
-
target_structure: "<desired end state>"
|
|
504
|
-
|
|
505
|
-
principles:
|
|
506
|
-
primary: [<principles with applications>]
|
|
507
|
-
secondary: [<supporting principles>]
|
|
508
|
-
constraints: [<identified constraints>]
|
|
509
|
-
|
|
510
|
-
4. IF no gaps found for feature:
|
|
511
|
-
- Set has_suggestions: false for that feature
|
|
512
|
-
- Skip suggestion generation
|
|
513
|
-
```
|
|
372
|
+
**Key Thresholds:**
|
|
373
|
+
- Test Line Coverage: ≥ 80%
|
|
374
|
+
- File Size: ≤ 800 lines
|
|
375
|
+
- Function Size: ≤ 50 lines
|
|
376
|
+
- Tracing Coverage: ≥ 90%
|
|
514
377
|
|
|
515
378
|
---
|
|
516
379
|
|
|
517
|
-
##
|
|
518
|
-
|
|
519
|
-
### Feature Score (1-10)
|
|
520
|
-
|
|
521
|
-
```
|
|
522
|
-
feature_score = weighted_average(
|
|
523
|
-
requirements_alignment: weight=0.25,
|
|
524
|
-
specification_alignment: weight=0.25,
|
|
525
|
-
test_coverage: weight=0.25,
|
|
526
|
-
code_alignment: weight=0.25
|
|
527
|
-
)
|
|
528
|
-
|
|
529
|
-
Status to score mapping:
|
|
530
|
-
- aligned/sufficient: 10
|
|
531
|
-
- planned: N/A (exclude from scoring - future work)
|
|
532
|
-
- needs_update/insufficient: 5
|
|
533
|
-
- not_found/no_tests/major_drift: 2
|
|
534
|
-
- critical: 1
|
|
535
|
-
|
|
536
|
-
Note: Features with status "planned" (empty folder, no implementation)
|
|
537
|
-
are EXCLUDED from overall score calculation as they represent future
|
|
538
|
-
work, not quality issues.
|
|
539
|
-
```
|
|
540
|
-
|
|
541
|
-
### Overall Score (1-10)
|
|
542
|
-
|
|
543
|
-
```
|
|
544
|
-
overall_score = average(all feature_scores WHERE status != "planned")
|
|
545
|
-
```
|
|
546
|
-
|
|
547
|
-
### Health Status
|
|
380
|
+
## Evaluation Procedures
|
|
548
381
|
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
382
|
+
See [references/evaluation-procedures.md](references/evaluation-procedures.md) for detailed step-by-step procedures for each evaluation perspective:
|
|
383
|
+
- Requirements Alignment
|
|
384
|
+
- Specification Alignment
|
|
385
|
+
- Test Coverage
|
|
386
|
+
- Code Alignment
|
|
387
|
+
- Tracing Coverage
|
|
388
|
+
- Security Evaluation
|
|
389
|
+
- Refactoring Suggestions
|
|
554
390
|
|
|
555
391
|
---
|
|
556
392
|
|
|
@@ -578,6 +414,7 @@ Template structure:
|
|
|
578
414
|
| 4 | Overall score calculated | Yes |
|
|
579
415
|
| 5 | Report generated in correct location | Yes |
|
|
580
416
|
| 6 | Latest report link updated | Yes |
|
|
417
|
+
| 7 | Report self-review completed (check for problems or missing content) | Yes |
|
|
581
418
|
|
|
582
419
|
---
|
|
583
420
|
|