x-ipe 1.0.23__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 +32 -1
- 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 +289 -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 +10 -2
- 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 +50 -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 +535 -2
- x_ipe/services/kb_service.py +378 -0
- x_ipe/services/proxy_service.py +37 -7
- 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 +148 -1
- 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 +23 -0
- x_ipe/static/css/tracing-dashboard.css +796 -0
- x_ipe/static/css/uiux-feedback.css +7 -1
- x_ipe/static/css/workplace.css +636 -0
- x_ipe/static/img/homepage-infinity-loop.png +0 -0
- x_ipe/static/js/features/confirm-dialog.js +169 -0
- x_ipe/static/js/features/folder-view.js +742 -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-drag.js +227 -0
- x_ipe/static/js/features/tree-search.js +228 -0
- x_ipe/static/js/features/workplace.js +661 -33
- x_ipe/static/js/init.js +76 -0
- x_ipe/static/js/terminal-v2.js +45 -14
- x_ipe/static/js/terminal.js +50 -49
- x_ipe/static/js/uiux-feedback.js +75 -16
- x_ipe/templates/base.html +24 -0
- x_ipe/templates/index.html +10 -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.23.dist-info → x_ipe-1.0.25.dist-info}/METADATA +2 -2
- {x_ipe-1.0.23.dist-info → x_ipe-1.0.25.dist-info}/RECORD +138 -65
- x_ipe/app.py.bak +0 -1333
- 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.23.dist-info → x_ipe-1.0.25.dist-info}/WHEEL +0 -0
- {x_ipe-1.0.23.dist-info → x_ipe-1.0.25.dist-info}/entry_points.txt +0 -0
- {x_ipe-1.0.23.dist-info → x_ipe-1.0.25.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
# Evaluation Principles Reference
|
|
2
|
+
|
|
3
|
+
This document contains all evaluation principles and thresholds used by the project-quality-board-management skill.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Requirements Evaluation Principles
|
|
8
|
+
|
|
9
|
+
| Principle | Threshold | Description |
|
|
10
|
+
|-----------|-----------|-------------|
|
|
11
|
+
| Completeness | 100% | Every implemented feature must have documented requirements |
|
|
12
|
+
| Traceability | Required | Requirements should trace to features and code |
|
|
13
|
+
| Clarity | No ambiguity | Requirements should be specific and testable |
|
|
14
|
+
| Currency | < 30 days | Requirements updated within 30 days of code changes |
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Specification Evaluation Principles
|
|
19
|
+
|
|
20
|
+
| Principle | Threshold | Description |
|
|
21
|
+
|-----------|-----------|-------------|
|
|
22
|
+
| API Documentation | Required | All public APIs must be documented |
|
|
23
|
+
| Behavior Specification | Required | Expected behaviors clearly defined |
|
|
24
|
+
| Edge Cases | Documented | Error handling and edge cases specified |
|
|
25
|
+
| Version Alignment | Match | Spec version should match implementation version |
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Test Coverage Evaluation Principles
|
|
30
|
+
|
|
31
|
+
| Principle | Threshold | Description |
|
|
32
|
+
|-----------|-----------|-------------|
|
|
33
|
+
| Line Coverage | ≥ 80% | Minimum line coverage for production code |
|
|
34
|
+
| Branch Coverage | ≥ 70% | Minimum branch/decision coverage |
|
|
35
|
+
| Critical Path Coverage | 100% | Core business logic must be fully tested |
|
|
36
|
+
| Error Handler Coverage | ≥ 90% | Exception and error paths tested |
|
|
37
|
+
| Test Isolation | Required | Tests should not depend on external services |
|
|
38
|
+
| Mock External APIs | Required | External API calls must be mocked in tests |
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Code Alignment Evaluation Principles
|
|
43
|
+
|
|
44
|
+
| Principle | Threshold | Description |
|
|
45
|
+
|-----------|-----------|-------------|
|
|
46
|
+
| **File Size** | ≤ 800 lines | Single file should not exceed 800 lines |
|
|
47
|
+
| **Function Size** | ≤ 50 lines | Single function should not exceed 50 lines |
|
|
48
|
+
| **Class Size** | ≤ 500 lines | Single class should not exceed 500 lines |
|
|
49
|
+
| **Cyclomatic Complexity** | ≤ 10 | Function complexity should be manageable |
|
|
50
|
+
| **SRP** | 1 reason to change | Each module/class has one responsibility |
|
|
51
|
+
| **OCP** | Extensible | Open for extension, closed for modification |
|
|
52
|
+
| **LSP** | Substitutable | Subtypes must be substitutable for base types |
|
|
53
|
+
| **ISP** | Focused | Clients shouldn't depend on unused interfaces |
|
|
54
|
+
| **DIP** | Abstracted | Depend on abstractions, not concretions |
|
|
55
|
+
| **DRY** | No duplication | Avoid code duplication across modules |
|
|
56
|
+
| **KISS** | Simple solutions | Prefer simple over complex implementations |
|
|
57
|
+
| **YAGNI** | No unused code | Don't implement features until needed |
|
|
58
|
+
| **Modular Design** | Cohesive modules | Code organized into focused, reusable modules |
|
|
59
|
+
| **Naming Conventions** | Consistent | Follow language-specific naming conventions |
|
|
60
|
+
| **Import Organization** | Grouped | Imports organized by type (stdlib, external, internal) |
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Tracing Coverage Principles
|
|
65
|
+
|
|
66
|
+
| Principle | Threshold | Description |
|
|
67
|
+
|-----------|-----------|-------------|
|
|
68
|
+
| Decorator Coverage | ≥ 90% | Public functions must have @x_ipe_tracing decorator |
|
|
69
|
+
| Sensitive Param Redaction | Required | password, token, secret, key params must use redact=[] |
|
|
70
|
+
| Logging Levels | Correct | API=INFO, Business logic=INFO, Utilities=DEBUG |
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Security Evaluation Principles
|
|
75
|
+
|
|
76
|
+
| Principle | Threshold | Description |
|
|
77
|
+
|-----------|-----------|-------------|
|
|
78
|
+
| Input Validation | Required | All user-facing endpoints must validate input |
|
|
79
|
+
| No Hardcoded Secrets | Required | No secrets, tokens, or credentials in code |
|
|
80
|
+
| Auth/Authz | Required | Protected routes must have proper authentication/authorization |
|
|
81
|
+
| Injection Prevention | Required | SQL injection and XSS prevention measures in place |
|
|
82
|
+
| Sensitive Data Handling | Required | Encryption/hashing for sensitive data |
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## KISS Principle Assessment
|
|
87
|
+
|
|
88
|
+
| Check | Threshold | Description |
|
|
89
|
+
|-------|-----------|-------------|
|
|
90
|
+
| Avoid Over-Engineering | No unnecessary abstractions | Don't add layers without clear benefit |
|
|
91
|
+
| Straightforward Logic | Linear flow preferred | Avoid convoluted control flow |
|
|
92
|
+
| Minimal Dependencies | Only necessary imports | Don't import unused libraries |
|
|
93
|
+
| Clear Intent | Self-documenting code | Code should express intent without excessive comments |
|
|
94
|
+
| Simple Data Structures | Use built-in types | Avoid custom types when built-ins suffice |
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Modular Design Assessment
|
|
99
|
+
|
|
100
|
+
| Check | Threshold | Description |
|
|
101
|
+
|-------|-----------|-------------|
|
|
102
|
+
| **Module Cohesion** | High cohesion | Related functions grouped in same module |
|
|
103
|
+
| **Module Coupling** | Loose coupling | Modules minimize dependencies on each other |
|
|
104
|
+
| **Single Entry Point** | One public API | Each module has clear public interface |
|
|
105
|
+
| **Folder Structure** | Logical grouping | Files organized by feature or layer |
|
|
106
|
+
| **Reusability** | Portable modules | Modules can be reused in different contexts |
|
|
107
|
+
| **Testability** | Independently testable | Each module can be tested in isolation |
|
|
108
|
+
|
|
109
|
+
**Modular Design Patterns:**
|
|
110
|
+
|
|
111
|
+
| Pattern | When to Apply | Example |
|
|
112
|
+
|---------|---------------|---------|
|
|
113
|
+
| Feature Modules | Large files > 800 lines | Split `app.py` → `routes/api.py`, `routes/views.py` |
|
|
114
|
+
| Service Layer | Business logic mixed with routes | Extract to `services/` folder |
|
|
115
|
+
| Component Split | UI file > 500 lines | Split into sub-components |
|
|
116
|
+
| Utility Extraction | Repeated helper functions | Create `utils/` or `lib/` folder |
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## Code Smell Detection
|
|
121
|
+
|
|
122
|
+
| Smell | Detection Rule | Severity |
|
|
123
|
+
|-------|----------------|----------|
|
|
124
|
+
| God Class | Class > 500 lines OR > 20 methods | High |
|
|
125
|
+
| Long Method | Function > 50 lines | Medium |
|
|
126
|
+
| Large File | File > 800 lines | Medium |
|
|
127
|
+
| Deep Nesting | > 4 levels of indentation | Medium |
|
|
128
|
+
| Too Many Parameters | Function > 5 parameters | Low |
|
|
129
|
+
| Magic Numbers | Hardcoded values without constants | Low |
|
|
130
|
+
| Dead Code | Unused functions/variables | Low |
|
|
131
|
+
| Duplicate Code | Similar code blocks > 10 lines | Medium |
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Score Calculation
|
|
136
|
+
|
|
137
|
+
### Dimension Score (1-10 Grid)
|
|
138
|
+
|
|
139
|
+
Each dimension (Requirements, Specification, Test, Code, Tracing, Security) is scored 1-10 based on:
|
|
140
|
+
|
|
141
|
+
1. **Principle Violations:** Count violations in that dimension
|
|
142
|
+
2. **Principle Importance:** Weight violations by importance (critical=3, high=2, medium=1, low=0.5)
|
|
143
|
+
|
|
144
|
+
```
|
|
145
|
+
dimension_score = 10 - SUM(violation_weight * importance_weight)
|
|
146
|
+
dimension_score = MAX(1, MIN(10, dimension_score)) # Clamp to 1-10
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
**Importance Weights by Principle:**
|
|
150
|
+
|
|
151
|
+
| Category | Principle | Importance | Weight |
|
|
152
|
+
|----------|-----------|------------|--------|
|
|
153
|
+
| Code | File Size >800 lines | Critical | 3 |
|
|
154
|
+
| Code | Function Size >50 lines | High | 2 |
|
|
155
|
+
| Code | SRP Violation | Critical | 3 |
|
|
156
|
+
| Code | OCP Violation | High | 2 |
|
|
157
|
+
| Code | LSP Violation | Medium | 1 |
|
|
158
|
+
| Code | ISP Violation | Medium | 1 |
|
|
159
|
+
| Code | DIP Violation | High | 2 |
|
|
160
|
+
| Code | DRY Violation | High | 2 |
|
|
161
|
+
| Code | KISS Violation | High | 2 |
|
|
162
|
+
| Code | Modular Design Violation | High | 2 |
|
|
163
|
+
| Test | Line Coverage <80% | High | 2 |
|
|
164
|
+
| Test | No Tests | Critical | 3 |
|
|
165
|
+
| Test | Critical Path Untested | Critical | 3 |
|
|
166
|
+
| Req | Undocumented Feature | Medium | 1 |
|
|
167
|
+
| Req | Unimplemented Requirement | High | 2 |
|
|
168
|
+
| Req | Deviated Implementation | High | 2 |
|
|
169
|
+
| Spec | Missing Specification | Medium | 1 |
|
|
170
|
+
| Spec | Outdated Specification | Medium | 1 |
|
|
171
|
+
| Tracing | Untraced Function | Medium | 1 |
|
|
172
|
+
| Tracing | Unredacted Sensitive Param | High | 2 |
|
|
173
|
+
| Security | Hardcoded Secret | Critical | 3 |
|
|
174
|
+
| Security | Missing Input Validation | High | 2 |
|
|
175
|
+
| Security | Missing Auth/Authz | Critical | 3 |
|
|
176
|
+
|
|
177
|
+
### Dimension Status from Score
|
|
178
|
+
|
|
179
|
+
| Score Range | Status | Icon |
|
|
180
|
+
|-------------|--------|------|
|
|
181
|
+
| 8-10 | ✅ aligned | Green |
|
|
182
|
+
| 6-7 | ⚠️ needs_attention | Yellow |
|
|
183
|
+
| 1-5 | ❌ critical | Red |
|
|
184
|
+
| N/A | 📋 planned | Gray |
|
|
185
|
+
|
|
186
|
+
### Feature Score (1-10)
|
|
187
|
+
|
|
188
|
+
```
|
|
189
|
+
feature_score = weighted_average(
|
|
190
|
+
requirements_alignment: weight=0.20,
|
|
191
|
+
specification_alignment: weight=0.20,
|
|
192
|
+
test_coverage: weight=0.20,
|
|
193
|
+
code_alignment: weight=0.20,
|
|
194
|
+
tracing_coverage: weight=0.10,
|
|
195
|
+
security: weight=0.10
|
|
196
|
+
)
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
**Note:** Features with "planned" status are excluded from scoring.
|
|
200
|
+
|
|
201
|
+
### Overall Score (1-10)
|
|
202
|
+
|
|
203
|
+
```
|
|
204
|
+
overall_score = average(all feature_scores WHERE status != "planned")
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
### Health Status
|
|
208
|
+
|
|
209
|
+
```
|
|
210
|
+
IF overall_score >= 8: healthy
|
|
211
|
+
ELSE IF overall_score >= 5: attention_needed
|
|
212
|
+
ELSE: critical
|
|
213
|
+
```
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
# Evaluation Procedures Reference
|
|
2
|
+
|
|
3
|
+
This document contains detailed evaluation procedures for each perspective.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Procedure: Evaluate Requirements Alignment
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
1. LOCATE requirement docs:
|
|
11
|
+
- x-ipe-docs/requirements/requirement-summary.md
|
|
12
|
+
- x-ipe-docs/requirements/requirement-details.md
|
|
13
|
+
- Any docs referencing feature
|
|
14
|
+
|
|
15
|
+
2. FOR EACH requirement related to feature:
|
|
16
|
+
a. CHECK if requirement is documented
|
|
17
|
+
b. CHECK if requirement is implemented in code
|
|
18
|
+
c. IDENTIFY deviations between doc and implementation
|
|
19
|
+
|
|
20
|
+
3. CLASSIFY gaps:
|
|
21
|
+
- undocumented: Implemented but not in requirements
|
|
22
|
+
- unimplemented: In requirements but not implemented
|
|
23
|
+
- deviated: Implementation differs from requirement
|
|
24
|
+
|
|
25
|
+
4. ASSIGN severity:
|
|
26
|
+
- high: Core functionality affected
|
|
27
|
+
- medium: Secondary functionality affected
|
|
28
|
+
- low: Minor/edge cases
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Procedure: Evaluate Specification Alignment
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
1. LOCATE specification:
|
|
37
|
+
- x-ipe-docs/requirements/FEATURE-XXX/specification.md
|
|
38
|
+
|
|
39
|
+
2. IF specification exists:
|
|
40
|
+
a. EXTRACT expected behaviors
|
|
41
|
+
b. COMPARE with actual implementation
|
|
42
|
+
c. IDENTIFY gaps (missing | outdated | incorrect)
|
|
43
|
+
|
|
44
|
+
3. IF specification missing (empty feature folder):
|
|
45
|
+
a. CHECK if any related implementation exists in codebase
|
|
46
|
+
b. IF no implementation found:
|
|
47
|
+
- status: planned
|
|
48
|
+
- NOT a gap - just indicates future work needed
|
|
49
|
+
- Do NOT count as critical or high priority gap
|
|
50
|
+
c. IF implementation exists without specification:
|
|
51
|
+
- status: not_found
|
|
52
|
+
- Add gap: "Implementation exists but specification missing"
|
|
53
|
+
- severity: medium (documentation debt)
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Procedure: Evaluate Test Coverage
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
1. IDENTIFY test files for feature:
|
|
62
|
+
- tests/**/test_*{feature_name}*
|
|
63
|
+
- tests/**/*{feature_name}*_test.*
|
|
64
|
+
|
|
65
|
+
2. RUN coverage analysis:
|
|
66
|
+
- Python: pytest --cov
|
|
67
|
+
- Node.js: npm test -- --coverage
|
|
68
|
+
- Go: go test -cover
|
|
69
|
+
|
|
70
|
+
3. EXTRACT metrics:
|
|
71
|
+
- Line coverage %
|
|
72
|
+
- Branch coverage %
|
|
73
|
+
- Untested functions/areas
|
|
74
|
+
|
|
75
|
+
4. IDENTIFY critical untested areas:
|
|
76
|
+
- Business logic paths
|
|
77
|
+
- Error handlers
|
|
78
|
+
- Edge cases
|
|
79
|
+
|
|
80
|
+
5. DETERMINE status:
|
|
81
|
+
- sufficient: ≥80% line coverage, no critical gaps
|
|
82
|
+
- insufficient: <80% or has critical gaps
|
|
83
|
+
- no_tests: No test files found
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Procedure: Evaluate Code Alignment
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
1. LOCATE technical design:
|
|
92
|
+
- x-ipe-docs/requirements/FEATURE-XXX/technical-design.md
|
|
93
|
+
|
|
94
|
+
2. IF technical design exists:
|
|
95
|
+
a. EXTRACT expected:
|
|
96
|
+
- File structure
|
|
97
|
+
- Component interfaces
|
|
98
|
+
- Data models
|
|
99
|
+
b. COMPARE with actual implementation
|
|
100
|
+
c. IDENTIFY gaps:
|
|
101
|
+
- structure: File/folder organization differs
|
|
102
|
+
- behavior: Logic differs from design
|
|
103
|
+
- interface: API/interface differs
|
|
104
|
+
|
|
105
|
+
3. DETERMINE status:
|
|
106
|
+
- aligned: No significant gaps
|
|
107
|
+
- drifted: Minor gaps exist
|
|
108
|
+
- major_drift: Critical gaps exist
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## Procedure: Evaluate Tracing Coverage
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
1. SCAN code files for @x_ipe_tracing decorator usage:
|
|
117
|
+
- grep -r "@x_ipe_tracing" src/
|
|
118
|
+
- Count decorated vs total public functions
|
|
119
|
+
|
|
120
|
+
2. FOR EACH file in scope:
|
|
121
|
+
- List public functions (def/async def at module level, class methods)
|
|
122
|
+
- Check if decorated with @x_ipe_tracing
|
|
123
|
+
- Flag missing decorators
|
|
124
|
+
|
|
125
|
+
3. CHECK sensitive parameter redaction:
|
|
126
|
+
- Search for password, token, secret, key, auth parameters
|
|
127
|
+
- Verify redact=[] is specified for these
|
|
128
|
+
|
|
129
|
+
4. COMPILE tracing_coverage: {
|
|
130
|
+
status: passed|warning|failed,
|
|
131
|
+
coverage_percentage: X%,
|
|
132
|
+
untraced_functions: [],
|
|
133
|
+
unredacted_params: []
|
|
134
|
+
}
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Procedure: Evaluate Security
|
|
140
|
+
|
|
141
|
+
```
|
|
142
|
+
1. SCAN for hardcoded secrets:
|
|
143
|
+
- grep for password=, secret=, token=, api_key=
|
|
144
|
+
- Check for base64-encoded strings that look like keys
|
|
145
|
+
|
|
146
|
+
2. CHECK input validation:
|
|
147
|
+
- Identify user-facing endpoints
|
|
148
|
+
- Verify input validation exists
|
|
149
|
+
|
|
150
|
+
3. CHECK authentication/authorization:
|
|
151
|
+
- Protected routes have auth decorators
|
|
152
|
+
- Role-based access control where needed
|
|
153
|
+
|
|
154
|
+
4. CHECK injection prevention:
|
|
155
|
+
- Parameterized queries (no string concatenation for SQL)
|
|
156
|
+
- XSS prevention (output encoding)
|
|
157
|
+
|
|
158
|
+
5. COMPILE security_evaluation: {
|
|
159
|
+
status: passed|warning|failed,
|
|
160
|
+
violations: []
|
|
161
|
+
}
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## Procedure: Generate Refactoring Suggestions
|
|
167
|
+
|
|
168
|
+
**Integrates with:** `task-type-refactoring-analysis` skill
|
|
169
|
+
|
|
170
|
+
```
|
|
171
|
+
1. ANALYZE gaps from all perspectives:
|
|
172
|
+
- Collect all gaps with severity high/medium
|
|
173
|
+
- Group gaps by feature
|
|
174
|
+
|
|
175
|
+
2. FOR EACH feature with gaps:
|
|
176
|
+
a. IDENTIFY applicable principles:
|
|
177
|
+
- Large files/classes → SRP, SOLID
|
|
178
|
+
- Duplicated code → DRY
|
|
179
|
+
- Complex logic → KISS
|
|
180
|
+
- Unused code → YAGNI
|
|
181
|
+
- Mixed concerns → SoC
|
|
182
|
+
|
|
183
|
+
b. FORMULATE goals based on gaps:
|
|
184
|
+
- requirements gaps → Suggest documentation sync or code alignment
|
|
185
|
+
- specification gaps → Suggest spec update or implementation fix
|
|
186
|
+
- test coverage gaps → Suggest test-first approach
|
|
187
|
+
- code alignment gaps → Suggest structural refactoring
|
|
188
|
+
|
|
189
|
+
c. DEFINE target structure:
|
|
190
|
+
- Describe desired code organization after fixes
|
|
191
|
+
- Note key structural changes needed
|
|
192
|
+
|
|
193
|
+
d. IDENTIFY constraints:
|
|
194
|
+
- Backward compatibility requirements
|
|
195
|
+
- API stability requirements
|
|
196
|
+
- Dependencies to preserve
|
|
197
|
+
|
|
198
|
+
3. COMPILE refactoring_suggestion for feature:
|
|
199
|
+
summary: "<derived from gap analysis>"
|
|
200
|
+
goals:
|
|
201
|
+
- goal: "<specific goal from gap>"
|
|
202
|
+
priority: <based on gap severity>
|
|
203
|
+
rationale: "<from gap description>"
|
|
204
|
+
target_structure: "<desired end state>"
|
|
205
|
+
|
|
206
|
+
principles:
|
|
207
|
+
primary: [<principles with applications>]
|
|
208
|
+
secondary: [<supporting principles>]
|
|
209
|
+
constraints: [<identified constraints>]
|
|
210
|
+
|
|
211
|
+
4. IF no gaps found for feature:
|
|
212
|
+
- Set has_suggestions: false for that feature
|
|
213
|
+
- Skip suggestion generation
|
|
214
|
+
```
|
|
@@ -53,11 +53,15 @@
|
|
|
53
53
|
|
|
54
54
|
### Overview Table
|
|
55
55
|
|
|
56
|
-
| Feature ID | Feature Name |
|
|
57
|
-
|
|
58
|
-
| {feature_id} | {feature_name} | {status_icon} | {
|
|
56
|
+
| Feature ID | Feature Name | Score | Status | Req | Spec | Test | Code | Tracing | Security | Gaps |
|
|
57
|
+
|------------|--------------|-------|--------|-----|------|------|------|---------|----------|------|
|
|
58
|
+
| {feature_id} | {feature_name} | {score}/10 | {status_icon} | {req_score}/10 | {spec_score}/10 | {test_score}/10 | {code_score}/10 | {tracing_score}/10 | {security_score}/10 | {gap_count} |
|
|
59
59
|
|
|
60
|
-
**Status
|
|
60
|
+
**Score-to-Status Mapping:**
|
|
61
|
+
- 8-10: ✅ aligned (green)
|
|
62
|
+
- 6-7: ⚠️ needs_attention (yellow)
|
|
63
|
+
- 1-5: ❌ critical (red)
|
|
64
|
+
- N/A: 📋 planned (gray)
|
|
61
65
|
|
|
62
66
|
---
|
|
63
67
|
|
|
@@ -99,6 +103,22 @@
|
|
|
99
103
|
|
|
100
104
|
*No violations* (if none)
|
|
101
105
|
|
|
106
|
+
#### Tracing Coverage Violations
|
|
107
|
+
|
|
108
|
+
| Violation | Severity | Details |
|
|
109
|
+
|-----------|----------|---------|
|
|
110
|
+
| {violation_type} | {severity} | {details} |
|
|
111
|
+
|
|
112
|
+
*No violations* (if none)
|
|
113
|
+
|
|
114
|
+
#### Security Violations
|
|
115
|
+
|
|
116
|
+
| Violation | Severity | Details |
|
|
117
|
+
|-----------|----------|---------|
|
|
118
|
+
| {violation_type} | {severity} | {details} |
|
|
119
|
+
|
|
120
|
+
*No violations* (if none)
|
|
121
|
+
|
|
102
122
|
---
|
|
103
123
|
|
|
104
124
|
<!-- Repeat "### {feature_id}" section for each feature with violations -->
|
|
@@ -149,9 +169,14 @@
|
|
|
149
169
|
|
|
150
170
|
### Coverage by Feature
|
|
151
171
|
|
|
152
|
-
| Feature | Requirements | Specification | Test Coverage | Code Alignment | Overall |
|
|
153
|
-
|
|
154
|
-
| {feature_id} | {req_score} | {spec_score} | {test_score} | {code_score} | {overall} |
|
|
172
|
+
| Feature | Requirements | Specification | Test Coverage | Code Alignment | Tracing | Security | Overall |
|
|
173
|
+
|---------|--------------|---------------|---------------|----------------|---------|----------|---------|
|
|
174
|
+
| {feature_id} | {req_score}/10 | {spec_score}/10 | {test_score}/10 | {code_score}/10 | {tracing_score}/10 | {security_score}/10 | {overall}/10 |
|
|
175
|
+
|
|
176
|
+
**Score-to-Status Mapping:**
|
|
177
|
+
- 8-10: ✅ aligned
|
|
178
|
+
- 6-7: ⚠️ needs_attention
|
|
179
|
+
- 1-5: ❌ critical
|
|
155
180
|
|
|
156
181
|
### Gap Distribution by Feature
|
|
157
182
|
|
|
@@ -245,21 +270,48 @@
|
|
|
245
270
|
| Too Many Parameters | Function > 5 parameters | Low |
|
|
246
271
|
| Duplicate Code | Similar code blocks > 10 lines | Medium |
|
|
247
272
|
|
|
273
|
+
### Tracing Coverage Evaluation
|
|
274
|
+
|
|
275
|
+
| Principle | Threshold | Description |
|
|
276
|
+
|-----------|-----------|-------------|
|
|
277
|
+
| Decorator Coverage | ≥ 90% | Public functions must have @x_ipe_tracing decorator |
|
|
278
|
+
| Sensitive Param Redaction | Required | password, token, secret, key params must use redact=[] |
|
|
279
|
+
| Logging Levels | Correct | API=INFO, Business logic=INFO, Utilities=DEBUG |
|
|
280
|
+
|
|
281
|
+
### Security Evaluation
|
|
282
|
+
|
|
283
|
+
| Principle | Threshold | Description |
|
|
284
|
+
|-----------|-----------|-------------|
|
|
285
|
+
| Input Validation | Required | All user-facing endpoints must validate input |
|
|
286
|
+
| No Hardcoded Secrets | Required | No secrets, tokens, or credentials in code |
|
|
287
|
+
| Auth/Authz | Required | Protected routes must have proper authentication/authorization |
|
|
288
|
+
| Injection Prevention | Required | SQL injection and XSS prevention measures in place |
|
|
289
|
+
| Sensitive Data Handling | Required | Encryption/hashing for sensitive data |
|
|
290
|
+
|
|
248
291
|
---
|
|
249
292
|
|
|
250
293
|
## Status Legend
|
|
251
294
|
|
|
252
|
-
| Status | Description |
|
|
253
|
-
|
|
254
|
-
| aligned | Fully aligned
|
|
255
|
-
|
|
|
256
|
-
|
|
|
257
|
-
|
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
295
|
+
| Score Range | Status | Description |
|
|
296
|
+
|-------------|--------|-------------|
|
|
297
|
+
| 8-10 | ✅ aligned | Fully aligned, meets quality standards |
|
|
298
|
+
| 6-7 | ⚠️ needs_attention | Minor gaps exist, should be addressed |
|
|
299
|
+
| 1-5 | ❌ critical | Major issues requiring immediate action |
|
|
300
|
+
| N/A | 📋 planned | Future feature - not yet implemented |
|
|
301
|
+
|
|
302
|
+
### Dimension Score Calculation
|
|
303
|
+
|
|
304
|
+
Each dimension (Requirements, Specification, Test, Code, Tracing, Security) is scored 1-10 based on:
|
|
305
|
+
|
|
306
|
+
```
|
|
307
|
+
dimension_score = 10 - SUM(violation_count × importance_weight)
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
**Importance Weights:**
|
|
311
|
+
- Critical violations: ×3 (e.g., no tests, hardcoded secrets)
|
|
312
|
+
- High violations: ×2 (e.g., missing coverage, SRP violations)
|
|
313
|
+
- Medium violations: ×1 (e.g., outdated specs, missing docs)
|
|
314
|
+
- Low violations: ×0.5 (e.g., minor style issues)
|
|
263
315
|
|
|
264
316
|
## Health Status Definitions
|
|
265
317
|
|
|
@@ -63,7 +63,7 @@ Task:
|
|
|
63
63
|
| Task Type | Category |
|
|
64
64
|
|-----------|----------|
|
|
65
65
|
| `task-type-feature-refinement`, `task-type-technical-design`, `task-type-test-generation`, `task-type-code-implementation`, `task-type-feature-acceptance-test`, `task-type-feature-closing` | feature-stage |
|
|
66
|
-
| `task-
|
|
66
|
+
| `x-ipe-task-based-ideation`, `task-type-idea-mockup`, `task-type-idea-to-architecture` | ideation-stage |
|
|
67
67
|
| `task-type-requirement-gathering`, `task-type-feature-breakdown` | requirement-stage |
|
|
68
68
|
| `task-type-bug-fix`, `task-type-change-request`, `task-type-project-init`, `task-type-dev-environment`, `task-type-user-manual`, `task-type-human-playground`, `task-type-share-idea`, `task-type-feature-acceptance-test` | Standalone |
|
|
69
69
|
| `task-type-refactoring-analysis`, `task-type-improve-code-quality-before-refactoring`, `task-type-code-refactor-v2` | code-refactoring-stage |
|
|
@@ -351,7 +351,7 @@ ELSE:
|
|
|
351
351
|
|
|
352
352
|
| Task Type | Skill | Category | Next Task | Human Review (default) |
|
|
353
353
|
|-----------|-------|----------|-----------|------------------------|
|
|
354
|
-
| Ideation | `task-
|
|
354
|
+
| Ideation | `x-ipe-task-based-ideation` | ideation-stage | Idea Mockup OR Idea to Architecture | No |
|
|
355
355
|
| Idea Mockup | `task-type-idea-mockup` | ideation-stage | Requirement Gathering | No |
|
|
356
356
|
| Idea to Architecture | `task-type-idea-to-architecture` | ideation-stage | Requirement Gathering | No |
|
|
357
357
|
| Share Idea | `task-type-share-idea` | Standalone | - | Yes |
|
|
@@ -9,7 +9,7 @@ task_id: TASK-XXX # Unique identifier (format: TASK-001, TASK
|
|
|
9
9
|
task_type: "" # From Task Types Registry in SKILL.md
|
|
10
10
|
category: "" # Derived from task type:
|
|
11
11
|
# - feature-stage (task-type-feature-*, task-type-human-playground, task-type-technical-design)
|
|
12
|
-
# - requirement-stage (task-
|
|
12
|
+
# - requirement-stage (x-ipe-task-based-ideation, task-type-requirement-gathering, task-type-feature-breakdown)
|
|
13
13
|
# - Standalone (no category)
|
|
14
14
|
role_assigned: "" # Who performs the work (e.g., Nova, Claude, Human)
|
|
15
15
|
status: pending # Task status: pending | in_progress | blocked | deferred | completed | cancelled
|