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
|
@@ -0,0 +1,373 @@
|
|
|
1
|
+
# Refactoring Techniques Reference
|
|
2
|
+
|
|
3
|
+
## Input Structure Definitions
|
|
4
|
+
|
|
5
|
+
### refactoring_scope Structure
|
|
6
|
+
```yaml
|
|
7
|
+
refactoring_scope:
|
|
8
|
+
files: [<list of file paths>]
|
|
9
|
+
modules: [<list of module names>]
|
|
10
|
+
dependencies: [<identified dependencies>]
|
|
11
|
+
scope_expansion_log: [<log of scope expansions>]
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
### refactoring_suggestion Structure
|
|
15
|
+
```yaml
|
|
16
|
+
refactoring_suggestion:
|
|
17
|
+
summary: "<high-level description of suggested refactoring>"
|
|
18
|
+
goals:
|
|
19
|
+
- goal: "<specific improvement goal>"
|
|
20
|
+
priority: high | medium | low
|
|
21
|
+
rationale: "<why this goal matters>"
|
|
22
|
+
principle: "<SOLID | DRY | KISS | YAGNI | Modular Design | etc.>"
|
|
23
|
+
target_structure: "<description of desired structure after refactoring>"
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### refactoring_principle Structure
|
|
27
|
+
```yaml
|
|
28
|
+
refactoring_principle:
|
|
29
|
+
primary_principles:
|
|
30
|
+
- principle: <SOLID | DRY | KISS | YAGNI | SoC | Modular Design | etc.>
|
|
31
|
+
rationale: "<why this principle applies>"
|
|
32
|
+
applications:
|
|
33
|
+
- area: "<code area>"
|
|
34
|
+
action: "<specific application>"
|
|
35
|
+
secondary_principles:
|
|
36
|
+
- principle: <name>
|
|
37
|
+
rationale: "<supporting rationale>"
|
|
38
|
+
constraints:
|
|
39
|
+
- constraint: "<what to avoid or preserve>"
|
|
40
|
+
reason: "<why this constraint exists>"
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### code_quality_evaluated Structure (from Improve Code Quality)
|
|
44
|
+
```yaml
|
|
45
|
+
code_quality_evaluated:
|
|
46
|
+
requirements_alignment: { status: aligned, updates_made: [...] }
|
|
47
|
+
specification_alignment: { status: aligned, updates_made: [...] }
|
|
48
|
+
test_coverage: { status: sufficient, line_coverage: XX%, tests_added: N }
|
|
49
|
+
code_alignment:
|
|
50
|
+
status: aligned | needs_attention | critical
|
|
51
|
+
file_size_violations: [<files to split>]
|
|
52
|
+
solid_assessment: { srp, ocp, lsp, isp, dip }
|
|
53
|
+
kiss_assessment: { over_engineering, straightforward_logic, minimal_dependencies, clear_intent }
|
|
54
|
+
modular_design_assessment: { module_cohesion, module_coupling, single_entry_point, folder_structure, reusability, testability }
|
|
55
|
+
code_smells: [<smells to address>]
|
|
56
|
+
overall_quality_score: <1-10>
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Detailed Execution Procedures
|
|
62
|
+
|
|
63
|
+
### Step 1: Reflect on Context - Detail
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
1. FOR EACH file in scope:
|
|
67
|
+
- IDENTIFY associated requirements, features, tech specs
|
|
68
|
+
- BUILD context_map with all relationships
|
|
69
|
+
|
|
70
|
+
2. REVIEW refactoring_suggestion:
|
|
71
|
+
- EXTRACT goals and priorities
|
|
72
|
+
- NOTE target_structure as end-state vision
|
|
73
|
+
- UNDERSTAND rationale for each goal
|
|
74
|
+
|
|
75
|
+
3. REVIEW refactoring_principle:
|
|
76
|
+
- EXTRACT primary_principles and their applications
|
|
77
|
+
- NOTE constraints and preservation requirements
|
|
78
|
+
- MAP principles to specific code areas
|
|
79
|
+
|
|
80
|
+
4. IDENTIFY impacts (docs, tests, downstream code)
|
|
81
|
+
|
|
82
|
+
5. VALIDATE alignment:
|
|
83
|
+
- Suggestions align with code_quality_evaluated gaps?
|
|
84
|
+
- Principles applicable to identified problem areas?
|
|
85
|
+
- Constraints achievable with current codebase?
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**Output:** context_map with code relationships and principle-to-code mapping
|
|
89
|
+
|
|
90
|
+
### Step 2: Generate Refactoring Plan - Detail
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
1. ANALYZE current structure (sizes, smells, principle violations)
|
|
94
|
+
|
|
95
|
+
2. DESIGN target structure per refactoring_suggestion.target_structure:
|
|
96
|
+
FOR EACH primary_principle in refactoring_principle:
|
|
97
|
+
- Apply principle to specific areas as defined in applications
|
|
98
|
+
- SOLID: Extract classes/modules for SRP violations
|
|
99
|
+
- DRY: Plan abstractions for duplications
|
|
100
|
+
- KISS: Plan simplifications
|
|
101
|
+
- YAGNI: Remove unused code
|
|
102
|
+
- SoC: Separate mixed concerns
|
|
103
|
+
|
|
104
|
+
3. CREATE refactoring_plan with phases:
|
|
105
|
+
FOR EACH goal in refactoring_suggestion.goals (by priority):
|
|
106
|
+
- phase, name, changes (type/from/to/reason/principle_applied), risk, tests_affected
|
|
107
|
+
- ENSURE each change references the principle driving it
|
|
108
|
+
|
|
109
|
+
4. VALIDATE plan against constraints:
|
|
110
|
+
FOR EACH constraint in refactoring_principle.constraints:
|
|
111
|
+
- VERIFY plan respects constraint
|
|
112
|
+
- IF violation → revise plan
|
|
113
|
+
|
|
114
|
+
5. CREATE test_plan and doc_plan
|
|
115
|
+
|
|
116
|
+
6. PRESENT plan to human:
|
|
117
|
+
"Refactoring Plan Summary:
|
|
118
|
+
- Goals: {goals_addressed}
|
|
119
|
+
- Principles Applied: {principle_list}
|
|
120
|
+
- Phases: {phase_count}
|
|
121
|
+
- Constraints Respected: {constraint_list}
|
|
122
|
+
|
|
123
|
+
[Detailed phase breakdown...]"
|
|
124
|
+
|
|
125
|
+
7. WAIT for human approval
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Step 3: Execute Refactoring - Detail
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
FOR EACH phase:
|
|
132
|
+
1. CREATE checkpoint: git commit -m "checkpoint: before phase {N}"
|
|
133
|
+
|
|
134
|
+
2. FOR EACH change:
|
|
135
|
+
- Apply change following the principle_applied for this change
|
|
136
|
+
- VERIFY change aligns with constraint requirements
|
|
137
|
+
- Update imports and exports
|
|
138
|
+
|
|
139
|
+
3. RUN tests immediately after each change
|
|
140
|
+
|
|
141
|
+
4. IF tests fail:
|
|
142
|
+
- Import error → Fix import
|
|
143
|
+
- Behavior changed → REVERT to checkpoint, revise plan
|
|
144
|
+
- Legitimate update → Update test, document why
|
|
145
|
+
|
|
146
|
+
5. LOG principle application:
|
|
147
|
+
"Applied {principle} to {area}: {action}"
|
|
148
|
+
|
|
149
|
+
6. COMMIT: git commit -m "refactor({scope}): {description} [principle: {principle}]"
|
|
150
|
+
|
|
151
|
+
7. LOG phase completion with principles applied
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### Step 4: Update References - Detail
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
1. UPDATE technical designs:
|
|
158
|
+
- Update component list, file locations, import paths
|
|
159
|
+
- ADD to Design Change Log with date and summary
|
|
160
|
+
|
|
161
|
+
2. UPDATE feature specifications (file references, code snippets)
|
|
162
|
+
|
|
163
|
+
3. UPDATE requirements (implementation notes, file references)
|
|
164
|
+
|
|
165
|
+
4. COMPILE references_updated with all paths
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### Step 5: Validate and Complete - Detail
|
|
169
|
+
|
|
170
|
+
```
|
|
171
|
+
1. RUN final test suite (all must pass, coverage maintained/improved)
|
|
172
|
+
|
|
173
|
+
2. VALIDATE against refactoring_suggestion.goals:
|
|
174
|
+
FOR EACH goal:
|
|
175
|
+
- VERIFY goal achieved
|
|
176
|
+
- NOTE if partially achieved or skipped
|
|
177
|
+
|
|
178
|
+
3. VALIDATE against refactoring_principle:
|
|
179
|
+
FOR EACH primary_principle:
|
|
180
|
+
- VERIFY principle applied in specified areas
|
|
181
|
+
- VERIFY no new violations introduced
|
|
182
|
+
FOR EACH constraint:
|
|
183
|
+
- VERIFY constraint respected
|
|
184
|
+
|
|
185
|
+
4. CALCULATE quality improvements:
|
|
186
|
+
- Run static analysis (before vs after)
|
|
187
|
+
- Score: readability, maintainability, testability, cohesion, coupling
|
|
188
|
+
- Calculate overall quality_score_before and quality_score_after
|
|
189
|
+
|
|
190
|
+
5. VERIFY test coverage (if degraded → add tests before completing)
|
|
191
|
+
|
|
192
|
+
6. COMPILE refactoring_summary:
|
|
193
|
+
- files_modified, files_created, files_deleted
|
|
194
|
+
- tests_updated
|
|
195
|
+
- principles_applied: [<list with application counts>]
|
|
196
|
+
- goals_achieved: [<from refactoring_suggestion>]
|
|
197
|
+
|
|
198
|
+
7. PRESENT summary to human:
|
|
199
|
+
"Refactoring Complete
|
|
200
|
+
|
|
201
|
+
Goals Achieved: {goal_list}
|
|
202
|
+
Principles Applied: {principle_list with counts}
|
|
203
|
+
Constraints Respected: {constraint_list}
|
|
204
|
+
|
|
205
|
+
Quality: {before_score} → {after_score}
|
|
206
|
+
Coverage: {before}% → {after}%"
|
|
207
|
+
|
|
208
|
+
8. WAIT for human approval
|
|
209
|
+
|
|
210
|
+
9. CREATE final commit
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## Tracing Instrumentation
|
|
216
|
+
|
|
217
|
+
**Action:** Ensure tracing instrumentation is preserved and applied to new code
|
|
218
|
+
|
|
219
|
+
```
|
|
220
|
+
1. CHECK existing tracing preservation:
|
|
221
|
+
- FOR EACH moved function:
|
|
222
|
+
- VERIFY @x_ipe_tracing decorator still attached
|
|
223
|
+
- VERIFY redact=[] parameters unchanged
|
|
224
|
+
- FOR EACH renamed function:
|
|
225
|
+
- VERIFY decorator remains attached
|
|
226
|
+
|
|
227
|
+
2. IDENTIFY new code needing tracing:
|
|
228
|
+
- List all NEW public functions created during refactor
|
|
229
|
+
- List all functions that were SPLIT into multiple functions
|
|
230
|
+
|
|
231
|
+
3. INVOKE tool-tracing-instrumentation skill:
|
|
232
|
+
- Target: All NEW files created during refactoring
|
|
233
|
+
- Target: All files with NEW public functions
|
|
234
|
+
- Example: "Add tracing to src/x_ipe/services/extracted_module.py"
|
|
235
|
+
|
|
236
|
+
4. REVIEW and APPLY proposed decorators:
|
|
237
|
+
- Verify level assignments match original if function was moved
|
|
238
|
+
- Verify new functions get appropriate levels
|
|
239
|
+
- Apply decorators
|
|
240
|
+
|
|
241
|
+
5. RE-RUN tests to ensure decorators work:
|
|
242
|
+
pytest tests/ -v
|
|
243
|
+
|
|
244
|
+
6. UPDATE tracing_preserved and tracing_applied counts in summary
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
**Skip Conditions:**
|
|
248
|
+
- Skip if project has no tracing infrastructure
|
|
249
|
+
- Skip if refactoring only touched non-code files (docs, config)
|
|
250
|
+
|
|
251
|
+
### Tracing Preservation Rules
|
|
252
|
+
|
|
253
|
+
During refactoring, tracing instrumentation MUST be preserved:
|
|
254
|
+
|
|
255
|
+
1. **When moving functions:**
|
|
256
|
+
- Keep existing `@x_ipe_tracing` decorators intact
|
|
257
|
+
- Preserve `redact=[]` parameters unchanged
|
|
258
|
+
- Update imports if decorator location changes
|
|
259
|
+
|
|
260
|
+
2. **When splitting modules:**
|
|
261
|
+
- Each new module's public functions retain/get decorators
|
|
262
|
+
- Maintain consistent tracing levels (INFO for public, DEBUG for internal)
|
|
263
|
+
|
|
264
|
+
3. **When renaming functions:**
|
|
265
|
+
- Decorator stays attached to function
|
|
266
|
+
- Consider if trace logs will now show new name (expected)
|
|
267
|
+
|
|
268
|
+
4. **When adding new code during refactor:**
|
|
269
|
+
- Apply `@x_ipe_tracing` to new public functions
|
|
270
|
+
- Use `tool-tracing-instrumentation` skill if needed
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
## Safety Check Procedures
|
|
275
|
+
|
|
276
|
+
### Prerequisite Chain Enforcement
|
|
277
|
+
|
|
278
|
+
**Before executing this skill, verify the refactoring chain was followed:**
|
|
279
|
+
|
|
280
|
+
```
|
|
281
|
+
1. CHECK if refactoring_suggestion AND refactoring_principle exist:
|
|
282
|
+
- These attributes are ONLY produced by task-type-refactoring-analysis
|
|
283
|
+
|
|
284
|
+
2. IF refactoring_suggestion OR refactoring_principle is MISSING:
|
|
285
|
+
→ ⛔ STOP execution of this skill
|
|
286
|
+
→ LOG: "Missing prerequisite: task-type-refactoring-analysis not executed"
|
|
287
|
+
→ REDIRECT: Load and execute `task-type-refactoring-analysis` skill first
|
|
288
|
+
→ After completion, chain will auto-proceed through:
|
|
289
|
+
task-type-refactoring-analysis → task-type-improve-code-quality-before-refactoring → task-type-code-refactor-v2
|
|
290
|
+
|
|
291
|
+
3. IF code_quality_evaluated is MISSING:
|
|
292
|
+
→ ⛔ STOP execution of this skill
|
|
293
|
+
→ LOG: "Missing prerequisite: task-type-improve-code-quality-before-refactoring not executed"
|
|
294
|
+
→ REDIRECT: Load and execute `task-type-improve-code-quality-before-refactoring` skill first
|
|
295
|
+
|
|
296
|
+
4. ONLY proceed to Execution Flow if ALL prerequisites are present
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
### Rollback Procedure
|
|
300
|
+
|
|
301
|
+
**When:** Tests fail after change
|
|
302
|
+
**Then:**
|
|
303
|
+
```
|
|
304
|
+
1. STOP immediately
|
|
305
|
+
2. Analyze failure cause
|
|
306
|
+
3. If behavior change: git revert to checkpoint
|
|
307
|
+
4. If import issue: fix and retry
|
|
308
|
+
5. If legitimate update: update test carefully
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
## Output Structure Definition
|
|
314
|
+
|
|
315
|
+
```yaml
|
|
316
|
+
Output:
|
|
317
|
+
category: code-refactoring-stage
|
|
318
|
+
status: completed | blocked
|
|
319
|
+
next_task_type: null
|
|
320
|
+
require_human_review: Yes
|
|
321
|
+
auto_proceed: {from input Auto Proceed}
|
|
322
|
+
task_output_links: [<paths to refactored files>]
|
|
323
|
+
|
|
324
|
+
# Dynamic attributes
|
|
325
|
+
refactoring_summary:
|
|
326
|
+
files_modified: <count>
|
|
327
|
+
files_created: <count>
|
|
328
|
+
files_deleted: <count>
|
|
329
|
+
tests_updated: <count>
|
|
330
|
+
principles_applied:
|
|
331
|
+
- principle: <SOLID | DRY | KISS | YAGNI | SoC | Modular Design>
|
|
332
|
+
application_count: <N>
|
|
333
|
+
areas: [<code areas where applied>]
|
|
334
|
+
goals_achieved:
|
|
335
|
+
- goal: "<from refactoring_suggestion>"
|
|
336
|
+
status: achieved | partially | skipped
|
|
337
|
+
notes: "<any relevant notes>"
|
|
338
|
+
constraints_respected: [<list of constraints verified>]
|
|
339
|
+
|
|
340
|
+
code_quality_evaluated:
|
|
341
|
+
quality_score_before: <1-10>
|
|
342
|
+
quality_score_after: <1-10>
|
|
343
|
+
|
|
344
|
+
# Code Alignment Improvements
|
|
345
|
+
code_alignment:
|
|
346
|
+
file_size_violations:
|
|
347
|
+
before: <count>
|
|
348
|
+
after: <count>
|
|
349
|
+
resolved: [<files that were split>]
|
|
350
|
+
solid_assessment:
|
|
351
|
+
before: { srp: status, ocp: status, ... }
|
|
352
|
+
after: { srp: status, ocp: status, ... }
|
|
353
|
+
kiss_assessment:
|
|
354
|
+
before: { over_engineering: status, ... }
|
|
355
|
+
after: { over_engineering: status, ... }
|
|
356
|
+
modular_design_assessment:
|
|
357
|
+
before: { module_cohesion: status, ... }
|
|
358
|
+
after: { module_cohesion: status, ... }
|
|
359
|
+
code_smells:
|
|
360
|
+
before: <count>
|
|
361
|
+
after: <count>
|
|
362
|
+
resolved: [<smells addressed>]
|
|
363
|
+
|
|
364
|
+
test_coverage:
|
|
365
|
+
before: <XX%>
|
|
366
|
+
after: <XX%>
|
|
367
|
+
status: maintained | improved | degraded
|
|
368
|
+
|
|
369
|
+
references_updated:
|
|
370
|
+
requirements: [<paths>]
|
|
371
|
+
specifications: [<paths>]
|
|
372
|
+
technical_designs: [<paths>]
|
|
373
|
+
```
|
|
@@ -153,72 +153,17 @@ Execute Feature Breakdown by following these steps in order:
|
|
|
153
153
|
|
|
154
154
|
### Step 2.5: Process Mockups
|
|
155
155
|
|
|
156
|
-
**⚠️ MANDATORY CHECK - Auto-detect mockups if not provided
|
|
156
|
+
**⚠️ MANDATORY CHECK - Auto-detect mockups if not provided**
|
|
157
157
|
|
|
158
|
-
|
|
159
|
-
BEFORE processing mockup_list:
|
|
160
|
-
|
|
161
|
-
1. IF mockup_list is NOT provided or empty:
|
|
162
|
-
a. Check if requirement came from an Idea (look for idea folder reference)
|
|
163
|
-
b. IF idea folder exists:
|
|
164
|
-
- Scan: x-ipe-docs/ideas/{idea-folder}/mockups/
|
|
165
|
-
- IF mockups found → Auto-populate mockup_list from found files
|
|
166
|
-
- Notify: "Found {N} mockups in idea folder, processing..."
|
|
167
|
-
|
|
168
|
-
2. IF mockup_list is STILL empty after auto-detection:
|
|
169
|
-
- Log: "No mockups found - skipping mockup processing"
|
|
170
|
-
- Proceed to Step 3
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
**Action:** Copy mockups from source to feature folder and link them
|
|
158
|
+
**Action:** Auto-detect mockups from idea folder, then copy to feature folders and link them.
|
|
174
159
|
|
|
175
|
-
**
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
2. FOR EACH mockup in mockup_list (that relates to this feature):
|
|
182
|
-
- Copy mockup file from mockup_list source
|
|
183
|
-
- Rename to: {mockup_name}.{original_extension}
|
|
184
|
-
- Save to: x-ipe-docs/requirements/{FEATURE-ID}/mockups/{mockup_name}.{ext}
|
|
185
|
-
|
|
186
|
-
3. Record linked mockups for output
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
**File Operations:**
|
|
190
|
-
```yaml
|
|
191
|
-
# Example: Input mockup_list
|
|
192
|
-
mockup_list:
|
|
193
|
-
- mockup_name: "main-dashboard"
|
|
194
|
-
mockup_list: "x-ipe-docs/ideas/Draft Idea - 01232026/mockup.html"
|
|
195
|
-
- mockup_name: "settings-panel"
|
|
196
|
-
mockup_list: "x-ipe-docs/ideas/Draft Idea - 01232026/mockups/settings.html"
|
|
197
|
-
|
|
198
|
-
# Result: Files created
|
|
199
|
-
x-ipe-docs/requirements/FEATURE-001/mockups/main-dashboard.html
|
|
200
|
-
x-ipe-docs/requirements/FEATURE-001/mockups/settings-panel.html
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
**Linking Mockups:**
|
|
204
|
-
1. Add mockup links to `x-ipe-docs/requirements/requirement-details.md` in "Linked Mockups" table
|
|
205
|
-
2. Add mockup links to each `x-ipe-docs/requirements/{FEATURE-ID}/specification.md` in "Linked Mockups" table
|
|
206
|
-
|
|
207
|
-
**Mockup List Format:**
|
|
208
|
-
```markdown
|
|
209
|
-
## Linked Mockups
|
|
210
|
-
|
|
211
|
-
| Mockup Function Name | Mockup List |
|
|
212
|
-
|---------------------|-------------|
|
|
213
|
-
| main-dashboard | [main-dashboard.html](FEATURE-001/mockups/main-dashboard.html) |
|
|
214
|
-
| settings-panel | [settings-panel.html](FEATURE-001/mockups/settings-panel.html) |
|
|
215
|
-
```
|
|
160
|
+
**Procedure:**
|
|
161
|
+
1. If mockup_list empty → scan `x-ipe-docs/ideas/{idea-folder}/mockups/`
|
|
162
|
+
2. If still empty → skip to Step 3
|
|
163
|
+
3. Create `x-ipe-docs/requirements/{FEATURE-ID}/mockups/` for each feature
|
|
164
|
+
4. Copy mockups, link in requirement-details.md and specification.md
|
|
216
165
|
|
|
217
|
-
**
|
|
218
|
-
- If mockup_list is N/A or empty, skip this step
|
|
219
|
-
- Use relative paths from the document location
|
|
220
|
-
- Preserve original file extension when copying
|
|
221
|
-
- Create mockups folder only if mockup_list has items
|
|
166
|
+
**See:** [references/breakdown-guidelines.md](references/breakdown-guidelines.md) for detailed mockup processing procedures and examples.
|
|
222
167
|
|
|
223
168
|
---
|
|
224
169
|
|
|
@@ -227,101 +172,23 @@ x-ipe-docs/requirements/FEATURE-001/mockups/settings-panel.html
|
|
|
227
172
|
**Action:** Create or update requirement-details file (or current active part)
|
|
228
173
|
|
|
229
174
|
**Target File Determination:**
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
→ Update the CURRENT ACTIVE PART (highest part number)
|
|
233
|
-
→ Add Feature List section to that part
|
|
234
|
-
ELSE:
|
|
235
|
-
→ Update x-ipe-docs/requirements/requirement-details.md
|
|
236
|
-
```
|
|
175
|
+
- IF parts exist → Update CURRENT ACTIVE PART (highest part number)
|
|
176
|
+
- ELSE → Update x-ipe-docs/requirements/requirement-details.md
|
|
237
177
|
|
|
238
|
-
**
|
|
178
|
+
**Feature List Table Format:**
|
|
239
179
|
```markdown
|
|
240
|
-
# Requirement Summary
|
|
241
|
-
|
|
242
|
-
> Requirement ID: REQ-XXX
|
|
243
|
-
> Created: MM-DD-YYYY
|
|
244
|
-
> Last Updated: MM-DD-YYYY
|
|
245
|
-
|
|
246
|
-
## Overview
|
|
247
|
-
[Brief description of the requirement/epic, 2-3 paragraphs]
|
|
248
|
-
|
|
249
|
-
## Feature List
|
|
250
|
-
|
|
251
180
|
| Feature ID | Feature Title | Version | Brief Description | Feature Dependency |
|
|
252
181
|
|------------|---------------|---------|-------------------|-------------------|
|
|
253
|
-
| FEATURE-001 | User Authentication | v1.0 | JWT-based
|
|
254
|
-
| FEATURE-002 | User Profile | v1.0 |
|
|
255
|
-
|
|
256
|
-
---
|
|
257
|
-
|
|
258
|
-
## Feature Details
|
|
259
|
-
|
|
260
|
-
### FEATURE-001: User Authentication
|
|
261
|
-
[Feature details...]
|
|
182
|
+
| FEATURE-001 | User Authentication | v1.0 | JWT-based auth | None |
|
|
183
|
+
| FEATURE-002 | User Profile | v1.0 | Profile management | FEATURE-001 |
|
|
262
184
|
```
|
|
263
185
|
|
|
264
|
-
|
|
265
|
-
```markdown
|
|
266
|
-
# Requirement Details - Part {X}
|
|
267
|
-
|
|
268
|
-
> Continued from: [requirement-details-part-{X-1}.md](requirement-details-part-{X-1}.md)
|
|
269
|
-
> Created: MM-DD-YYYY
|
|
270
|
-
|
|
271
|
-
---
|
|
272
|
-
|
|
273
|
-
## Feature List
|
|
274
|
-
|
|
275
|
-
| Feature ID | Feature Title | Version | Brief Description | Feature Dependency |
|
|
276
|
-
|------------|---------------|---------|-------------------|-------------------|
|
|
277
|
-
| FEATURE-012 | Design Themes | v1.0 | Theme folder structure and toolbox integration | FEATURE-011 |
|
|
278
|
-
| FEATURE-013 | Default Theme | v1.0 | Pre-built default theme with design tokens | FEATURE-012 |
|
|
186
|
+
**⚠️ IMPORTANT:** Each part file has its OWN Feature List section. Index does NOT contain a Feature List.
|
|
279
187
|
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
| Mockup Function Name | Feature | Mockup List |
|
|
285
|
-
|---------------------|---------|-------------|
|
|
286
|
-
| themes-toolbox | FEATURE-012 | [themes-toolbox.html](FEATURE-012/mockups/themes-toolbox.html) |
|
|
287
|
-
|
|
288
|
-
---
|
|
289
|
-
|
|
290
|
-
## Feature Details (Continued)
|
|
291
|
-
|
|
292
|
-
### FEATURE-012: Design Themes
|
|
293
|
-
[Feature details...]
|
|
294
|
-
```
|
|
295
|
-
|
|
296
|
-
**⚠️ IMPORTANT:** Each part file has its OWN Feature List section containing ONLY the features in that part. The index file does NOT contain a Feature List.
|
|
297
|
-
|
|
298
|
-
**Feature Details Template (for each feature):**
|
|
299
|
-
```markdown
|
|
300
|
-
### {FEATURE-ID}: {Feature Title}
|
|
301
|
-
|
|
302
|
-
**Version:** v{X.Y}
|
|
303
|
-
**Brief Description:** [1-2 sentence description]
|
|
304
|
-
|
|
305
|
-
**Acceptance Criteria:**
|
|
306
|
-
- [ ] Criterion 1
|
|
307
|
-
- [ ] Criterion 2
|
|
308
|
-
- [ ] Criterion 3
|
|
309
|
-
|
|
310
|
-
**Dependencies:**
|
|
311
|
-
- {FEATURE-ID}: [Why needed]
|
|
312
|
-
- None (if no dependencies)
|
|
313
|
-
|
|
314
|
-
**Technical Considerations:**
|
|
315
|
-
- [Key technical decisions or constraints]
|
|
316
|
-
- [Performance requirements]
|
|
317
|
-
- [Security considerations]
|
|
318
|
-
```
|
|
319
|
-
|
|
320
|
-
**Rules:**
|
|
321
|
-
- Keep brief description under 50 words
|
|
322
|
-
- List 3-7 acceptance criteria per feature
|
|
323
|
-
- Note dependencies using Feature IDs
|
|
324
|
-
- Technical considerations are hints for design
|
|
188
|
+
**See:** [references/breakdown-guidelines.md](references/breakdown-guidelines.md) for:
|
|
189
|
+
- Full file structure templates (single file and part files)
|
|
190
|
+
- Feature Details template
|
|
191
|
+
- Part file management rules
|
|
325
192
|
|
|
326
193
|
---
|
|
327
194
|
|
|
@@ -357,30 +224,11 @@ CALL feature-stage+feature-board-management skill:
|
|
|
357
224
|
**When to execute:** Only if requirement-details-part-X.md files exist
|
|
358
225
|
|
|
359
226
|
**Procedure:**
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
a. Open x-ipe-docs/requirements/requirement-details-index.md
|
|
364
|
-
b. Update "Parts Overview" table with new feature range
|
|
365
|
-
c. Update "Lines" column with approximate line count
|
|
366
|
-
d. Save file
|
|
367
|
-
```
|
|
368
|
-
|
|
369
|
-
**Index File Structure:**
|
|
370
|
-
```markdown
|
|
371
|
-
# Requirement Details Index
|
|
372
|
-
|
|
373
|
-
> Last Updated: MM-DD-YYYY
|
|
374
|
-
|
|
375
|
-
## Parts Overview
|
|
376
|
-
|
|
377
|
-
| Part | File | Features Covered | Lines |
|
|
378
|
-
|------|------|------------------|-------|
|
|
379
|
-
| 1 | [Part 1](requirement-details-part-1.md) | FEATURE-001 to FEATURE-011 | ~420 |
|
|
380
|
-
| 2 | [Part 2](requirement-details-part-2.md) | FEATURE-012 to FEATURE-017 | ~415 |
|
|
381
|
-
```
|
|
227
|
+
1. Open x-ipe-docs/requirements/requirement-details-index.md
|
|
228
|
+
2. Update "Parts Overview" table with new feature range
|
|
229
|
+
3. Update "Lines" column with approximate line count
|
|
382
230
|
|
|
383
|
-
|
|
231
|
+
**See:** [references/breakdown-guidelines.md](references/breakdown-guidelines.md) for index file structure.
|
|
384
232
|
|
|
385
233
|
---
|
|
386
234
|
|
|
@@ -462,86 +310,26 @@ See [references/examples.md](references/examples.md) for detailed execution exam
|
|
|
462
310
|
|
|
463
311
|
## Feature Dependency Guidelines
|
|
464
312
|
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
```
|
|
469
|
-
FEATURE-001: User Authentication (no deps)
|
|
470
|
-
FEATURE-002: User Profile (depends on FEATURE-001)
|
|
471
|
-
FEATURE-003: User Settings (depends on FEATURE-002)
|
|
472
|
-
```
|
|
473
|
-
|
|
474
|
-
**Parallel with Shared Dependency:**
|
|
475
|
-
```
|
|
476
|
-
FEATURE-001: Database Layer (no deps)
|
|
477
|
-
FEATURE-002: User Service (depends on FEATURE-001)
|
|
478
|
-
FEATURE-003: Product Service (depends on FEATURE-001)
|
|
479
|
-
```
|
|
480
|
-
|
|
481
|
-
**Multiple Dependencies:**
|
|
482
|
-
```
|
|
483
|
-
FEATURE-001: Authentication (no deps)
|
|
484
|
-
FEATURE-002: Authorization (no deps)
|
|
485
|
-
FEATURE-003: Admin Panel (depends on FEATURE-001, FEATURE-002)
|
|
486
|
-
```
|
|
487
|
-
|
|
488
|
-
### Dependency Rules
|
|
489
|
-
|
|
490
|
-
1. **No Circular Dependencies** - A cannot depend on B if B depends on A
|
|
491
|
-
2. **Foundation First** - Core/shared features have no dependencies
|
|
492
|
-
3. **Clear Reason** - Document why dependency exists
|
|
493
|
-
4. **Minimal Dependencies** - Only list direct dependencies
|
|
313
|
+
See [references/breakdown-guidelines.md](references/breakdown-guidelines.md) for:
|
|
314
|
+
- Common dependency patterns (sequential, parallel, multiple)
|
|
315
|
+
- Dependency rules (no cycles, foundation first, minimal deps)
|
|
494
316
|
|
|
495
317
|
---
|
|
496
318
|
|
|
497
319
|
## Best Practices
|
|
498
320
|
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
-
|
|
503
|
-
- "User Management" → Split into Registration, Profile, Settings, etc.
|
|
504
|
-
|
|
505
|
-
**Good Size:**
|
|
506
|
-
- "Shopping Cart Management"
|
|
507
|
-
- "Payment Processing with Stripe"
|
|
508
|
-
- "Email Notification System"
|
|
509
|
-
|
|
510
|
-
**Too Small (Combine):**
|
|
511
|
-
- "Add to Cart Button" → Part of Shopping Cart feature
|
|
512
|
-
- "Validate Email Format" → Part of User Registration feature
|
|
513
|
-
|
|
514
|
-
### Feature Naming
|
|
515
|
-
|
|
516
|
-
**Good Names:**
|
|
517
|
-
- Specific: "JWT Authentication" not "Login"
|
|
518
|
-
- Action-oriented: "User Profile Management" not "User Profile"
|
|
519
|
-
- Technology-agnostic (usually): "Payment Processing" not "Stripe Integration"
|
|
520
|
-
|
|
521
|
-
**Bad Names:**
|
|
522
|
-
- Too vague: "User Stuff", "Main Feature"
|
|
523
|
-
- Too technical: "REST API Controller Layer"
|
|
524
|
-
- Too broad: "Everything Users Need"
|
|
525
|
-
|
|
526
|
-
### Version Numbering
|
|
527
|
-
|
|
528
|
-
- Start with v1.0 for new features
|
|
529
|
-
- Use v1.1, v1.2 for minor enhancements
|
|
530
|
-
- Use v2.0 for major redesigns
|
|
531
|
-
- Most breakdown features will be v1.0
|
|
321
|
+
See [references/breakdown-guidelines.md](references/breakdown-guidelines.md) for:
|
|
322
|
+
- Feature sizing guidelines (too large, good size, too small)
|
|
323
|
+
- Feature naming conventions (good vs bad names)
|
|
324
|
+
- Version numbering rules
|
|
532
325
|
|
|
533
326
|
---
|
|
534
327
|
|
|
535
328
|
## Integration with Feature Board Management
|
|
536
329
|
|
|
537
|
-
This skill **MUST** call the feature-board-management skill to create features on the board.
|
|
538
|
-
|
|
539
|
-
1. **Creates centralized tracking** - Single source of truth at x-ipe-docs/requirements/features.md
|
|
540
|
-
2. **Initializes status** - All features start with status "Planned"
|
|
541
|
-
3. **Enables queries** - Other skills can query feature board for Feature Data Model
|
|
542
|
-
4. **Supports lifecycle** - Board tracks features through all phases
|
|
330
|
+
This skill **MUST** call the feature-board-management skill to create features on the board.
|
|
543
331
|
|
|
544
|
-
|
|
332
|
+
See [references/breakdown-guidelines.md](references/breakdown-guidelines.md) for integration details and call format.
|
|
545
333
|
|
|
546
334
|
---
|
|
547
335
|
|