empathy-framework 4.6.6__py3-none-any.whl → 4.7.0__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.
- {empathy_framework-4.6.6.dist-info → empathy_framework-4.7.0.dist-info}/METADATA +7 -6
- empathy_framework-4.7.0.dist-info/RECORD +354 -0
- {empathy_framework-4.6.6.dist-info → empathy_framework-4.7.0.dist-info}/top_level.txt +0 -2
- empathy_healthcare_plugin/monitors/monitoring/__init__.py +9 -9
- empathy_llm_toolkit/agent_factory/__init__.py +6 -6
- empathy_llm_toolkit/agent_factory/adapters/wizard_adapter.py +7 -10
- empathy_llm_toolkit/agents_md/__init__.py +22 -0
- empathy_llm_toolkit/agents_md/loader.py +218 -0
- empathy_llm_toolkit/agents_md/parser.py +271 -0
- empathy_llm_toolkit/agents_md/registry.py +307 -0
- empathy_llm_toolkit/commands/__init__.py +51 -0
- empathy_llm_toolkit/commands/context.py +375 -0
- empathy_llm_toolkit/commands/loader.py +301 -0
- empathy_llm_toolkit/commands/models.py +231 -0
- empathy_llm_toolkit/commands/parser.py +371 -0
- empathy_llm_toolkit/commands/registry.py +429 -0
- empathy_llm_toolkit/config/__init__.py +8 -8
- empathy_llm_toolkit/config/unified.py +3 -7
- empathy_llm_toolkit/context/__init__.py +22 -0
- empathy_llm_toolkit/context/compaction.py +455 -0
- empathy_llm_toolkit/context/manager.py +434 -0
- empathy_llm_toolkit/hooks/__init__.py +24 -0
- empathy_llm_toolkit/hooks/config.py +306 -0
- empathy_llm_toolkit/hooks/executor.py +289 -0
- empathy_llm_toolkit/hooks/registry.py +302 -0
- empathy_llm_toolkit/hooks/scripts/__init__.py +39 -0
- empathy_llm_toolkit/hooks/scripts/evaluate_session.py +201 -0
- empathy_llm_toolkit/hooks/scripts/first_time_init.py +285 -0
- empathy_llm_toolkit/hooks/scripts/pre_compact.py +207 -0
- empathy_llm_toolkit/hooks/scripts/session_end.py +183 -0
- empathy_llm_toolkit/hooks/scripts/session_start.py +163 -0
- empathy_llm_toolkit/hooks/scripts/suggest_compact.py +225 -0
- empathy_llm_toolkit/learning/__init__.py +30 -0
- empathy_llm_toolkit/learning/evaluator.py +438 -0
- empathy_llm_toolkit/learning/extractor.py +514 -0
- empathy_llm_toolkit/learning/storage.py +560 -0
- empathy_llm_toolkit/providers.py +4 -11
- empathy_llm_toolkit/security/__init__.py +17 -17
- empathy_llm_toolkit/utils/tokens.py +2 -5
- empathy_os/__init__.py +202 -70
- empathy_os/cache_monitor.py +5 -3
- empathy_os/cli/__init__.py +11 -55
- empathy_os/cli/__main__.py +29 -15
- empathy_os/cli/commands/inspection.py +21 -12
- empathy_os/cli/commands/memory.py +4 -12
- empathy_os/cli/commands/profiling.py +198 -0
- empathy_os/cli/commands/utilities.py +27 -7
- empathy_os/cli.py +28 -57
- empathy_os/cli_unified.py +525 -1164
- empathy_os/cost_tracker.py +9 -3
- empathy_os/dashboard/server.py +200 -2
- empathy_os/hot_reload/__init__.py +7 -7
- empathy_os/hot_reload/config.py +6 -7
- empathy_os/hot_reload/integration.py +35 -35
- empathy_os/hot_reload/reloader.py +57 -57
- empathy_os/hot_reload/watcher.py +28 -28
- empathy_os/hot_reload/websocket.py +2 -2
- empathy_os/memory/__init__.py +11 -4
- empathy_os/memory/claude_memory.py +1 -1
- empathy_os/memory/cross_session.py +8 -12
- empathy_os/memory/edges.py +6 -6
- empathy_os/memory/file_session.py +770 -0
- empathy_os/memory/graph.py +30 -30
- empathy_os/memory/nodes.py +6 -6
- empathy_os/memory/short_term.py +15 -9
- empathy_os/memory/unified.py +606 -140
- empathy_os/meta_workflows/agent_creator.py +3 -9
- empathy_os/meta_workflows/cli_meta_workflows.py +113 -53
- empathy_os/meta_workflows/form_engine.py +6 -18
- empathy_os/meta_workflows/intent_detector.py +64 -24
- empathy_os/meta_workflows/models.py +3 -1
- empathy_os/meta_workflows/pattern_learner.py +13 -31
- empathy_os/meta_workflows/plan_generator.py +55 -47
- empathy_os/meta_workflows/session_context.py +2 -3
- empathy_os/meta_workflows/workflow.py +20 -51
- empathy_os/models/cli.py +2 -2
- empathy_os/models/tasks.py +1 -2
- empathy_os/models/telemetry.py +4 -1
- empathy_os/models/token_estimator.py +3 -1
- empathy_os/monitoring/alerts.py +938 -9
- empathy_os/monitoring/alerts_cli.py +346 -183
- empathy_os/orchestration/execution_strategies.py +12 -29
- empathy_os/orchestration/pattern_learner.py +20 -26
- empathy_os/orchestration/real_tools.py +6 -15
- empathy_os/platform_utils.py +2 -1
- empathy_os/plugins/__init__.py +2 -2
- empathy_os/plugins/base.py +64 -64
- empathy_os/plugins/registry.py +32 -32
- empathy_os/project_index/index.py +49 -15
- empathy_os/project_index/models.py +1 -2
- empathy_os/project_index/reports.py +1 -1
- empathy_os/project_index/scanner.py +1 -0
- empathy_os/redis_memory.py +10 -7
- empathy_os/resilience/__init__.py +1 -1
- empathy_os/resilience/health.py +10 -10
- empathy_os/routing/__init__.py +7 -7
- empathy_os/routing/chain_executor.py +37 -37
- empathy_os/routing/classifier.py +36 -36
- empathy_os/routing/smart_router.py +40 -40
- empathy_os/routing/{wizard_registry.py → workflow_registry.py} +47 -47
- empathy_os/scaffolding/__init__.py +8 -8
- empathy_os/scaffolding/__main__.py +1 -1
- empathy_os/scaffolding/cli.py +28 -28
- empathy_os/socratic/__init__.py +3 -19
- empathy_os/socratic/ab_testing.py +25 -36
- empathy_os/socratic/blueprint.py +38 -38
- empathy_os/socratic/cli.py +34 -20
- empathy_os/socratic/collaboration.py +30 -28
- empathy_os/socratic/domain_templates.py +9 -1
- empathy_os/socratic/embeddings.py +17 -13
- empathy_os/socratic/engine.py +135 -70
- empathy_os/socratic/explainer.py +70 -60
- empathy_os/socratic/feedback.py +24 -19
- empathy_os/socratic/forms.py +15 -10
- empathy_os/socratic/generator.py +51 -35
- empathy_os/socratic/llm_analyzer.py +25 -23
- empathy_os/socratic/mcp_server.py +99 -159
- empathy_os/socratic/session.py +19 -13
- empathy_os/socratic/storage.py +98 -67
- empathy_os/socratic/success.py +38 -27
- empathy_os/socratic/visual_editor.py +51 -39
- empathy_os/socratic/web_ui.py +99 -66
- empathy_os/telemetry/cli.py +3 -1
- empathy_os/telemetry/usage_tracker.py +1 -3
- empathy_os/test_generator/__init__.py +3 -3
- empathy_os/test_generator/cli.py +28 -28
- empathy_os/test_generator/generator.py +64 -66
- empathy_os/test_generator/risk_analyzer.py +11 -11
- empathy_os/vscode_bridge.py +173 -0
- empathy_os/workflows/__init__.py +212 -120
- empathy_os/workflows/batch_processing.py +8 -24
- empathy_os/workflows/bug_predict.py +1 -1
- empathy_os/workflows/code_review.py +20 -5
- empathy_os/workflows/code_review_pipeline.py +13 -8
- empathy_os/workflows/keyboard_shortcuts/workflow.py +6 -2
- empathy_os/workflows/manage_documentation.py +1 -0
- empathy_os/workflows/orchestrated_health_check.py +6 -11
- empathy_os/workflows/orchestrated_release_prep.py +3 -3
- empathy_os/workflows/pr_review.py +18 -10
- empathy_os/workflows/progressive/__init__.py +2 -12
- empathy_os/workflows/progressive/cli.py +14 -37
- empathy_os/workflows/progressive/core.py +12 -12
- empathy_os/workflows/progressive/orchestrator.py +166 -144
- empathy_os/workflows/progressive/reports.py +22 -31
- empathy_os/workflows/progressive/telemetry.py +8 -14
- empathy_os/workflows/progressive/test_gen.py +29 -48
- empathy_os/workflows/progressive/workflow.py +31 -70
- empathy_os/workflows/release_prep.py +21 -6
- empathy_os/workflows/release_prep_crew.py +1 -0
- empathy_os/workflows/secure_release.py +13 -6
- empathy_os/workflows/security_audit.py +8 -3
- empathy_os/workflows/test_coverage_boost_crew.py +3 -2
- empathy_os/workflows/test_maintenance_crew.py +1 -0
- empathy_os/workflows/test_runner.py +16 -12
- empathy_software_plugin/SOFTWARE_PLUGIN_README.md +25 -703
- empathy_software_plugin/cli.py +0 -122
- coach_wizards/__init__.py +0 -45
- coach_wizards/accessibility_wizard.py +0 -91
- coach_wizards/api_wizard.py +0 -91
- coach_wizards/base_wizard.py +0 -209
- coach_wizards/cicd_wizard.py +0 -91
- coach_wizards/code_reviewer_README.md +0 -60
- coach_wizards/code_reviewer_wizard.py +0 -180
- coach_wizards/compliance_wizard.py +0 -91
- coach_wizards/database_wizard.py +0 -91
- coach_wizards/debugging_wizard.py +0 -91
- coach_wizards/documentation_wizard.py +0 -91
- coach_wizards/generate_wizards.py +0 -347
- coach_wizards/localization_wizard.py +0 -173
- coach_wizards/migration_wizard.py +0 -91
- coach_wizards/monitoring_wizard.py +0 -91
- coach_wizards/observability_wizard.py +0 -91
- coach_wizards/performance_wizard.py +0 -91
- coach_wizards/prompt_engineering_wizard.py +0 -661
- coach_wizards/refactoring_wizard.py +0 -91
- coach_wizards/scaling_wizard.py +0 -90
- coach_wizards/security_wizard.py +0 -92
- coach_wizards/testing_wizard.py +0 -91
- empathy_framework-4.6.6.dist-info/RECORD +0 -410
- empathy_llm_toolkit/wizards/__init__.py +0 -43
- empathy_llm_toolkit/wizards/base_wizard.py +0 -364
- empathy_llm_toolkit/wizards/customer_support_wizard.py +0 -190
- empathy_llm_toolkit/wizards/healthcare_wizard.py +0 -378
- empathy_llm_toolkit/wizards/patient_assessment_README.md +0 -64
- empathy_llm_toolkit/wizards/patient_assessment_wizard.py +0 -193
- empathy_llm_toolkit/wizards/technology_wizard.py +0 -209
- empathy_os/wizard_factory_cli.py +0 -170
- empathy_software_plugin/wizards/__init__.py +0 -42
- empathy_software_plugin/wizards/advanced_debugging_wizard.py +0 -395
- empathy_software_plugin/wizards/agent_orchestration_wizard.py +0 -511
- empathy_software_plugin/wizards/ai_collaboration_wizard.py +0 -503
- empathy_software_plugin/wizards/ai_context_wizard.py +0 -441
- empathy_software_plugin/wizards/ai_documentation_wizard.py +0 -503
- empathy_software_plugin/wizards/base_wizard.py +0 -288
- empathy_software_plugin/wizards/book_chapter_wizard.py +0 -519
- empathy_software_plugin/wizards/code_review_wizard.py +0 -604
- empathy_software_plugin/wizards/debugging/__init__.py +0 -50
- empathy_software_plugin/wizards/debugging/bug_risk_analyzer.py +0 -414
- empathy_software_plugin/wizards/debugging/config_loaders.py +0 -446
- empathy_software_plugin/wizards/debugging/fix_applier.py +0 -469
- empathy_software_plugin/wizards/debugging/language_patterns.py +0 -385
- empathy_software_plugin/wizards/debugging/linter_parsers.py +0 -470
- empathy_software_plugin/wizards/debugging/verification.py +0 -369
- empathy_software_plugin/wizards/enhanced_testing_wizard.py +0 -537
- empathy_software_plugin/wizards/memory_enhanced_debugging_wizard.py +0 -816
- empathy_software_plugin/wizards/multi_model_wizard.py +0 -501
- empathy_software_plugin/wizards/pattern_extraction_wizard.py +0 -422
- empathy_software_plugin/wizards/pattern_retriever_wizard.py +0 -400
- empathy_software_plugin/wizards/performance/__init__.py +0 -9
- empathy_software_plugin/wizards/performance/bottleneck_detector.py +0 -221
- empathy_software_plugin/wizards/performance/profiler_parsers.py +0 -278
- empathy_software_plugin/wizards/performance/trajectory_analyzer.py +0 -429
- empathy_software_plugin/wizards/performance_profiling_wizard.py +0 -305
- empathy_software_plugin/wizards/prompt_engineering_wizard.py +0 -425
- empathy_software_plugin/wizards/rag_pattern_wizard.py +0 -461
- empathy_software_plugin/wizards/security/__init__.py +0 -32
- empathy_software_plugin/wizards/security/exploit_analyzer.py +0 -290
- empathy_software_plugin/wizards/security/owasp_patterns.py +0 -241
- empathy_software_plugin/wizards/security/vulnerability_scanner.py +0 -604
- empathy_software_plugin/wizards/security_analysis_wizard.py +0 -322
- empathy_software_plugin/wizards/security_learning_wizard.py +0 -740
- empathy_software_plugin/wizards/tech_debt_wizard.py +0 -726
- empathy_software_plugin/wizards/testing/__init__.py +0 -27
- empathy_software_plugin/wizards/testing/coverage_analyzer.py +0 -459
- empathy_software_plugin/wizards/testing/quality_analyzer.py +0 -525
- empathy_software_plugin/wizards/testing/test_suggester.py +0 -533
- empathy_software_plugin/wizards/testing_wizard.py +0 -274
- wizards/__init__.py +0 -82
- wizards/admission_assessment_wizard.py +0 -644
- wizards/care_plan.py +0 -321
- wizards/clinical_assessment.py +0 -769
- wizards/discharge_planning.py +0 -77
- wizards/discharge_summary_wizard.py +0 -468
- wizards/dosage_calculation.py +0 -497
- wizards/incident_report_wizard.py +0 -454
- wizards/medication_reconciliation.py +0 -85
- wizards/nursing_assessment.py +0 -171
- wizards/patient_education.py +0 -654
- wizards/quality_improvement.py +0 -705
- wizards/sbar_report.py +0 -324
- wizards/sbar_wizard.py +0 -608
- wizards/shift_handoff_wizard.py +0 -535
- wizards/soap_note_wizard.py +0 -679
- wizards/treatment_plan.py +0 -15
- {empathy_framework-4.6.6.dist-info → empathy_framework-4.7.0.dist-info}/WHEEL +0 -0
- {empathy_framework-4.6.6.dist-info → empathy_framework-4.7.0.dist-info}/entry_points.txt +0 -0
- {empathy_framework-4.6.6.dist-info → empathy_framework-4.7.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,347 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
"""Generate all 16 Coach wizards from template.
|
|
3
|
-
|
|
4
|
-
This script generates the 16 specialized Coach wizards.
|
|
5
|
-
This is a development/build utility, excluded from coverage via .coveragerc.
|
|
6
|
-
"""
|
|
7
|
-
|
|
8
|
-
WIZARD_SPECS = [
|
|
9
|
-
{
|
|
10
|
-
"name": "SecurityWizard",
|
|
11
|
-
"filename": "security_wizard.py",
|
|
12
|
-
"description": "Security vulnerability detection and prevention",
|
|
13
|
-
"category": "Security",
|
|
14
|
-
"languages": ["python", "javascript", "typescript", "java", "go", "rust"],
|
|
15
|
-
"detects": ["SQL injection", "XSS", "CSRF", "insecure dependencies", "hardcoded secrets"],
|
|
16
|
-
"predicts": ["emerging vulnerabilities", "dependency risks", "attack surface growth"],
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
"name": "PerformanceWizard",
|
|
20
|
-
"filename": "performance_wizard.py",
|
|
21
|
-
"description": "Performance optimization and bottleneck detection",
|
|
22
|
-
"category": "Performance",
|
|
23
|
-
"languages": ["python", "javascript", "typescript", "java", "go", "rust", "cpp"],
|
|
24
|
-
"detects": [
|
|
25
|
-
"N+1 queries",
|
|
26
|
-
"inefficient algorithms",
|
|
27
|
-
"memory leaks",
|
|
28
|
-
"slow database queries",
|
|
29
|
-
],
|
|
30
|
-
"predicts": ["scalability bottlenecks", "response time degradation", "resource exhaustion"],
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
"name": "AccessibilityWizard",
|
|
34
|
-
"filename": "accessibility_wizard.py",
|
|
35
|
-
"description": "Web accessibility (WCAG) compliance",
|
|
36
|
-
"category": "Accessibility",
|
|
37
|
-
"languages": ["html", "jsx", "tsx", "vue", "svelte"],
|
|
38
|
-
"detects": [
|
|
39
|
-
"missing alt text",
|
|
40
|
-
"no ARIA labels",
|
|
41
|
-
"insufficient color contrast",
|
|
42
|
-
"keyboard navigation issues",
|
|
43
|
-
],
|
|
44
|
-
"predicts": ["compliance violations", "user experience degradation", "legal exposure"],
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
"name": "TestingWizard",
|
|
48
|
-
"filename": "testing_wizard.py",
|
|
49
|
-
"description": "Test coverage and quality analysis",
|
|
50
|
-
"category": "Testing",
|
|
51
|
-
"languages": ["python", "javascript", "typescript", "java", "go", "rust"],
|
|
52
|
-
"detects": [
|
|
53
|
-
"untested code paths",
|
|
54
|
-
"missing edge cases",
|
|
55
|
-
"flaky tests",
|
|
56
|
-
"low code coverage",
|
|
57
|
-
],
|
|
58
|
-
"predicts": ["production bugs", "regression risks", "test maintenance burden"],
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
"name": "RefactoringWizard",
|
|
62
|
-
"filename": "refactoring_wizard.py",
|
|
63
|
-
"description": "Code quality and refactoring opportunities",
|
|
64
|
-
"category": "Code Quality",
|
|
65
|
-
"languages": ["python", "javascript", "typescript", "java", "go", "rust", "cpp"],
|
|
66
|
-
"detects": ["code smells", "high complexity", "duplicated code", "god classes"],
|
|
67
|
-
"predicts": [
|
|
68
|
-
"maintenance burden increase",
|
|
69
|
-
"bug introduction risk",
|
|
70
|
-
"team velocity impact",
|
|
71
|
-
],
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
"name": "DatabaseWizard",
|
|
75
|
-
"filename": "database_wizard.py",
|
|
76
|
-
"description": "Database optimization and schema analysis",
|
|
77
|
-
"category": "Database",
|
|
78
|
-
"languages": ["sql", "python", "javascript", "typescript", "java", "go"],
|
|
79
|
-
"detects": ["missing indexes", "N+1 queries", "inefficient joins", "schema issues"],
|
|
80
|
-
"predicts": ["query performance degradation", "data growth impact", "scaling limitations"],
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
"name": "APIWizard",
|
|
84
|
-
"filename": "api_wizard.py",
|
|
85
|
-
"description": "API design and integration analysis",
|
|
86
|
-
"category": "API",
|
|
87
|
-
"languages": ["python", "javascript", "typescript", "java", "go", "rust"],
|
|
88
|
-
"detects": [
|
|
89
|
-
"inconsistent endpoints",
|
|
90
|
-
"missing validation",
|
|
91
|
-
"poor error handling",
|
|
92
|
-
"versioning issues",
|
|
93
|
-
],
|
|
94
|
-
"predicts": [
|
|
95
|
-
"breaking changes impact",
|
|
96
|
-
"backward compatibility issues",
|
|
97
|
-
"integration failures",
|
|
98
|
-
],
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
"name": "DebuggingWizard",
|
|
102
|
-
"filename": "debugging_wizard.py",
|
|
103
|
-
"description": "Error detection and debugging assistance",
|
|
104
|
-
"category": "Debugging",
|
|
105
|
-
"languages": ["python", "javascript", "typescript", "java", "go", "rust", "cpp"],
|
|
106
|
-
"detects": [
|
|
107
|
-
"potential null references",
|
|
108
|
-
"unhandled exceptions",
|
|
109
|
-
"race conditions",
|
|
110
|
-
"logic errors",
|
|
111
|
-
],
|
|
112
|
-
"predicts": ["runtime errors", "production incidents", "debugging complexity"],
|
|
113
|
-
},
|
|
114
|
-
{
|
|
115
|
-
"name": "ScalingWizard",
|
|
116
|
-
"filename": "scaling_wizard.py",
|
|
117
|
-
"description": "Scalability and architecture analysis",
|
|
118
|
-
"category": "Scalability",
|
|
119
|
-
"languages": ["python", "javascript", "typescript", "java", "go", "rust"],
|
|
120
|
-
"detects": ["single points of failure", "synchronous bottlenecks", "resource constraints"],
|
|
121
|
-
"predicts": ["load handling capacity", "scaling challenges", "architecture limitations"],
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
"name": "ObservabilityWizard",
|
|
125
|
-
"filename": "observability_wizard.py",
|
|
126
|
-
"description": "Logging, metrics, and tracing analysis",
|
|
127
|
-
"category": "Observability",
|
|
128
|
-
"languages": ["python", "javascript", "typescript", "java", "go", "rust"],
|
|
129
|
-
"detects": ["missing logs", "no metrics", "poor error tracking", "lack of tracing"],
|
|
130
|
-
"predicts": ["debugging difficulties", "incident response delays", "unknown unknowns"],
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
"name": "CICDWizard",
|
|
134
|
-
"filename": "cicd_wizard.py",
|
|
135
|
-
"description": "CI/CD pipeline optimization",
|
|
136
|
-
"category": "DevOps",
|
|
137
|
-
"languages": ["yaml", "groovy", "python", "bash"],
|
|
138
|
-
"detects": ["slow pipelines", "flaky tests", "deployment risks", "missing automation"],
|
|
139
|
-
"predicts": ["deployment failures", "pipeline maintenance burden", "release delays"],
|
|
140
|
-
},
|
|
141
|
-
{
|
|
142
|
-
"name": "DocumentationWizard",
|
|
143
|
-
"filename": "documentation_wizard.py",
|
|
144
|
-
"description": "Documentation quality and completeness",
|
|
145
|
-
"category": "Documentation",
|
|
146
|
-
"languages": ["python", "javascript", "typescript", "java", "go", "rust", "markdown"],
|
|
147
|
-
"detects": ["missing docstrings", "outdated docs", "unclear explanations", "no examples"],
|
|
148
|
-
"predicts": ["knowledge loss", "onboarding difficulties", "support burden"],
|
|
149
|
-
},
|
|
150
|
-
{
|
|
151
|
-
"name": "ComplianceWizard",
|
|
152
|
-
"filename": "compliance_wizard.py",
|
|
153
|
-
"description": "Regulatory and compliance checking",
|
|
154
|
-
"category": "Compliance",
|
|
155
|
-
"languages": ["python", "javascript", "typescript", "java", "go"],
|
|
156
|
-
"detects": ["PII handling issues", "GDPR violations", "SOC 2 gaps", "audit trail missing"],
|
|
157
|
-
"predicts": ["regulatory audits", "compliance violations", "legal exposure"],
|
|
158
|
-
},
|
|
159
|
-
{
|
|
160
|
-
"name": "MigrationWizard",
|
|
161
|
-
"filename": "migration_wizard.py",
|
|
162
|
-
"description": "Code migration and upgrade assistance",
|
|
163
|
-
"category": "Migration",
|
|
164
|
-
"languages": ["python", "javascript", "typescript", "java", "go", "rust"],
|
|
165
|
-
"detects": ["deprecated APIs", "breaking changes", "incompatibilities", "migration risks"],
|
|
166
|
-
"predicts": ["upgrade complexity", "compatibility issues", "migration timeline"],
|
|
167
|
-
},
|
|
168
|
-
{
|
|
169
|
-
"name": "MonitoringWizard",
|
|
170
|
-
"filename": "monitoring_wizard.py",
|
|
171
|
-
"description": "System monitoring and alerting",
|
|
172
|
-
"category": "Monitoring",
|
|
173
|
-
"languages": ["python", "javascript", "typescript", "java", "go", "yaml"],
|
|
174
|
-
"detects": ["missing alerts", "alert fatigue", "no SLOs", "blind spots"],
|
|
175
|
-
"predicts": ["undetected incidents", "alert storm risk", "monitoring gaps"],
|
|
176
|
-
},
|
|
177
|
-
{
|
|
178
|
-
"name": "LocalizationWizard",
|
|
179
|
-
"filename": "localization_wizard.py",
|
|
180
|
-
"description": "Internationalization and localization",
|
|
181
|
-
"category": "Localization",
|
|
182
|
-
"languages": ["python", "javascript", "typescript", "java", "go", "html", "jsx", "tsx"],
|
|
183
|
-
"detects": ["hardcoded strings", "missing translations", "locale issues", "RTL problems"],
|
|
184
|
-
"predicts": [
|
|
185
|
-
"i18n technical debt",
|
|
186
|
-
"translation maintenance burden",
|
|
187
|
-
"locale coverage gaps",
|
|
188
|
-
],
|
|
189
|
-
},
|
|
190
|
-
]
|
|
191
|
-
|
|
192
|
-
WIZARD_TEMPLATE = '''"""
|
|
193
|
-
{name} - {description}
|
|
194
|
-
|
|
195
|
-
Level 4 Anticipatory Empathy for {category} using the Empathy Framework.
|
|
196
|
-
|
|
197
|
-
Copyright 2025 Smart AI Memory, LLC
|
|
198
|
-
Licensed under Fair Source 0.9
|
|
199
|
-
"""
|
|
200
|
-
|
|
201
|
-
from typing import List, Dict, Any
|
|
202
|
-
from datetime import datetime, timedelta
|
|
203
|
-
from .base_wizard import BaseCoachWizard, WizardIssue, WizardPrediction
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
class {name}(BaseCoachWizard):
|
|
207
|
-
"""
|
|
208
|
-
{description}
|
|
209
|
-
|
|
210
|
-
Detects:
|
|
211
|
-
{detects_list}
|
|
212
|
-
|
|
213
|
-
Predicts (Level 4):
|
|
214
|
-
{predicts_list}
|
|
215
|
-
"""
|
|
216
|
-
|
|
217
|
-
def __init__(self):
|
|
218
|
-
super().__init__(
|
|
219
|
-
name="{name}",
|
|
220
|
-
category="{category}",
|
|
221
|
-
languages={languages}
|
|
222
|
-
)
|
|
223
|
-
|
|
224
|
-
def analyze_code(self, code: str, file_path: str, language: str) -> List[WizardIssue]:
|
|
225
|
-
"""
|
|
226
|
-
Analyze code for {category_lower} issues
|
|
227
|
-
|
|
228
|
-
This is a reference implementation. In production, integrate with:
|
|
229
|
-
- Static analysis tools
|
|
230
|
-
- Linters and security scanners
|
|
231
|
-
- Custom rule engines
|
|
232
|
-
- AI models (Claude, GPT-4)
|
|
233
|
-
"""
|
|
234
|
-
issues = []
|
|
235
|
-
|
|
236
|
-
# Example heuristic detection
|
|
237
|
-
lines = code.split('\\n')
|
|
238
|
-
for i, line in enumerate(lines, 1):
|
|
239
|
-
# Add detection logic based on {category_lower}
|
|
240
|
-
pass
|
|
241
|
-
|
|
242
|
-
self.logger.info(f"{{self.name}} found {{len(issues)}} issues in {{file_path}}")
|
|
243
|
-
return issues
|
|
244
|
-
|
|
245
|
-
def predict_future_issues(self,
|
|
246
|
-
code: str,
|
|
247
|
-
file_path: str,
|
|
248
|
-
project_context: Dict[str, Any],
|
|
249
|
-
timeline_days: int = 90) -> List[WizardPrediction]:
|
|
250
|
-
"""
|
|
251
|
-
Level 4 Anticipatory: Predict {category_lower} issues {{timeline_days}} days ahead
|
|
252
|
-
|
|
253
|
-
Uses:
|
|
254
|
-
- Historical patterns
|
|
255
|
-
- Code trajectory analysis
|
|
256
|
-
- Dependency evolution
|
|
257
|
-
- Team velocity
|
|
258
|
-
- Industry trends
|
|
259
|
-
"""
|
|
260
|
-
predictions = []
|
|
261
|
-
|
|
262
|
-
# Example prediction logic
|
|
263
|
-
# In production, use ML models trained on historical data
|
|
264
|
-
|
|
265
|
-
self.logger.info(
|
|
266
|
-
f"{{self.name}} predicted {{len(predictions)}} future issues "
|
|
267
|
-
f"for {{file_path}} ({{timeline_days}} days ahead)"
|
|
268
|
-
)
|
|
269
|
-
return predictions
|
|
270
|
-
|
|
271
|
-
def suggest_fixes(self, issue: WizardIssue) -> str:
|
|
272
|
-
"""
|
|
273
|
-
Suggest how to fix a {category_lower} issue
|
|
274
|
-
|
|
275
|
-
Returns:
|
|
276
|
-
Detailed fix suggestion with code examples
|
|
277
|
-
"""
|
|
278
|
-
# Implementation depends on issue type
|
|
279
|
-
return f"Fix suggestion for {{issue.category}} issue: {{issue.message}}"
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
# Example usage
|
|
283
|
-
if __name__ == "__main__":
|
|
284
|
-
wizard = {name}()
|
|
285
|
-
|
|
286
|
-
# Example code to analyze
|
|
287
|
-
sample_code = '''
|
|
288
|
-
# Add sample code relevant to {category_lower}
|
|
289
|
-
"""
|
|
290
|
-
|
|
291
|
-
result = wizard.run_full_analysis(
|
|
292
|
-
code=sample_code,
|
|
293
|
-
file_path="example.py",
|
|
294
|
-
language="python",
|
|
295
|
-
project_context={{
|
|
296
|
-
"team_size": 10,
|
|
297
|
-
"deployment_frequency": "daily",
|
|
298
|
-
"code_churn_rate": 0.15
|
|
299
|
-
}}
|
|
300
|
-
)
|
|
301
|
-
|
|
302
|
-
print(f"Analysis: {{result.summary}}")
|
|
303
|
-
print(f"Issues found: {{len(result.issues)}}")
|
|
304
|
-
print(f"Predictions: {{len(result.predictions)}}")
|
|
305
|
-
"""
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
def generate_wizard(spec):
|
|
309
|
-
"""Generate a wizard file from spec"""
|
|
310
|
-
detects_list = "\n".join([f" - {d}" for d in spec["detects"]])
|
|
311
|
-
predicts_list = "\n".join([f" - {p}" for p in spec["predicts"]])
|
|
312
|
-
|
|
313
|
-
content = WIZARD_TEMPLATE.format(
|
|
314
|
-
name=spec["name"],
|
|
315
|
-
filename=spec["filename"],
|
|
316
|
-
description=spec["description"],
|
|
317
|
-
category=spec["category"],
|
|
318
|
-
category_lower=spec["category"].lower(),
|
|
319
|
-
languages=spec["languages"],
|
|
320
|
-
detects_list=detects_list,
|
|
321
|
-
predicts_list=predicts_list,
|
|
322
|
-
)
|
|
323
|
-
|
|
324
|
-
with open(spec["filename"], "w") as f:
|
|
325
|
-
f.write(content)
|
|
326
|
-
|
|
327
|
-
print(f"✓ Generated {spec['filename']}")
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
def main():
|
|
331
|
-
"""Generate all 16 Coach wizards"""
|
|
332
|
-
print("Generating 16 Coach wizards...")
|
|
333
|
-
print()
|
|
334
|
-
|
|
335
|
-
for spec in WIZARD_SPECS:
|
|
336
|
-
generate_wizard(spec)
|
|
337
|
-
|
|
338
|
-
print()
|
|
339
|
-
print("✓ All 16 Coach wizards generated successfully!")
|
|
340
|
-
print()
|
|
341
|
-
print("Wizards created:")
|
|
342
|
-
for spec in WIZARD_SPECS:
|
|
343
|
-
print(f" - {spec['name']}: {spec['description']}")
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
if __name__ == "__main__":
|
|
347
|
-
main()
|
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
"""LocalizationWizard - Internationalization and localization
|
|
2
|
-
|
|
3
|
-
Level 4 Anticipatory Empathy for Localization using the Empathy Framework.
|
|
4
|
-
|
|
5
|
-
Copyright 2025 Smart AI Memory, LLC
|
|
6
|
-
Licensed under Fair Source 0.9
|
|
7
|
-
"""
|
|
8
|
-
|
|
9
|
-
from typing import Any
|
|
10
|
-
|
|
11
|
-
from .base_wizard import BaseCoachWizard, WizardIssue, WizardPrediction
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
class LocalizationWizard(BaseCoachWizard):
|
|
15
|
-
"""Internationalization and localization
|
|
16
|
-
|
|
17
|
-
Detects:
|
|
18
|
-
- hardcoded strings
|
|
19
|
-
- missing translations
|
|
20
|
-
- locale issues
|
|
21
|
-
- RTL problems
|
|
22
|
-
|
|
23
|
-
Predicts (Level 4):
|
|
24
|
-
- i18n technical debt
|
|
25
|
-
- translation maintenance burden
|
|
26
|
-
- locale coverage gaps
|
|
27
|
-
"""
|
|
28
|
-
|
|
29
|
-
def __init__(self):
|
|
30
|
-
super().__init__(
|
|
31
|
-
name="LocalizationWizard",
|
|
32
|
-
category="Localization",
|
|
33
|
-
languages=["python", "javascript", "typescript", "java", "go", "html", "jsx", "tsx"],
|
|
34
|
-
)
|
|
35
|
-
|
|
36
|
-
def analyze_code(self, code: str, file_path: str, language: str) -> list[WizardIssue]:
|
|
37
|
-
"""Analyze code for localization issues
|
|
38
|
-
|
|
39
|
-
This is a reference implementation. In production, integrate with:
|
|
40
|
-
- Static analysis tools
|
|
41
|
-
- Linters and security scanners
|
|
42
|
-
- Custom rule engines
|
|
43
|
-
- AI models (Claude, GPT-4)
|
|
44
|
-
"""
|
|
45
|
-
issues: list[WizardIssue] = []
|
|
46
|
-
|
|
47
|
-
# Use generator-based iteration to avoid large list copies
|
|
48
|
-
# splitlines() is more memory-efficient than split("\n")
|
|
49
|
-
for line_num, line in enumerate(code.splitlines(), 1):
|
|
50
|
-
# Detect hardcoded strings (basic heuristic)
|
|
51
|
-
issue = self._check_hardcoded_string(line, line_num, file_path, language)
|
|
52
|
-
if issue:
|
|
53
|
-
issues.append(issue)
|
|
54
|
-
|
|
55
|
-
self.logger.info(f"{self.name} found {len(issues)} issues in {file_path}")
|
|
56
|
-
return issues
|
|
57
|
-
|
|
58
|
-
def _check_hardcoded_string(
|
|
59
|
-
self,
|
|
60
|
-
line: str,
|
|
61
|
-
line_num: int,
|
|
62
|
-
file_path: str,
|
|
63
|
-
language: str,
|
|
64
|
-
) -> WizardIssue | None:
|
|
65
|
-
"""Check a single line for hardcoded user-facing strings."""
|
|
66
|
-
# Skip comments and imports
|
|
67
|
-
stripped = line.strip()
|
|
68
|
-
if not stripped or stripped.startswith(("#", "//", "/*", "*", "import", "from")):
|
|
69
|
-
return None
|
|
70
|
-
|
|
71
|
-
# Basic detection patterns by language
|
|
72
|
-
# In production, use language-specific AST parsing
|
|
73
|
-
patterns = {
|
|
74
|
-
"python": self._check_python_hardcoded,
|
|
75
|
-
"javascript": self._check_js_hardcoded,
|
|
76
|
-
"typescript": self._check_js_hardcoded,
|
|
77
|
-
"jsx": self._check_js_hardcoded,
|
|
78
|
-
"tsx": self._check_js_hardcoded,
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
checker = patterns.get(language)
|
|
82
|
-
if checker:
|
|
83
|
-
return checker(line, line_num, file_path)
|
|
84
|
-
return None
|
|
85
|
-
|
|
86
|
-
def _check_python_hardcoded(
|
|
87
|
-
self,
|
|
88
|
-
line: str,
|
|
89
|
-
line_num: int,
|
|
90
|
-
file_path: str,
|
|
91
|
-
) -> WizardIssue | None:
|
|
92
|
-
"""Check Python code for hardcoded UI strings."""
|
|
93
|
-
# Look for print() or raise with string literals
|
|
94
|
-
# Skip logging, docstrings, and comments
|
|
95
|
-
if "print(" in line or "raise " in line:
|
|
96
|
-
# Check for quoted strings that look like UI text
|
|
97
|
-
if '"' in line or "'" in line:
|
|
98
|
-
# Basic heuristic: strings > 10 chars that aren't paths/URLs
|
|
99
|
-
import re
|
|
100
|
-
|
|
101
|
-
strings = re.findall(r'["\']([^"\']{10,})["\']', line)
|
|
102
|
-
for s in strings:
|
|
103
|
-
if not s.startswith(("/", "http", "\\", ".")):
|
|
104
|
-
return WizardIssue(
|
|
105
|
-
category="hardcoded_string",
|
|
106
|
-
severity="warning",
|
|
107
|
-
message=f"Potential hardcoded UI string: '{s[:30]}...'",
|
|
108
|
-
file_path=file_path,
|
|
109
|
-
line_number=line_num,
|
|
110
|
-
code_snippet=line.strip(),
|
|
111
|
-
fix_suggestion="Consider using i18n translation function",
|
|
112
|
-
confidence=0.7,
|
|
113
|
-
)
|
|
114
|
-
return None
|
|
115
|
-
|
|
116
|
-
def _check_js_hardcoded(self, line: str, line_num: int, file_path: str) -> WizardIssue | None:
|
|
117
|
-
"""Check JavaScript/TypeScript for hardcoded UI strings."""
|
|
118
|
-
# Look for JSX text content or string assignments
|
|
119
|
-
import re
|
|
120
|
-
|
|
121
|
-
# Check for text in JSX elements: <div>Hello World</div>
|
|
122
|
-
jsx_text = re.search(r">([A-Z][^<]{5,})<", line)
|
|
123
|
-
if jsx_text:
|
|
124
|
-
text = jsx_text.group(1).strip()
|
|
125
|
-
if text and not text.startswith("{"):
|
|
126
|
-
return WizardIssue(
|
|
127
|
-
category="hardcoded_string",
|
|
128
|
-
severity="warning",
|
|
129
|
-
message=f"Hardcoded JSX text: '{text[:30]}...'",
|
|
130
|
-
file_path=file_path,
|
|
131
|
-
line_number=line_num,
|
|
132
|
-
code_snippet=line.strip(),
|
|
133
|
-
fix_suggestion="Use i18n: {t('key')} instead of hardcoded text",
|
|
134
|
-
confidence=0.8,
|
|
135
|
-
)
|
|
136
|
-
return None
|
|
137
|
-
|
|
138
|
-
def predict_future_issues(
|
|
139
|
-
self,
|
|
140
|
-
code: str,
|
|
141
|
-
file_path: str,
|
|
142
|
-
project_context: dict[str, Any],
|
|
143
|
-
timeline_days: int = 90,
|
|
144
|
-
) -> list[WizardPrediction]:
|
|
145
|
-
"""Level 4 Anticipatory: Predict localization issues {timeline_days} days ahead
|
|
146
|
-
|
|
147
|
-
Uses:
|
|
148
|
-
- Historical patterns
|
|
149
|
-
- Code trajectory analysis
|
|
150
|
-
- Dependency evolution
|
|
151
|
-
- Team velocity
|
|
152
|
-
- Industry trends
|
|
153
|
-
"""
|
|
154
|
-
predictions: list[WizardPrediction] = []
|
|
155
|
-
|
|
156
|
-
# Example prediction logic
|
|
157
|
-
# In production, use ML models trained on historical data
|
|
158
|
-
|
|
159
|
-
self.logger.info(
|
|
160
|
-
f"{self.name} predicted {len(predictions)} future issues "
|
|
161
|
-
f"for {file_path} ({timeline_days} days ahead)",
|
|
162
|
-
)
|
|
163
|
-
return predictions
|
|
164
|
-
|
|
165
|
-
def suggest_fixes(self, issue: WizardIssue) -> str:
|
|
166
|
-
"""Suggest how to fix a localization issue
|
|
167
|
-
|
|
168
|
-
Returns:
|
|
169
|
-
Detailed fix suggestion with code examples
|
|
170
|
-
|
|
171
|
-
"""
|
|
172
|
-
# Implementation depends on issue type
|
|
173
|
-
return f"Fix suggestion for {issue.category} issue: {issue.message}"
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
"""MigrationWizard - Code migration and upgrade assistance
|
|
2
|
-
|
|
3
|
-
Level 4 Anticipatory Empathy for Migration using the Empathy Framework.
|
|
4
|
-
|
|
5
|
-
Copyright 2025 Smart AI Memory, LLC
|
|
6
|
-
Licensed under Fair Source 0.9
|
|
7
|
-
"""
|
|
8
|
-
|
|
9
|
-
from typing import Any
|
|
10
|
-
|
|
11
|
-
from .base_wizard import BaseCoachWizard, WizardIssue, WizardPrediction
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
class MigrationWizard(BaseCoachWizard):
|
|
15
|
-
"""Code migration and upgrade assistance
|
|
16
|
-
|
|
17
|
-
Detects:
|
|
18
|
-
- deprecated APIs
|
|
19
|
-
- breaking changes
|
|
20
|
-
- incompatibilities
|
|
21
|
-
- migration risks
|
|
22
|
-
|
|
23
|
-
Predicts (Level 4):
|
|
24
|
-
- upgrade complexity
|
|
25
|
-
- compatibility issues
|
|
26
|
-
- migration timeline
|
|
27
|
-
"""
|
|
28
|
-
|
|
29
|
-
def __init__(self):
|
|
30
|
-
super().__init__(
|
|
31
|
-
name="MigrationWizard",
|
|
32
|
-
category="Migration",
|
|
33
|
-
languages=["python", "javascript", "typescript", "java", "go", "rust"],
|
|
34
|
-
)
|
|
35
|
-
|
|
36
|
-
def analyze_code(self, code: str, file_path: str, language: str) -> list[WizardIssue]:
|
|
37
|
-
"""Analyze code for migration issues
|
|
38
|
-
|
|
39
|
-
This is a reference implementation. In production, integrate with:
|
|
40
|
-
- Static analysis tools
|
|
41
|
-
- Linters and security scanners
|
|
42
|
-
- Custom rule engines
|
|
43
|
-
- AI models (Claude, GPT-4)
|
|
44
|
-
"""
|
|
45
|
-
issues = []
|
|
46
|
-
|
|
47
|
-
# Example heuristic detection
|
|
48
|
-
lines = code.split("\n")
|
|
49
|
-
for _i, _line in enumerate(lines, 1):
|
|
50
|
-
# Add detection logic based on migration
|
|
51
|
-
pass
|
|
52
|
-
|
|
53
|
-
self.logger.info(f"{self.name} found {len(issues)} issues in {file_path}")
|
|
54
|
-
return issues
|
|
55
|
-
|
|
56
|
-
def predict_future_issues(
|
|
57
|
-
self,
|
|
58
|
-
code: str,
|
|
59
|
-
file_path: str,
|
|
60
|
-
project_context: dict[str, Any],
|
|
61
|
-
timeline_days: int = 90,
|
|
62
|
-
) -> list[WizardPrediction]:
|
|
63
|
-
"""Level 4 Anticipatory: Predict migration issues {timeline_days} days ahead
|
|
64
|
-
|
|
65
|
-
Uses:
|
|
66
|
-
- Historical patterns
|
|
67
|
-
- Code trajectory analysis
|
|
68
|
-
- Dependency evolution
|
|
69
|
-
- Team velocity
|
|
70
|
-
- Industry trends
|
|
71
|
-
"""
|
|
72
|
-
predictions = []
|
|
73
|
-
|
|
74
|
-
# Example prediction logic
|
|
75
|
-
# In production, use ML models trained on historical data
|
|
76
|
-
|
|
77
|
-
self.logger.info(
|
|
78
|
-
f"{self.name} predicted {len(predictions)} future issues "
|
|
79
|
-
f"for {file_path} ({timeline_days} days ahead)",
|
|
80
|
-
)
|
|
81
|
-
return predictions
|
|
82
|
-
|
|
83
|
-
def suggest_fixes(self, issue: WizardIssue) -> str:
|
|
84
|
-
"""Suggest how to fix a migration issue
|
|
85
|
-
|
|
86
|
-
Returns:
|
|
87
|
-
Detailed fix suggestion with code examples
|
|
88
|
-
|
|
89
|
-
"""
|
|
90
|
-
# Implementation depends on issue type
|
|
91
|
-
return f"Fix suggestion for {issue.category} issue: {issue.message}"
|