solarwindpy 0.0.1.dev0__py3-none-any.whl → 0.1.1__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.
Potentially problematic release.
This version of solarwindpy might be problematic. Click here for more details.
- plans/.velocity/metrics.json +96 -0
- plans/0-overview-template.md +268 -0
- plans/N-phase-template.md +106 -0
- plans/PLAN_AUDIT_SUMMARY.md +173 -0
- plans/TEMPLATE-USAGE-GUIDE.md +198 -0
- plans/__init__.py +1 -0
- plans/abandoned/compaction-agent-system/0-Overview.md +123 -0
- plans/abandoned/compaction-agent-system/agents-index-update-plan.md +109 -0
- plans/abandoned/compaction-agent-system/compacted_state.md +85 -0
- plans/abandoned/compaction-agent-system/implementation-plan.md +107 -0
- plans/abandoned/compaction-agent-system/system-validation-report.md +159 -0
- plans/abandoned/compaction-agent-system/usage-guide.md +210 -0
- plans/abandoned/hook-system-enhancement/0-Overview.md +214 -0
- plans/abandoned/hook-system-enhancement/1-Phase1-Core-Infrastructure.md +313 -0
- plans/abandoned/hook-system-enhancement/2-Phase2-Intelligent-Testing.md +385 -0
- plans/abandoned/hook-system-enhancement/3-Phase3-Physics-Validation.md +444 -0
- plans/abandoned/hook-system-enhancement/4-Phase4-Performance-Monitoring.md +458 -0
- plans/abandoned/hook-system-enhancement/5-Phase5-Developer-Experience.md +532 -0
- plans/abandoned/hook-system-enhancement/6-Implementation-Timeline.md +274 -0
- plans/abandoned/hook-system-enhancement/7-Risk-Management.md +376 -0
- plans/abandoned/hook-system-enhancement/8-Testing-Strategy.md +579 -0
- plans/abandoned/readthedocs-automation/0-Overview.md +247 -0
- plans/abandoned/readthedocs-automation/1-Emergency-Documentation-Fixes.md +270 -0
- plans/abandoned/readthedocs-automation/2-Template-System-Enhancement.md +811 -0
- plans/abandoned/readthedocs-automation/3-Quality-Audit-ReadTheDocs-Integration.md +844 -0
- plans/abandoned/readthedocs-automation/4-Plan-Consolidation-Cleanup.md +632 -0
- plans/abandoned/readthedocs-automation/9-Closeout.md +207 -0
- plans/abandoned/readthedocs-automation/ABANDONMENT_REASON.md +72 -0
- plans/cicd-architecture-redesign/0-Overview.md +193 -0
- plans/cicd-architecture-redesign/1-Workflow-Creation.md +103 -0
- plans/cicd-architecture-redesign/2-Version-Detection.md +123 -0
- plans/cicd-architecture-redesign/3-Deployment-Gates.md +169 -0
- plans/cicd-architecture-redesign/4-RC-Testing.md +194 -0
- plans/cicd-architecture-redesign/5-TestPyPI-Validation.md +264 -0
- plans/cicd-architecture-redesign/6-Production-Release.md +263 -0
- plans/cicd-architecture-redesign/7-Cleanup.md +243 -0
- plans/cicd-architecture-redesign/8-Documentation.md +285 -0
- plans/cicd-architecture-redesign/Closeout.md +225 -0
- plans/closeout-template.md +259 -0
- plans/completed/circular-import-audit/0-Overview.md +152 -0
- plans/completed/circular-import-audit/1-Static-Dependency-Analysis.md +62 -0
- plans/completed/circular-import-audit/2-Dynamic-Import-Testing.md +56 -0
- plans/completed/circular-import-audit/3-Performance-Impact-Assessment.md +56 -0
- plans/completed/circular-import-audit/4-Issue-Remediation.md +78 -0
- plans/completed/circular-import-audit/5-Preventive-Infrastructure.md +89 -0
- plans/completed/claude-settings-ecosystem-alignment/0-Overview.md +162 -0
- plans/completed/claude-settings-ecosystem-alignment/1-Security-Foundation.md +148 -0
- plans/completed/claude-settings-ecosystem-alignment/2-Hook-Integration.md +158 -0
- plans/completed/claude-settings-ecosystem-alignment/3-Agent-System-Integration.md +177 -0
- plans/completed/claude-settings-ecosystem-alignment/4-Enhanced-Workflow-Automation.md +159 -0
- plans/completed/claude-settings-ecosystem-alignment/5-Validation-Monitoring.md +181 -0
- plans/completed/claude-settings-ecosystem-alignment/compacted_session_state.md +290 -0
- plans/completed/combined_plan_with_checklist_documentation/1-Overview-and-Goals.md +51 -0
- plans/completed/combined_plan_with_checklist_documentation/2-Toolchain-and-Hosting.md +69 -0
- plans/completed/combined_plan_with_checklist_documentation/3-Repository-Structure.md +61 -0
- plans/completed/combined_plan_with_checklist_documentation/4-Configuration-and-Standards.md +70 -0
- plans/completed/combined_plan_with_checklist_documentation/5-Documentation-Content.md +62 -0
- plans/completed/combined_plan_with_checklist_documentation/6-CI-CD-and-Validation.md +58 -0
- plans/completed/combined_plan_with_checklist_documentation/7-Maintenance.md +55 -0
- plans/completed/combined_test_plan_with_checklist_fitfunctions/0-Overview.md +135 -0
- plans/completed/combined_test_plan_with_checklist_fitfunctions/1-Common-fixtures.md +59 -0
- plans/completed/combined_test_plan_with_checklist_fitfunctions/10-power_laws.md +56 -0
- plans/completed/combined_test_plan_with_checklist_fitfunctions/2-core.py-FitFunction.md +118 -0
- plans/completed/combined_test_plan_with_checklist_fitfunctions/3-gaussians.py-Gaussian-GaussianNormalized-GaussianLn.md +69 -0
- plans/completed/combined_test_plan_with_checklist_fitfunctions/4-trend_fits.py-TrendFit.md +99 -0
- plans/completed/combined_test_plan_with_checklist_fitfunctions/5-plots.py-FFPlot.md +98 -0
- plans/completed/combined_test_plan_with_checklist_fitfunctions/6-tex_info.py-TeXinfo.md +79 -0
- plans/completed/combined_test_plan_with_checklist_fitfunctions/7-Justification.md +49 -0
- plans/completed/combined_test_plan_with_checklist_fitfunctions/8-exponentials.md +64 -0
- plans/completed/combined_test_plan_with_checklist_fitfunctions/9-lines.md +58 -0
- plans/completed/combined_test_plan_with_checklist_plotting/0-Overview.md +142 -0
- plans/completed/combined_test_plan_with_checklist_plotting/1-base.py.md +90 -0
- plans/completed/combined_test_plan_with_checklist_plotting/10-labels-special.py.md +102 -0
- plans/completed/combined_test_plan_with_checklist_plotting/11-labels-chemistry.py.md +212 -0
- plans/completed/combined_test_plan_with_checklist_plotting/12-labels-composition.py.md +242 -0
- plans/completed/combined_test_plan_with_checklist_plotting/13-labels-datetime.py.md +247 -0
- plans/completed/combined_test_plan_with_checklist_plotting/14-labels-elemental_abundance.py.md +274 -0
- plans/completed/combined_test_plan_with_checklist_plotting/15-visual-validation.md +256 -0
- plans/completed/combined_test_plan_with_checklist_plotting/16-integration-testing.md +266 -0
- plans/completed/combined_test_plan_with_checklist_plotting/17-performance-benchmarks.md +267 -0
- plans/completed/combined_test_plan_with_checklist_plotting/18-Fixtures-and-Utilities.md +86 -0
- plans/completed/combined_test_plan_with_checklist_plotting/2-agg_plot.py.md +90 -0
- plans/completed/combined_test_plan_with_checklist_plotting/3-histograms.py.md +201 -0
- plans/completed/combined_test_plan_with_checklist_plotting/4-scatter.py.md +167 -0
- plans/completed/combined_test_plan_with_checklist_plotting/5-spiral.py.md +216 -0
- plans/completed/combined_test_plan_with_checklist_plotting/6-orbits.py.md +108 -0
- plans/completed/combined_test_plan_with_checklist_plotting/7-tools.py.md +86 -0
- plans/completed/combined_test_plan_with_checklist_plotting/8-select_data_from_figure.py.md +97 -0
- plans/completed/combined_test_plan_with_checklist_plotting/9-labels-base.py.md +88 -0
- plans/completed/combined_test_plan_with_checklist_solar_activity/.gitkeep +0 -0
- plans/completed/combined_test_plan_with_checklist_solar_activity/0-Overview.md +170 -0
- plans/completed/combined_test_plan_with_checklist_solar_activity/1-Package-Entry-Point-__init__.py.md +121 -0
- plans/completed/combined_test_plan_with_checklist_solar_activity/2-Core-Base-Classes-base.py.md +142 -0
- plans/completed/combined_test_plan_with_checklist_solar_activity/3-Plotting-Helpers-plots.py.md +123 -0
- plans/completed/combined_test_plan_with_checklist_solar_activity/4-LISIRD-Sub-package.md +119 -0
- plans/completed/combined_test_plan_with_checklist_solar_activity/5-Extrema-Calculator.md +103 -0
- plans/completed/combined_test_plan_with_checklist_solar_activity/6-Sunspot-Number-Sub-package.md +163 -0
- plans/completed/combined_test_plan_with_checklist_solar_activity/7-Sunspot-Number-Init.py.md +217 -0
- plans/completed/combined_test_plan_with_checklist_solar_activity/compacted_state.md +52 -0
- plans/completed/compaction-agent-modernization/0-Overview.md +156 -0
- plans/completed/compaction-agent-modernization/1-Architecture-Audit-Gap-Analysis.md +132 -0
- plans/completed/compaction-agent-modernization/2-Token-Baseline-Recalibration.md +153 -0
- plans/completed/compaction-agent-modernization/3-Agent-Reference-Updates.md +184 -0
- plans/completed/compaction-agent-modernization/4-Compression-Algorithm-Modernization.md +238 -0
- plans/completed/compaction-agent-modernization/5-Workflow-Integration-Streamlining.md +252 -0
- plans/completed/compaction-agent-modernization/6-Template-Structure-Optimization.md +240 -0
- plans/completed/compaction-agent-modernization/7-Integration-Testing-Validation.md +292 -0
- plans/completed/compaction-hook-enhancement/0-Overview.md +150 -0
- plans/completed/compaction-hook-enhancement/1-Token-Estimation-Enhancement.md +179 -0
- plans/completed/compaction-hook-enhancement/2-Compression-Intelligence.md +294 -0
- plans/completed/compaction-hook-enhancement/3-Git-Integration-Metadata.md +310 -0
- plans/completed/compaction-hook-enhancement/4-Session-Continuity-Features.md +358 -0
- plans/completed/compaction-hook-enhancement/5-Testing-Strategy.md +404 -0
- plans/completed/compaction-hook-enhancement/6-Integration-Roadmap.md +319 -0
- plans/completed/compaction-hook-enhancement/compacted_state.md +142 -0
- plans/completed/docstring-audit-enhancement/0-Overview.md +274 -0
- plans/completed/docstring-audit-enhancement/1-Infrastructure-Setup-and-Validation-Tools.md +206 -0
- plans/completed/docstring-audit-enhancement/2-Core-Physics-Modules-Enhancement.md +237 -0
- plans/completed/docstring-audit-enhancement/3-Fitfunctions-Mathematical-Modules-Enhancement.md +188 -0
- plans/completed/docstring-audit-enhancement/4-Plotting-Visualization-Modules-Enhancement.md +243 -0
- plans/completed/docstring-audit-enhancement/5-Specialized-Modules-Enhancement.md +216 -0
- plans/completed/docstring-audit-enhancement/6-Validation-and-Integration.md +216 -0
- plans/completed/fitfunctions-testing-implementation/0-Overview.md +130 -0
- plans/completed/fitfunctions-testing-implementation/1-Test-Infrastructure-Setup.md +79 -0
- plans/completed/fitfunctions-testing-implementation/2-Common-Fixtures-Test-Utilities.md +104 -0
- plans/completed/fitfunctions-testing-implementation/3-Core-FitFunction-Testing.md +168 -0
- plans/completed/fitfunctions-testing-implementation/4-Specialized-Function-Classes.md +210 -0
- plans/completed/fitfunctions-testing-implementation/5-Advanced-Classes-Testing.md +214 -0
- plans/completed/fitfunctions-testing-implementation/6-Plotting-Integration-Testing.md +231 -0
- plans/completed/fitfunctions-testing-implementation/7-Extended-Coverage-BONUS.md +184 -0
- plans/completed/numpy-docstring-conversion-plan/numpy-docstring-conversion-plan.md +118 -0
- plans/completed/pr-review-remediation/0-Overview.md +138 -0
- plans/completed/pr-review-remediation/1-Critical-Safety-Improvements.md +179 -0
- plans/completed/pr-review-remediation/2-Smart-Timeouts-Validation.md +399 -0
- plans/completed/pr-review-remediation/3-Enhanced-GitHub-Integration.md +258 -0
- plans/completed/pr-review-remediation/compacted_state.md +66 -0
- plans/completed/python-310-migration/0-Overview.md +390 -0
- plans/completed/python-310-migration/1-Planning-Setup.md +164 -0
- plans/completed/python-310-migration/2-Implementation.md +256 -0
- plans/completed/python-310-migration/3-Testing-Validation.md +335 -0
- plans/completed/python-310-migration/4-Documentation-Release.md +274 -0
- plans/completed/python-310-migration/5-Closeout.md +252 -0
- plans/completed/requirements-management-consolidation/0-Overview.md +118 -0
- plans/completed/requirements-management-consolidation/1-Documentation-Validation-Environment-Setup.md +116 -0
- plans/completed/requirements-management-consolidation/2-Requirements-Consolidation.md +161 -0
- plans/completed/requirements-management-consolidation/3-Workflow-Automation-Final-Integration.md +196 -0
- plans/completed/single-ecosystem-plan-implementation/0-Overview.md +83 -0
- plans/completed/single-ecosystem-plan-implementation/1-Plan-Preservation-Session-Management.md +38 -0
- plans/completed/single-ecosystem-plan-implementation/2-File-Structure-Optimization.md +43 -0
- plans/completed/single-ecosystem-plan-implementation/3-Plan-Migration-Archive-Setup.md +82 -0
- plans/completed/single-ecosystem-plan-implementation/4-Agent-System-Transformation.md +108 -0
- plans/completed/single-ecosystem-plan-implementation/5-Template-System-Enhancement.md +131 -0
- plans/completed/single-ecosystem-plan-implementation/6-Final-Validation-Testing.md +120 -0
- plans/completed/test-directory-consolidation/0-Overview.md +51 -0
- plans/completed/test-directory-consolidation/1-Structure-Preparation.md +82 -0
- plans/completed/test-directory-consolidation/2-File-Migration.md +100 -0
- plans/completed/test-directory-consolidation/3-Import-Transformation.md +117 -0
- plans/completed/test-directory-consolidation/4-Configuration-Consolidation.md +140 -0
- plans/completed/test-directory-consolidation/5-Validation.md +152 -0
- plans/completed/test-directory-consolidation/6-Cleanup.md +156 -0
- plans/completed/test-planning-agents-architecture/0-Overview.md +79 -0
- plans/completed/test-planning-agents-architecture/1-Branch-Isolation-Testing.md +49 -0
- plans/completed/test-planning-agents-architecture/2-Cross-Branch-Coordination.md +51 -0
- plans/completed/test-planning-agents-architecture/3-Merge-Workflow-Testing.md +48 -0
- plans/deployment-semver-pypi-rtd/0-Overview.md +463 -0
- plans/deployment-semver-pypi-rtd/1-Semantic-Versioning-Foundation.md +136 -0
- plans/deployment-semver-pypi-rtd/2-PyPI-Deployment-Infrastructure.md +168 -0
- plans/deployment-semver-pypi-rtd/3-Release-Automation.md +214 -0
- plans/deployment-semver-pypi-rtd/4-Plan-Closeout.md +543 -0
- plans/deployment-semver-pypi-rtd/compacted_session_state.md +172 -0
- plans/deployment-semver-pypi-rtd/compacted_state.md +131 -0
- plans/documentation-code-audit/0-Overview.md +393 -0
- plans/documentation-code-audit/1-Discovery-Inventory.md +183 -0
- plans/documentation-code-audit/2-Execution-Environment-Setup.md +263 -0
- plans/documentation-code-audit/3-Systematic-Validation.md +322 -0
- plans/documentation-code-audit/4-Code-Example-Remediation.md +358 -0
- plans/documentation-code-audit/5-Physics-MultiIndex-Compliance.md +464 -0
- plans/documentation-code-audit/6-Doctest-Integration.md +523 -0
- plans/documentation-code-audit/7-Reporting-Documentation.md +498 -0
- plans/documentation-code-audit/8-Closeout.md +456 -0
- plans/documentation-rebuild-session/compacted_state.md +109 -0
- plans/documentation-rendering-fixes/0-Overview.md +104 -0
- plans/documentation-rendering-fixes/1-Sphinx-Build-Diagnostics-Warning-Audit.md +101 -0
- plans/documentation-rendering-fixes/2-Configuration-Infrastructure-Fixes.md +113 -0
- plans/documentation-rendering-fixes/3-Docstring-Syntax-Audit-Repair.md +131 -0
- plans/documentation-rendering-fixes/4-HTML-Page-Rendering-Verification.md +113 -0
- plans/documentation-rendering-fixes/5-Advanced-Documentation-Quality-Assurance.md +119 -0
- plans/documentation-rendering-fixes/6-Documentation-Build-Optimization-Testing.md +129 -0
- plans/documentation-rendering-fixes/compacted_state.md +132 -0
- plans/documentation-template-fix/0-Overview.md +197 -0
- plans/documentation-template-fix/1-Template-System-Analysis.md +269 -0
- plans/documentation-template-fix/2-Template-Modification.md +609 -0
- plans/documentation-template-fix/3-Build-System-Integration.md +766 -0
- plans/documentation-template-fix/4-Testing-Validation.md +1399 -0
- plans/documentation-template-fix/5-Documentation-Training.md +602 -0
- plans/documentation-workflow-fix/0-Overview.md +222 -0
- plans/documentation-workflow-fix/1-Immediate-Fixes.md +238 -0
- plans/documentation-workflow-fix/2-Configuration-Setup.md +298 -0
- plans/documentation-workflow-fix/3-Pre-commit-Integration.md +382 -0
- plans/documentation-workflow-fix/4-Workflow-Improvements.md +446 -0
- plans/documentation-workflow-fix/5-Documentation-and-Training.md +527 -0
- plans/duplicate-object-warnings-fix-plan.md +130 -0
- plans/github-issues-migration/0-Overview.md +510 -0
- plans/github-issues-migration/1-Foundation-Label-System.md +180 -0
- plans/github-issues-migration/2-Migration-Tool-Rewrite.md +235 -0
- plans/github-issues-migration/3-CLI-Integration-Automation.md +169 -0
- plans/github-issues-migration/4-Validated-Migration.md +252 -0
- plans/github-issues-migration/5-Documentation-Training.md +171 -0
- plans/github-issues-migration/6-Closeout.md +179 -0
- plans/github-workflows-repair/repair-plan.md +299 -0
- plans/issues_from_plans.py +342 -0
- plans/pr-270-doc-validation-fixes/0-Overview.md +354 -0
- plans/pr-270-doc-validation-fixes/1-Critical-PR-Fixes.md +117 -0
- plans/pr-270-doc-validation-fixes/2-Framework-Right-Sizing.md +129 -0
- plans/pr-270-doc-validation-fixes/3-Sustainable-Documentation.md +126 -0
- plans/pr-270-doc-validation-fixes/4-Closeout-Migration.md +143 -0
- plans/pr-270-doc-validation-fixes/PLAN_COMPLETED.md +149 -0
- plans/python-310-migration/0-Overview.md +390 -0
- plans/python-310-migration/1-Planning-Setup.md +164 -0
- plans/python-310-migration/2-Implementation.md +256 -0
- plans/python-310-migration/3-Testing-Validation.md +335 -0
- plans/python-310-migration/4-Documentation-Release.md +274 -0
- plans/python-310-migration/5-Closeout.md +252 -0
- plans/readthedocs-simplified/0-Overview.md +243 -0
- plans/readthedocs-simplified/1-Immediate-Fixes.md +216 -0
- plans/readthedocs-simplified/2-Template-Simplification.md +278 -0
- plans/readthedocs-simplified/3-ReadTheDocs-Setup.md +298 -0
- plans/readthedocs-simplified/4-Testing-Validation.md +328 -0
- plans/readthedocs-simplified/5-Closeout.md +231 -0
- plans/readthedocs-simplified/compacted_state.md +127 -0
- plans/session-compaction-2025-08-12/compacted_state.md +114 -0
- plans/session-compaction-2025-08-13/compacted_state.md +145 -0
- plans/session-continuity-protocol/0-Overview.md +35 -0
- plans/session-continuity-protocol/1-Core-Principles-Framework.md +40 -0
- plans/session-continuity-protocol/2-Pre-Session-Validation-System.md +79 -0
- plans/session-continuity-protocol/3-Context-Switching-Prevention.md +87 -0
- plans/session-continuity-protocol/4-Progress-Tracking-Recovery.md +100 -0
- plans/sphinx-warnings-analysis.md +222 -0
- plans/systemprompt-optimization/0-Overview.md +447 -0
- plans/systemprompt-optimization/1-Deploy-SystemPrompt.md +114 -0
- plans/systemprompt-optimization/2-Documentation-Alignment.md +198 -0
- plans/systemprompt-optimization/3-Monitoring-Infrastructure.md +396 -0
- plans/systemprompt-optimization/4-Implementation-Script.md +450 -0
- plans/systemprompt-optimization/9-Closeout.md +165 -0
- plans/systemprompt-optimization/compacted_state.md +143 -0
- plans/template-value-propositions/0-Overview.md +357 -0
- plans/template-value-propositions/1-Value-Proposition-Framework-Design.md +144 -0
- plans/template-value-propositions/2-Plan-Template-Enhancement.md +178 -0
- plans/template-value-propositions/3-Value-Generator-Hook-Implementation.md +291 -0
- plans/template-value-propositions/4-Value-Validator-Hook-Implementation.md +274 -0
- plans/template-value-propositions/5-Documentation-Agent-Updates.md +219 -0
- plans/template-value-propositions/6-Integration-Testing-Validation.md +247 -0
- plans/tests-audit/0-Overview.md +410 -0
- plans/tests-audit/1-Discovery-Inventory.md +170 -0
- plans/tests-audit/2-Physics-Validation-Audit.md +195 -0
- plans/tests-audit/3-Architecture-Compliance.md +195 -0
- plans/tests-audit/4-Numerical-Stability-Analysis.md +203 -0
- plans/tests-audit/5-Documentation-Enhancement.md +220 -0
- plans/tests-audit/6-Audit-Deliverables.md +220 -0
- plans/tests-audit/7-Closeout.md +252 -0
- plans/tests-audit/artifacts/ARCHITECTURE_COMPLIANCE_REPORT.md +315 -0
- plans/tests-audit/artifacts/ARCHITECTURE_RECOMMENDATIONS.md +943 -0
- plans/tests-audit/artifacts/COMPREHENSIVE_AUDIT_REPORT.md +356 -0
- plans/tests-audit/artifacts/CONTRIBUTING_ENHANCED_TEMPLATE.md +419 -0
- plans/tests-audit/artifacts/COVERAGE_GAP_ANALYSIS.md +152 -0
- plans/tests-audit/artifacts/DOCUMENTATION_ENHANCEMENT_REPORT.md +502 -0
- plans/tests-audit/artifacts/EXECUTIVE_AUDIT_SUMMARY.md +129 -0
- plans/tests-audit/artifacts/IMPLEMENTATION_ROADMAP.md +647 -0
- plans/tests-audit/artifacts/NUMERICAL_RECOMMENDATIONS.md +739 -0
- plans/tests-audit/artifacts/NUMERICAL_STABILITY_GUIDE_TEMPLATE.rst +451 -0
- plans/tests-audit/artifacts/NUMERICAL_STABILITY_REPORT.md +301 -0
- plans/tests-audit/artifacts/PHASE_3_SUMMARY.md +280 -0
- plans/tests-audit/artifacts/PHASE_4_SUMMARY.md +229 -0
- plans/tests-audit/artifacts/PHASE_5_SUMMARY.md +292 -0
- plans/tests-audit/artifacts/PHASE_6_CLOSEOUT.md +278 -0
- plans/tests-audit/artifacts/PHYSICS_GUIDE_TEMPLATE.rst +268 -0
- plans/tests-audit/artifacts/PHYSICS_VALIDATION_REPORT.md +235 -0
- plans/tests-audit/artifacts/TECHNICAL_DELIVERABLES_PACKAGE.md +2502 -0
- plans/tests-audit/artifacts/TEST_INVENTORY.csv +1204 -0
- plans/tests-audit/artifacts/TEST_INVENTORY.md +135 -0
- plans/tests-audit/artifacts/test_discovery_analysis.py +231 -0
- plans/tests-audit/artifacts/test_parser.py +395 -0
- solarwindpy/README.md +3 -0
- solarwindpy/Untitled.ipynb +54 -0
- solarwindpy/__init__.py +74 -0
- solarwindpy/core/__init__.py +23 -0
- solarwindpy/core/alfvenic_turbulence.py +804 -0
- solarwindpy/core/base.py +267 -0
- solarwindpy/core/ions.py +309 -0
- solarwindpy/core/plasma.py +2133 -0
- solarwindpy/core/spacecraft.py +256 -0
- solarwindpy/core/tensor.py +90 -0
- solarwindpy/core/units_constants.py +199 -0
- solarwindpy/core/vector.py +328 -0
- solarwindpy/fitfunctions/__init__.py +20 -0
- solarwindpy/fitfunctions/core.py +734 -0
- solarwindpy/fitfunctions/exponentials.py +188 -0
- solarwindpy/fitfunctions/gaussians.py +264 -0
- solarwindpy/fitfunctions/lines.py +116 -0
- solarwindpy/fitfunctions/moyal.py +71 -0
- solarwindpy/fitfunctions/plots.py +751 -0
- solarwindpy/fitfunctions/power_laws.py +209 -0
- solarwindpy/fitfunctions/tex_info.py +568 -0
- solarwindpy/fitfunctions/trend_fits.py +482 -0
- solarwindpy/instabilities/__init__.py +16 -0
- solarwindpy/instabilities/beta_ani.py +82 -0
- solarwindpy/instabilities/verscharen2016.py +631 -0
- solarwindpy/plotting/__init__.py +33 -0
- solarwindpy/plotting/agg_plot.py +489 -0
- solarwindpy/plotting/base.py +465 -0
- solarwindpy/plotting/hist1d.py +405 -0
- solarwindpy/plotting/hist2d.py +1035 -0
- solarwindpy/plotting/histograms.py +1845 -0
- solarwindpy/plotting/labels/__init__.py +104 -0
- solarwindpy/plotting/labels/base.py +686 -0
- solarwindpy/plotting/labels/chemistry.py +19 -0
- solarwindpy/plotting/labels/composition.py +100 -0
- solarwindpy/plotting/labels/datetime.py +235 -0
- solarwindpy/plotting/labels/elemental_abundance.py +73 -0
- solarwindpy/plotting/labels/special.py +794 -0
- solarwindpy/plotting/orbits.py +515 -0
- solarwindpy/plotting/scatter.py +99 -0
- solarwindpy/plotting/select_data_from_figure.py +329 -0
- solarwindpy/plotting/spiral.py +980 -0
- solarwindpy/plotting/tools.py +434 -0
- solarwindpy/scripts/__init__.py +1 -0
- solarwindpy/scripts/logs/.gitignore +1 -0
- solarwindpy/solar_activity/__init__.py +53 -0
- solarwindpy/solar_activity/base.py +605 -0
- solarwindpy/solar_activity/lisird/__init__.py +3 -0
- solarwindpy/solar_activity/lisird/extrema_calculator.py +394 -0
- solarwindpy/solar_activity/lisird/lisird.py +319 -0
- solarwindpy/solar_activity/plots.py +116 -0
- solarwindpy/solar_activity/sunspot_number/.DS_Store +0 -0
- solarwindpy/solar_activity/sunspot_number/__init__.py +3 -0
- solarwindpy/solar_activity/sunspot_number/sidc.py +556 -0
- solarwindpy/solar_activity/sunspot_number/ssn_extrema.csv +72 -0
- solarwindpy/solar_activity/sunspot_number/ssn_extrema.csv.silso +72 -0
- solarwindpy/tools/__init__.py +162 -0
- solarwindpy-0.1.1.dist-info/METADATA +181 -0
- solarwindpy-0.1.1.dist-info/RECORD +409 -0
- {solarwindpy-0.0.1.dev0.dist-info → solarwindpy-0.1.1.dist-info}/WHEEL +1 -1
- solarwindpy-0.1.1.dist-info/licenses/LICENSE.rst +32 -0
- solarwindpy-0.1.1.dist-info/top_level.txt +3 -0
- tests/__init__.py +1 -0
- tests/conftest.py +10 -0
- tests/core/__init__.py +1 -0
- tests/core/test_alfvenic_turbulence.py +544 -0
- tests/core/test_base.py +112 -0
- tests/core/test_base_head_tail.py +29 -0
- tests/core/test_base_mi_tuples.py +11 -0
- tests/core/test_core_verify_datetimeindex.py +32 -0
- tests/core/test_ions.py +325 -0
- tests/core/test_plasma.py +2581 -0
- tests/core/test_plasma_io.py +12 -0
- tests/core/test_quantities.py +507 -0
- tests/core/test_spacecraft.py +210 -0
- tests/core/test_units_constants.py +22 -0
- tests/data/epoch.csv +4 -0
- tests/data/plasma.csv +4 -0
- tests/data/spacecraft.csv +4 -0
- tests/fitfunctions/conftest.py +60 -0
- tests/fitfunctions/test_core.py +193 -0
- tests/fitfunctions/test_exponentials.py +342 -0
- tests/fitfunctions/test_gaussians.py +142 -0
- tests/fitfunctions/test_lines.py +349 -0
- tests/fitfunctions/test_moyal.py +258 -0
- tests/fitfunctions/test_plots.py +258 -0
- tests/fitfunctions/test_power_laws.py +365 -0
- tests/fitfunctions/test_tex_info.py +183 -0
- tests/fitfunctions/test_trend_fit_properties.py +31 -0
- tests/fitfunctions/test_trend_fits.py +244 -0
- tests/plotting/__init__.py +1 -0
- tests/plotting/labels/__init__.py +1 -0
- tests/plotting/labels/test_chemistry.py +243 -0
- tests/plotting/labels/test_composition.py +345 -0
- tests/plotting/labels/test_datetime.py +445 -0
- tests/plotting/labels/test_elemental_abundance.py +366 -0
- tests/plotting/labels/test_init.py +66 -0
- tests/plotting/labels/test_labels_base.py +347 -0
- tests/plotting/labels/test_special.py +550 -0
- tests/plotting/test_agg_plot.py +602 -0
- tests/plotting/test_base.py +752 -0
- tests/plotting/test_fixtures_utilities.py +775 -0
- tests/plotting/test_histograms.py +546 -0
- tests/plotting/test_integration.py +675 -0
- tests/plotting/test_orbits.py +435 -0
- tests/plotting/test_performance.py +708 -0
- tests/plotting/test_scatter.py +752 -0
- tests/plotting/test_select_data_from_figure.py +1209 -0
- tests/plotting/test_spiral.py +573 -0
- tests/plotting/test_tools.py +607 -0
- tests/plotting/test_visual_validation.py +465 -0
- tests/solar_activity/__init__.py +1 -0
- tests/solar_activity/lisird/__init__.py +1 -0
- tests/solar_activity/lisird/test_extrema_calculator.py +593 -0
- tests/solar_activity/lisird/test_lisird_id.py +187 -0
- tests/solar_activity/sunspot_number/__init__.py +1 -0
- tests/solar_activity/sunspot_number/test_init.py +399 -0
- tests/solar_activity/sunspot_number/test_sidc.py +465 -0
- tests/solar_activity/sunspot_number/test_sidc_id.py +223 -0
- tests/solar_activity/sunspot_number/test_sidc_loader.py +275 -0
- tests/solar_activity/sunspot_number/test_ssn_extrema.py +406 -0
- tests/solar_activity/test_base.py +656 -0
- tests/solar_activity/test_init.py +396 -0
- tests/solar_activity/test_plots.py +371 -0
- tests/test_circular_imports.py +408 -0
- tests/test_issue_titles.py +25 -0
- tests/test_statusline.py +298 -0
- solarwindpy-0.0.1.dev0.dist-info/METADATA +0 -14
- solarwindpy-0.0.1.dev0.dist-info/RECORD +0 -4
- solarwindpy-0.0.1.dev0.dist-info/top_level.txt +0 -1
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
# Phase 1: Core Infrastructure
|
|
2
|
+
|
|
3
|
+
## Phase Metadata
|
|
4
|
+
- **Phase**: 1/5
|
|
5
|
+
- **Estimated Duration**: 6-8 hours
|
|
6
|
+
- **Dependencies**: None
|
|
7
|
+
- **Status**: Not Started
|
|
8
|
+
|
|
9
|
+
## 🎯 Phase Objective
|
|
10
|
+
Establish the foundational infrastructure for the enhanced hook system, including agent coordination, configuration management, and core hook architecture. This phase creates the backbone that all subsequent phases will build upon.
|
|
11
|
+
|
|
12
|
+
## 🧠 Phase Context
|
|
13
|
+
The current SolarWindPy development environment has basic git hooks and manual validation processes. This phase transforms that into an intelligent, agent-integrated system that maintains scientific rigor while automating routine tasks. The infrastructure must support the existing agent ecosystem while providing extensibility for future enhancements.
|
|
14
|
+
|
|
15
|
+
## 📋 Implementation Tasks
|
|
16
|
+
|
|
17
|
+
### Task Group 1: Enhanced Hook Architecture
|
|
18
|
+
- [ ] **Create Hook Manager System** (Est: 90 min) - Central coordination system for all hooks
|
|
19
|
+
- Commit: `<checksum>`
|
|
20
|
+
- Status: Pending
|
|
21
|
+
- Files: `.claude/hooks/hook_manager.py`
|
|
22
|
+
- Notes: Implements HookManager class with agent integration, error handling, and performance monitoring
|
|
23
|
+
|
|
24
|
+
- [ ] **Implement Agent Integration Interface** (Est: 60 min) - Standardized interface for agent communication
|
|
25
|
+
- Commit: `<checksum>`
|
|
26
|
+
- Status: Pending
|
|
27
|
+
- Files: `.claude/hooks/agent_interface.py`
|
|
28
|
+
- Notes: AgentInterface class with async communication, timeout handling, and result validation
|
|
29
|
+
|
|
30
|
+
- [ ] **Create Configuration Management System** (Est: 45 min) - Centralized configuration for hooks and agents
|
|
31
|
+
- Commit: `<checksum>`
|
|
32
|
+
- Status: Pending
|
|
33
|
+
- Files: `.claude/config/hook_config.yaml`, `.claude/hooks/config_manager.py`
|
|
34
|
+
- Notes: YAML-based configuration with validation, environment-specific overrides
|
|
35
|
+
|
|
36
|
+
### Task Group 2: Core Hook Implementation
|
|
37
|
+
- [ ] **Enhanced Pre-commit Hook** (Est: 75 min) - Intelligent pre-commit validation with agent coordination
|
|
38
|
+
- Commit: `<checksum>`
|
|
39
|
+
- Status: Pending
|
|
40
|
+
- Files: `.claude/hooks/pre-commit`, `.claude/hooks/pre_commit_handler.py`
|
|
41
|
+
- Notes: Physics validation, code quality, test selection, and agent orchestration
|
|
42
|
+
|
|
43
|
+
- [ ] **Advanced Pre-push Hook** (Est: 60 min) - Comprehensive validation before remote push
|
|
44
|
+
- Commit: `<checksum>`
|
|
45
|
+
- Status: Pending
|
|
46
|
+
- Files: `.claude/hooks/pre-push`, `.claude/hooks/pre_push_handler.py`
|
|
47
|
+
- Notes: Full test suite, physics validation, performance benchmarks
|
|
48
|
+
|
|
49
|
+
- [ ] **Post-commit Analytics Hook** (Est: 45 min) - Data collection and metrics tracking
|
|
50
|
+
- Commit: `<checksum>`
|
|
51
|
+
- Status: Pending
|
|
52
|
+
- Files: `.claude/hooks/post-commit`, `.claude/hooks/post_commit_handler.py`
|
|
53
|
+
- Notes: Performance metrics, code complexity analysis, change impact assessment
|
|
54
|
+
|
|
55
|
+
### Task Group 3: Agent Coordination Framework
|
|
56
|
+
- [ ] **Agent Registry System** (Est: 30 min) - Dynamic agent discovery and management
|
|
57
|
+
- Commit: `<checksum>`
|
|
58
|
+
- Status: Pending
|
|
59
|
+
- Files: `.claude/hooks/agent_registry.py`
|
|
60
|
+
- Notes: AgentRegistry class with dynamic loading, capability mapping, and health monitoring
|
|
61
|
+
|
|
62
|
+
- [ ] **Task Routing Engine** (Est: 45 min) - Intelligent task routing to appropriate agents
|
|
63
|
+
- Commit: `<checksum>`
|
|
64
|
+
- Status: Pending
|
|
65
|
+
- Files: `.claude/hooks/task_router.py`
|
|
66
|
+
- Notes: Rule-based routing, load balancing, and fallback mechanisms
|
|
67
|
+
|
|
68
|
+
- [ ] **Agent Communication Protocol** (Est: 30 min) - Standardized communication patterns
|
|
69
|
+
- Commit: `<checksum>`
|
|
70
|
+
- Status: Pending
|
|
71
|
+
- Files: `.claude/hooks/agent_protocol.py`
|
|
72
|
+
- Notes: Message formats, error handling, and timeout management
|
|
73
|
+
|
|
74
|
+
### Task Group 4: Error Handling and Logging
|
|
75
|
+
- [ ] **Comprehensive Error Handling** (Est: 45 min) - Robust error handling across the hook system
|
|
76
|
+
- Commit: `<checksum>`
|
|
77
|
+
- Status: Pending
|
|
78
|
+
- Files: `.claude/hooks/error_handler.py`
|
|
79
|
+
- Notes: Error classification, recovery strategies, and user-friendly error messages
|
|
80
|
+
|
|
81
|
+
- [ ] **Advanced Logging System** (Est: 30 min) - Detailed logging for debugging and monitoring
|
|
82
|
+
- Commit: `<checksum>`
|
|
83
|
+
- Status: Pending
|
|
84
|
+
- Files: `.claude/hooks/logger.py`
|
|
85
|
+
- Notes: Structured logging, log rotation, and performance tracking
|
|
86
|
+
|
|
87
|
+
- [ ] **Fallback Mechanisms** (Est: 30 min) - Graceful degradation when components fail
|
|
88
|
+
- Commit: `<checksum>`
|
|
89
|
+
- Status: Pending
|
|
90
|
+
- Files: `.claude/hooks/fallback_handler.py`
|
|
91
|
+
- Notes: Fallback to existing hooks, partial validation modes, and user notifications
|
|
92
|
+
|
|
93
|
+
### Task Group 5: Installation and Migration
|
|
94
|
+
- [ ] **Hook Installation Script** (Est: 30 min) - Automated installation of enhanced hooks
|
|
95
|
+
- Commit: `<checksum>`
|
|
96
|
+
- Status: Pending
|
|
97
|
+
- Files: `.claude/scripts/install_hooks.py`
|
|
98
|
+
- Notes: Backup existing hooks, install new system, validate installation
|
|
99
|
+
|
|
100
|
+
- [ ] **Migration Utilities** (Est: 45 min) - Tools for migrating from existing hook system
|
|
101
|
+
- Commit: `<checksum>`
|
|
102
|
+
- Status: Pending
|
|
103
|
+
- Files: `.claude/scripts/migrate_hooks.py`
|
|
104
|
+
- Notes: Configuration migration, custom hook preservation, validation
|
|
105
|
+
|
|
106
|
+
- [ ] **Validation Scripts** (Est: 30 min) - Verify correct installation and functionality
|
|
107
|
+
- Commit: `<checksum>`
|
|
108
|
+
- Status: Pending
|
|
109
|
+
- Files: `.claude/scripts/validate_installation.py`
|
|
110
|
+
- Notes: End-to-end testing, agent connectivity, performance validation
|
|
111
|
+
|
|
112
|
+
## ✅ Phase Acceptance Criteria
|
|
113
|
+
- [ ] Hook Manager system operational with agent integration
|
|
114
|
+
- [ ] All core hooks (pre-commit, pre-push, post-commit) enhanced and functional
|
|
115
|
+
- [ ] Agent coordination framework fully implemented
|
|
116
|
+
- [ ] Configuration management system deployed
|
|
117
|
+
- [ ] Error handling and logging systems operational
|
|
118
|
+
- [ ] Installation and migration scripts tested
|
|
119
|
+
- [ ] All existing functionality preserved
|
|
120
|
+
- [ ] Performance baseline established
|
|
121
|
+
- [ ] Phase tests pass with >95% coverage
|
|
122
|
+
- [ ] Agent integration validated with existing agents
|
|
123
|
+
- [ ] Documentation for core infrastructure complete
|
|
124
|
+
|
|
125
|
+
## 🧪 Phase Testing Strategy
|
|
126
|
+
|
|
127
|
+
### Unit Testing
|
|
128
|
+
- **Hook Components**: Individual hook functionality and error handling
|
|
129
|
+
- **Agent Interface**: Communication protocols and timeout handling
|
|
130
|
+
- **Configuration**: YAML parsing, validation, and environment handling
|
|
131
|
+
- **Error Handling**: Exception handling and recovery mechanisms
|
|
132
|
+
|
|
133
|
+
### Integration Testing
|
|
134
|
+
- **Agent Coordination**: Full agent integration workflow
|
|
135
|
+
- **Hook Orchestration**: Complete hook execution pipeline
|
|
136
|
+
- **Configuration Integration**: End-to-end configuration management
|
|
137
|
+
- **Migration Testing**: Existing system to new system migration
|
|
138
|
+
|
|
139
|
+
### Performance Testing
|
|
140
|
+
- **Hook Execution Speed**: Baseline measurement and optimization
|
|
141
|
+
- **Agent Communication**: Latency and throughput testing
|
|
142
|
+
- **Memory Usage**: Resource consumption monitoring
|
|
143
|
+
- **Concurrent Operations**: Multi-agent coordination performance
|
|
144
|
+
|
|
145
|
+
### Scientific Validation
|
|
146
|
+
- **Physics Code Preservation**: All existing physics validation intact
|
|
147
|
+
- **Data Structure Handling**: MultiIndex DataFrame operations preserved
|
|
148
|
+
- **Scientific Workflow**: End-to-end research workflow validation
|
|
149
|
+
|
|
150
|
+
## 🔧 Phase Technical Requirements
|
|
151
|
+
|
|
152
|
+
### Dependencies
|
|
153
|
+
- **Python 3.9+**: Core implementation language
|
|
154
|
+
- **PyYAML**: Configuration file handling
|
|
155
|
+
- **asyncio**: Asynchronous agent communication
|
|
156
|
+
- **logging**: Enhanced logging capabilities
|
|
157
|
+
- **pathlib**: Path handling and file operations
|
|
158
|
+
- **subprocess**: Git hook execution
|
|
159
|
+
- **json**: Data serialization for agent communication
|
|
160
|
+
|
|
161
|
+
### Environment
|
|
162
|
+
- **Git Repository**: Valid git repository with existing hooks
|
|
163
|
+
- **Python Environment**: Activated conda environment
|
|
164
|
+
- **File Permissions**: Write access to .claude/ directory
|
|
165
|
+
- **Agent Access**: Access to existing agent system
|
|
166
|
+
|
|
167
|
+
### Constraints
|
|
168
|
+
- **Backward Compatibility**: Existing workflows must continue functioning
|
|
169
|
+
- **Performance**: Hook execution time must remain reasonable
|
|
170
|
+
- **Scientific Integrity**: No compromise on physics validation accuracy
|
|
171
|
+
- **Error Recovery**: System must gracefully handle agent failures
|
|
172
|
+
|
|
173
|
+
## 📂 Phase Affected Areas
|
|
174
|
+
|
|
175
|
+
### New Files Created
|
|
176
|
+
- `.claude/hooks/hook_manager.py` - Central hook coordination
|
|
177
|
+
- `.claude/hooks/agent_interface.py` - Agent communication interface
|
|
178
|
+
- `.claude/hooks/config_manager.py` - Configuration management
|
|
179
|
+
- `.claude/hooks/pre_commit_handler.py` - Enhanced pre-commit logic
|
|
180
|
+
- `.claude/hooks/pre_push_handler.py` - Enhanced pre-push logic
|
|
181
|
+
- `.claude/hooks/post_commit_handler.py` - Post-commit analytics
|
|
182
|
+
- `.claude/hooks/agent_registry.py` - Agent discovery and management
|
|
183
|
+
- `.claude/hooks/task_router.py` - Intelligent task routing
|
|
184
|
+
- `.claude/hooks/agent_protocol.py` - Communication protocols
|
|
185
|
+
- `.claude/hooks/error_handler.py` - Error handling system
|
|
186
|
+
- `.claude/hooks/logger.py` - Logging infrastructure
|
|
187
|
+
- `.claude/hooks/fallback_handler.py` - Fallback mechanisms
|
|
188
|
+
- `.claude/config/hook_config.yaml` - Main configuration file
|
|
189
|
+
- `.claude/scripts/install_hooks.py` - Installation automation
|
|
190
|
+
- `.claude/scripts/migrate_hooks.py` - Migration utilities
|
|
191
|
+
- `.claude/scripts/validate_installation.py` - Installation validation
|
|
192
|
+
|
|
193
|
+
### Modified Files
|
|
194
|
+
- `.claude/hooks/pre-commit` - Enhanced with new handler
|
|
195
|
+
- `.claude/hooks/pre-push` - Enhanced with new handler
|
|
196
|
+
- `.claude/hooks/post-commit` - Enhanced with analytics
|
|
197
|
+
- `.gitignore` - Add hook system logs and temporary files
|
|
198
|
+
|
|
199
|
+
### Preserved Files
|
|
200
|
+
- All existing physics validation scripts
|
|
201
|
+
- Current test suite structure
|
|
202
|
+
- Existing agent implementations
|
|
203
|
+
- Current development workflow files
|
|
204
|
+
|
|
205
|
+
## 📊 Phase Progress Tracking
|
|
206
|
+
|
|
207
|
+
### Current Status
|
|
208
|
+
- **Tasks Completed**: 0/15
|
|
209
|
+
- **Time Invested**: 0h of 8h estimated
|
|
210
|
+
- **Completion Percentage**: 0%
|
|
211
|
+
- **Last Updated**: 2025-01-19
|
|
212
|
+
|
|
213
|
+
### Blockers & Issues
|
|
214
|
+
*No current blockers - Phase not yet started*
|
|
215
|
+
|
|
216
|
+
### Next Actions
|
|
217
|
+
1. **Immediate**: Begin with Hook Manager System implementation
|
|
218
|
+
2. **Short-term**: Establish agent integration interface
|
|
219
|
+
3. **Medium-term**: Implement core hook enhancements
|
|
220
|
+
4. **Milestone**: Complete infrastructure foundation
|
|
221
|
+
|
|
222
|
+
## 💬 Phase Implementation Notes
|
|
223
|
+
|
|
224
|
+
### Implementation Decisions
|
|
225
|
+
*Key architectural and design decisions will be documented here as implementation progresses*
|
|
226
|
+
|
|
227
|
+
### Lessons Learned
|
|
228
|
+
*Implementation insights and optimization opportunities will be captured here*
|
|
229
|
+
|
|
230
|
+
### Phase Dependencies Resolution
|
|
231
|
+
*This is the foundation phase - no dependencies to resolve*
|
|
232
|
+
*Provides: Core infrastructure for all subsequent phases*
|
|
233
|
+
|
|
234
|
+
### Code Structure Examples
|
|
235
|
+
|
|
236
|
+
#### Hook Manager Architecture
|
|
237
|
+
```python
|
|
238
|
+
class HookManager:
|
|
239
|
+
"""Central coordination system for all git hooks."""
|
|
240
|
+
|
|
241
|
+
def __init__(self, config_path: Path):
|
|
242
|
+
self.config = ConfigManager(config_path)
|
|
243
|
+
self.agent_registry = AgentRegistry()
|
|
244
|
+
self.task_router = TaskRouter(self.agent_registry)
|
|
245
|
+
self.error_handler = ErrorHandler()
|
|
246
|
+
self.logger = Logger()
|
|
247
|
+
|
|
248
|
+
async def execute_hook(self, hook_type: str, context: dict) -> bool:
|
|
249
|
+
"""Execute a git hook with agent coordination."""
|
|
250
|
+
try:
|
|
251
|
+
tasks = self.task_router.route_tasks(hook_type, context)
|
|
252
|
+
results = await self._execute_tasks(tasks)
|
|
253
|
+
return self._validate_results(results)
|
|
254
|
+
except Exception as e:
|
|
255
|
+
return self.error_handler.handle_hook_error(e, hook_type)
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
#### Agent Integration Interface
|
|
259
|
+
```python
|
|
260
|
+
class AgentInterface:
|
|
261
|
+
"""Standardized interface for agent communication."""
|
|
262
|
+
|
|
263
|
+
async def invoke_agent(self, agent_name: str, task: dict, timeout: int = 30) -> dict:
|
|
264
|
+
"""Invoke an agent with timeout and error handling."""
|
|
265
|
+
try:
|
|
266
|
+
agent = self.agent_registry.get_agent(agent_name)
|
|
267
|
+
result = await asyncio.wait_for(
|
|
268
|
+
agent.execute_task(task),
|
|
269
|
+
timeout=timeout
|
|
270
|
+
)
|
|
271
|
+
return self._validate_agent_result(result)
|
|
272
|
+
except asyncio.TimeoutError:
|
|
273
|
+
return self._handle_timeout(agent_name, task)
|
|
274
|
+
except Exception as e:
|
|
275
|
+
return self._handle_agent_error(agent_name, e)
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
#### Configuration Schema
|
|
279
|
+
```yaml
|
|
280
|
+
# .claude/config/hook_config.yaml
|
|
281
|
+
hook_system:
|
|
282
|
+
version: "1.0.0"
|
|
283
|
+
enabled: true
|
|
284
|
+
performance:
|
|
285
|
+
max_execution_time: 30
|
|
286
|
+
memory_limit: 500 # MB
|
|
287
|
+
|
|
288
|
+
agents:
|
|
289
|
+
physics_validator:
|
|
290
|
+
enabled: true
|
|
291
|
+
timeout: 15
|
|
292
|
+
critical: true # Hook fails if this agent fails
|
|
293
|
+
|
|
294
|
+
test_engineer:
|
|
295
|
+
enabled: true
|
|
296
|
+
timeout: 20
|
|
297
|
+
critical: false
|
|
298
|
+
|
|
299
|
+
hooks:
|
|
300
|
+
pre_commit:
|
|
301
|
+
enabled: true
|
|
302
|
+
agents: ["physics_validator", "test_engineer"]
|
|
303
|
+
fast_mode: true
|
|
304
|
+
|
|
305
|
+
pre_push:
|
|
306
|
+
enabled: true
|
|
307
|
+
agents: ["physics_validator", "test_engineer", "numerical_stability_guard"]
|
|
308
|
+
comprehensive: true
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
*Phase 1 of 5 - SolarWindPy Integrated Hook System Enhancement - Last Updated: 2025-01-19*
|
|
313
|
+
*See [0-Overview.md](./0-Overview.md) for complete plan context and cross-phase coordination.*
|
|
@@ -0,0 +1,385 @@
|
|
|
1
|
+
# Phase 2: Intelligent Testing
|
|
2
|
+
|
|
3
|
+
## Phase Metadata
|
|
4
|
+
- **Phase**: 2/5
|
|
5
|
+
- **Estimated Duration**: 4-6 hours
|
|
6
|
+
- **Dependencies**: Phase 1 (Core Infrastructure)
|
|
7
|
+
- **Status**: Not Started
|
|
8
|
+
|
|
9
|
+
## 🎯 Phase Objective
|
|
10
|
+
Implement intelligent test selection and execution system that dramatically reduces test execution time while maintaining comprehensive validation. The system analyzes code changes to determine which tests are relevant, integrates with the TestEngineer agent, and provides smart caching mechanisms.
|
|
11
|
+
|
|
12
|
+
## 🧠 Phase Context
|
|
13
|
+
Currently, SolarWindPy runs the complete test suite for every commit, which can be time-consuming for large codebases. This phase creates an intelligent system that:
|
|
14
|
+
- Analyzes code changes to identify affected modules
|
|
15
|
+
- Selects relevant tests based on dependency analysis
|
|
16
|
+
- Integrates with TestEngineer agent for test strategy
|
|
17
|
+
- Implements smart caching for test results
|
|
18
|
+
- Maintains scientific rigor while improving efficiency
|
|
19
|
+
|
|
20
|
+
Target: 60-80% reduction in test execution time without compromising validation quality.
|
|
21
|
+
|
|
22
|
+
## 📋 Implementation Tasks
|
|
23
|
+
|
|
24
|
+
### Task Group 1: Change Analysis Engine
|
|
25
|
+
- [ ] **Code Change Analyzer** (Est: 60 min) - Analyze git changes to identify affected modules
|
|
26
|
+
- Commit: `<checksum>`
|
|
27
|
+
- Status: Pending
|
|
28
|
+
- Files: `.claude/hooks/change_analyzer.py`
|
|
29
|
+
- Notes: Git diff parsing, module dependency mapping, change impact analysis
|
|
30
|
+
|
|
31
|
+
- [ ] **Dependency Graph Builder** (Est: 45 min) - Build and maintain module dependency graph
|
|
32
|
+
- Commit: `<checksum>`
|
|
33
|
+
- Status: Pending
|
|
34
|
+
- Files: `.claude/hooks/dependency_graph.py`
|
|
35
|
+
- Notes: AST parsing, import analysis, circular dependency detection
|
|
36
|
+
|
|
37
|
+
- [ ] **Impact Assessment Engine** (Est: 30 min) - Determine test scope based on code changes
|
|
38
|
+
- Commit: `<checksum>`
|
|
39
|
+
- Status: Pending
|
|
40
|
+
- Files: `.claude/hooks/impact_assessor.py`
|
|
41
|
+
- Notes: Change propagation analysis, test relevance scoring, risk assessment
|
|
42
|
+
|
|
43
|
+
### Task Group 2: Test Selection Intelligence
|
|
44
|
+
- [ ] **Test Selector Engine** (Est: 75 min) - Intelligent test selection based on change analysis
|
|
45
|
+
- Commit: `<checksum>`
|
|
46
|
+
- Status: Pending
|
|
47
|
+
- Files: `.claude/hooks/test_selector.py`
|
|
48
|
+
- Notes: Test categorization, relevance algorithms, physics test prioritization
|
|
49
|
+
|
|
50
|
+
- [ ] **TestEngineer Integration** (Est: 45 min) - Seamless integration with TestEngineer agent
|
|
51
|
+
- Commit: `<checksum>`
|
|
52
|
+
- Status: Pending
|
|
53
|
+
- Files: `.claude/hooks/test_engineer_integration.py`
|
|
54
|
+
- Notes: Agent communication, test strategy consultation, validation protocols
|
|
55
|
+
|
|
56
|
+
- [ ] **Physics Test Classifier** (Est: 30 min) - Special handling for physics validation tests
|
|
57
|
+
- Commit: `<checksum>`
|
|
58
|
+
- Status: Pending
|
|
59
|
+
- Files: `.claude/hooks/physics_test_classifier.py`
|
|
60
|
+
- Notes: Physics test identification, critical test marking, validation requirements
|
|
61
|
+
|
|
62
|
+
### Task Group 3: Smart Caching System
|
|
63
|
+
- [ ] **Test Result Cache** (Est: 45 min) - Cache test results with intelligent invalidation
|
|
64
|
+
- Commit: `<checksum>`
|
|
65
|
+
- Status: Pending
|
|
66
|
+
- Files: `.claude/hooks/test_cache.py`
|
|
67
|
+
- Notes: Result caching, cache invalidation, cache optimization
|
|
68
|
+
|
|
69
|
+
- [ ] **Cache Invalidation Logic** (Est: 30 min) - Smart cache invalidation based on code changes
|
|
70
|
+
- Commit: `<checksum>`
|
|
71
|
+
- Status: Pending
|
|
72
|
+
- Files: `.claude/hooks/cache_invalidator.py`
|
|
73
|
+
- Notes: Dependency-based invalidation, time-based expiry, manual cache clearing
|
|
74
|
+
|
|
75
|
+
- [ ] **Performance Metrics Tracking** (Est: 30 min) - Track test execution performance and cache efficiency
|
|
76
|
+
- Commit: `<checksum>`
|
|
77
|
+
- Status: Pending
|
|
78
|
+
- Files: `.claude/hooks/test_metrics.py`
|
|
79
|
+
- Notes: Execution time tracking, cache hit rates, efficiency analytics
|
|
80
|
+
|
|
81
|
+
### Task Group 4: Test Execution Optimization
|
|
82
|
+
- [ ] **Parallel Test Executor** (Est: 45 min) - Optimize test execution with intelligent parallelization
|
|
83
|
+
- Commit: `<checksum>`
|
|
84
|
+
- Status: Pending
|
|
85
|
+
- Files: `.claude/hooks/parallel_executor.py`
|
|
86
|
+
- Notes: Test grouping, resource management, output coordination
|
|
87
|
+
|
|
88
|
+
- [ ] **Test Prioritization Engine** (Est: 30 min) - Prioritize tests based on risk and importance
|
|
89
|
+
- Commit: `<checksum>`
|
|
90
|
+
- Status: Pending
|
|
91
|
+
- Files: `.claude/hooks/test_prioritizer.py`
|
|
92
|
+
- Notes: Risk-based prioritization, physics test priority, failure history analysis
|
|
93
|
+
|
|
94
|
+
- [ ] **Resource Management** (Est: 30 min) - Optimize resource usage during test execution
|
|
95
|
+
- Commit: `<checksum>`
|
|
96
|
+
- Status: Pending
|
|
97
|
+
- Files: `.claude/hooks/test_resource_manager.py`
|
|
98
|
+
- Notes: Memory management, CPU utilization, I/O optimization
|
|
99
|
+
|
|
100
|
+
### Task Group 5: Integration and Validation
|
|
101
|
+
- [ ] **Hook Integration** (Est: 45 min) - Integrate intelligent testing with existing hook system
|
|
102
|
+
- Commit: `<checksum>`
|
|
103
|
+
- Status: Pending
|
|
104
|
+
- Files: `.claude/hooks/intelligent_test_hook.py`
|
|
105
|
+
- Notes: Hook system integration, configuration management, error handling
|
|
106
|
+
|
|
107
|
+
- [ ] **Performance Validation** (Est: 30 min) - Validate performance improvements and accuracy
|
|
108
|
+
- Commit: `<checksum>`
|
|
109
|
+
- Status: Pending
|
|
110
|
+
- Files: `.claude/scripts/validate_test_intelligence.py`
|
|
111
|
+
- Notes: Performance benchmarking, accuracy validation, regression testing
|
|
112
|
+
|
|
113
|
+
- [ ] **Fallback Mechanisms** (Est: 30 min) - Fallback to full test suite when needed
|
|
114
|
+
- Commit: `<checksum>`
|
|
115
|
+
- Status: Pending
|
|
116
|
+
- Files: `.claude/hooks/test_fallback.py`
|
|
117
|
+
- Notes: Fallback triggers, full test execution, safety mechanisms
|
|
118
|
+
|
|
119
|
+
## ✅ Phase Acceptance Criteria
|
|
120
|
+
- [ ] Change analysis engine accurately identifies affected modules
|
|
121
|
+
- [ ] Test selection reduces execution time by 60-80%
|
|
122
|
+
- [ ] All physics validation tests properly classified and prioritized
|
|
123
|
+
- [ ] TestEngineer agent integration seamless and functional
|
|
124
|
+
- [ ] Smart caching system operational with >90% cache hit rate
|
|
125
|
+
- [ ] Parallel test execution optimized for available resources
|
|
126
|
+
- [ ] Performance metrics tracking and reporting functional
|
|
127
|
+
- [ ] Fallback mechanisms tested and reliable
|
|
128
|
+
- [ ] Integration with Phase 1 infrastructure complete
|
|
129
|
+
- [ ] No loss of test coverage or validation accuracy
|
|
130
|
+
- [ ] Phase tests pass with >95% coverage
|
|
131
|
+
- [ ] Scientific workflow validation maintained
|
|
132
|
+
|
|
133
|
+
## 🧪 Phase Testing Strategy
|
|
134
|
+
|
|
135
|
+
### Unit Testing
|
|
136
|
+
- **Change Analysis**: Git diff parsing and module identification
|
|
137
|
+
- **Dependency Analysis**: Module dependency graph accuracy
|
|
138
|
+
- **Test Selection**: Test relevance algorithms and physics prioritization
|
|
139
|
+
- **Caching Logic**: Cache invalidation and result accuracy
|
|
140
|
+
- **Parallel Execution**: Resource management and output coordination
|
|
141
|
+
|
|
142
|
+
### Integration Testing
|
|
143
|
+
- **End-to-End Testing**: Complete intelligent test selection workflow
|
|
144
|
+
- **Agent Integration**: TestEngineer agent communication and coordination
|
|
145
|
+
- **Hook Integration**: Integration with Phase 1 hook infrastructure
|
|
146
|
+
- **Performance Testing**: Test execution speed and resource usage
|
|
147
|
+
|
|
148
|
+
### Scientific Validation
|
|
149
|
+
- **Physics Test Coverage**: Ensure all critical physics tests are included
|
|
150
|
+
- **Validation Accuracy**: No reduction in scientific validation quality
|
|
151
|
+
- **Research Workflow**: End-to-end research workflow with intelligent testing
|
|
152
|
+
- **Reproducibility**: Maintain reproducible test results
|
|
153
|
+
|
|
154
|
+
### Performance Validation
|
|
155
|
+
- **Speed Improvement**: Measure 60-80% reduction in test time
|
|
156
|
+
- **Resource Usage**: Optimize memory and CPU utilization
|
|
157
|
+
- **Cache Efficiency**: >90% cache hit rate for unchanged code
|
|
158
|
+
- **Parallel Efficiency**: Optimal use of available CPU cores
|
|
159
|
+
|
|
160
|
+
## 🔧 Phase Technical Requirements
|
|
161
|
+
|
|
162
|
+
### Dependencies
|
|
163
|
+
- **Phase 1**: Core infrastructure and agent integration
|
|
164
|
+
- **ast**: Python AST parsing for dependency analysis
|
|
165
|
+
- **gitpython**: Git repository analysis and diff parsing
|
|
166
|
+
- **pytest**: Test framework integration
|
|
167
|
+
- **concurrent.futures**: Parallel test execution
|
|
168
|
+
- **hashlib**: Content hashing for caching
|
|
169
|
+
- **pickle**: Result serialization for caching
|
|
170
|
+
- **psutil**: System resource monitoring
|
|
171
|
+
|
|
172
|
+
### Environment
|
|
173
|
+
- **Git Repository**: Active git repository with commit history
|
|
174
|
+
- **Test Suite**: Existing pytest-based test suite
|
|
175
|
+
- **Agent Access**: TestEngineer agent availability
|
|
176
|
+
- **File System**: Read/write access for cache storage
|
|
177
|
+
- **System Resources**: Multiple CPU cores for parallel execution
|
|
178
|
+
|
|
179
|
+
### Constraints
|
|
180
|
+
- **Scientific Accuracy**: No compromise on physics validation quality
|
|
181
|
+
- **Test Coverage**: Maintain existing test coverage requirements
|
|
182
|
+
- **Reproducibility**: Ensure reproducible test results
|
|
183
|
+
- **Resource Limits**: Respect system resource constraints
|
|
184
|
+
- **Backward Compatibility**: Support existing test execution patterns
|
|
185
|
+
|
|
186
|
+
## 📂 Phase Affected Areas
|
|
187
|
+
|
|
188
|
+
### New Files Created
|
|
189
|
+
- `.claude/hooks/change_analyzer.py` - Code change analysis
|
|
190
|
+
- `.claude/hooks/dependency_graph.py` - Module dependency mapping
|
|
191
|
+
- `.claude/hooks/impact_assessor.py` - Change impact assessment
|
|
192
|
+
- `.claude/hooks/test_selector.py` - Intelligent test selection
|
|
193
|
+
- `.claude/hooks/test_engineer_integration.py` - Agent integration
|
|
194
|
+
- `.claude/hooks/physics_test_classifier.py` - Physics test handling
|
|
195
|
+
- `.claude/hooks/test_cache.py` - Test result caching
|
|
196
|
+
- `.claude/hooks/cache_invalidator.py` - Cache invalidation logic
|
|
197
|
+
- `.claude/hooks/test_metrics.py` - Performance tracking
|
|
198
|
+
- `.claude/hooks/parallel_executor.py` - Parallel test execution
|
|
199
|
+
- `.claude/hooks/test_prioritizer.py` - Test prioritization
|
|
200
|
+
- `.claude/hooks/test_resource_manager.py` - Resource management
|
|
201
|
+
- `.claude/hooks/intelligent_test_hook.py` - Hook integration
|
|
202
|
+
- `.claude/scripts/validate_test_intelligence.py` - Performance validation
|
|
203
|
+
- `.claude/hooks/test_fallback.py` - Fallback mechanisms
|
|
204
|
+
|
|
205
|
+
### Enhanced Files
|
|
206
|
+
- `.claude/config/hook_config.yaml` - Add intelligent testing configuration
|
|
207
|
+
- `.claude/hooks/hook_manager.py` - Integrate intelligent testing
|
|
208
|
+
- `.claude/hooks/pre_commit_handler.py` - Add smart test selection
|
|
209
|
+
- `.claude/hooks/pre_push_handler.py` - Add comprehensive test validation
|
|
210
|
+
|
|
211
|
+
### Cache and Data Files
|
|
212
|
+
- `.claude/cache/` - Test result cache directory
|
|
213
|
+
- `.claude/cache/dependency_graph.json` - Dependency graph cache
|
|
214
|
+
- `.claude/cache/test_results/` - Individual test result cache
|
|
215
|
+
- `.claude/metrics/test_performance.json` - Performance metrics
|
|
216
|
+
|
|
217
|
+
## 📊 Phase Progress Tracking
|
|
218
|
+
|
|
219
|
+
### Current Status
|
|
220
|
+
- **Tasks Completed**: 0/15
|
|
221
|
+
- **Time Invested**: 0h of 5h estimated
|
|
222
|
+
- **Completion Percentage**: 0%
|
|
223
|
+
- **Last Updated**: 2025-01-19
|
|
224
|
+
|
|
225
|
+
### Performance Targets
|
|
226
|
+
- **Test Time Reduction**: 60-80% (target)
|
|
227
|
+
- **Cache Hit Rate**: >90% (target)
|
|
228
|
+
- **Resource Utilization**: Optimal CPU/memory usage
|
|
229
|
+
- **Accuracy Maintenance**: 100% validation quality preservation
|
|
230
|
+
|
|
231
|
+
### Blockers & Issues
|
|
232
|
+
- **Dependency**: Requires Phase 1 completion
|
|
233
|
+
- **Agent Access**: Needs TestEngineer agent integration
|
|
234
|
+
|
|
235
|
+
### Next Actions
|
|
236
|
+
1. **Prerequisites**: Complete Phase 1 infrastructure
|
|
237
|
+
2. **Immediate**: Begin change analysis engine implementation
|
|
238
|
+
3. **Short-term**: Develop test selection algorithms
|
|
239
|
+
4. **Medium-term**: Implement caching and parallel execution
|
|
240
|
+
5. **Validation**: Performance testing and optimization
|
|
241
|
+
|
|
242
|
+
## 💬 Phase Implementation Notes
|
|
243
|
+
|
|
244
|
+
### Implementation Decisions
|
|
245
|
+
*Architectural decisions for intelligent testing will be documented here*
|
|
246
|
+
|
|
247
|
+
### Performance Optimization Strategies
|
|
248
|
+
- **Incremental Analysis**: Only analyze changed files
|
|
249
|
+
- **Dependency Caching**: Cache module dependency graphs
|
|
250
|
+
- **Result Memoization**: Cache test results with smart invalidation
|
|
251
|
+
- **Parallel Execution**: Optimize test execution across CPU cores
|
|
252
|
+
- **Resource Pooling**: Efficient resource management
|
|
253
|
+
|
|
254
|
+
### Scientific Validation Preservation
|
|
255
|
+
- **Physics Test Priority**: Always run critical physics validation tests
|
|
256
|
+
- **Validation Completeness**: Ensure no reduction in scientific rigor
|
|
257
|
+
- **Reproducible Results**: Maintain deterministic test outcomes
|
|
258
|
+
- **Research Workflow**: Support existing scientific computing patterns
|
|
259
|
+
|
|
260
|
+
### Code Structure Examples
|
|
261
|
+
|
|
262
|
+
#### Change Analysis Engine
|
|
263
|
+
```python
|
|
264
|
+
class ChangeAnalyzer:
|
|
265
|
+
"""Analyze git changes to identify affected modules."""
|
|
266
|
+
|
|
267
|
+
def __init__(self, repo_path: Path):
|
|
268
|
+
self.repo = git.Repo(repo_path)
|
|
269
|
+
self.dependency_graph = DependencyGraph()
|
|
270
|
+
|
|
271
|
+
def analyze_changes(self, commit_range: str = "HEAD~1..HEAD") -> Set[str]:
|
|
272
|
+
"""Analyze git changes and return affected modules."""
|
|
273
|
+
diff = self.repo.git.diff(commit_range, name_only=True)
|
|
274
|
+
changed_files = diff.strip().split('\n') if diff else []
|
|
275
|
+
|
|
276
|
+
affected_modules = set()
|
|
277
|
+
for file_path in changed_files:
|
|
278
|
+
if file_path.endswith('.py'):
|
|
279
|
+
module = self._file_to_module(file_path)
|
|
280
|
+
affected_modules.add(module)
|
|
281
|
+
# Add dependent modules
|
|
282
|
+
affected_modules.update(
|
|
283
|
+
self.dependency_graph.get_dependents(module)
|
|
284
|
+
)
|
|
285
|
+
|
|
286
|
+
return affected_modules
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
#### Test Selection Engine
|
|
290
|
+
```python
|
|
291
|
+
class TestSelector:
|
|
292
|
+
"""Intelligent test selection based on code changes."""
|
|
293
|
+
|
|
294
|
+
def __init__(self, config: dict):
|
|
295
|
+
self.config = config
|
|
296
|
+
self.physics_classifier = PhysicsTestClassifier()
|
|
297
|
+
self.test_cache = TestCache()
|
|
298
|
+
|
|
299
|
+
async def select_tests(self, affected_modules: Set[str]) -> List[str]:
|
|
300
|
+
"""Select relevant tests based on affected modules."""
|
|
301
|
+
all_tests = self._discover_tests()
|
|
302
|
+
relevant_tests = set()
|
|
303
|
+
|
|
304
|
+
for test in all_tests:
|
|
305
|
+
# Always include physics validation tests
|
|
306
|
+
if self.physics_classifier.is_physics_test(test):
|
|
307
|
+
relevant_tests.add(test)
|
|
308
|
+
continue
|
|
309
|
+
|
|
310
|
+
# Check if test is affected by changes
|
|
311
|
+
test_modules = self._get_test_modules(test)
|
|
312
|
+
if affected_modules.intersection(test_modules):
|
|
313
|
+
relevant_tests.add(test)
|
|
314
|
+
|
|
315
|
+
# Consult TestEngineer agent for strategy
|
|
316
|
+
agent_recommendations = await self._consult_test_engineer(
|
|
317
|
+
affected_modules, list(relevant_tests)
|
|
318
|
+
)
|
|
319
|
+
|
|
320
|
+
return self._merge_recommendations(relevant_tests, agent_recommendations)
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
#### Smart Caching System
|
|
324
|
+
```python
|
|
325
|
+
class TestCache:
|
|
326
|
+
"""Smart caching system for test results."""
|
|
327
|
+
|
|
328
|
+
def __init__(self, cache_dir: Path):
|
|
329
|
+
self.cache_dir = cache_dir
|
|
330
|
+
self.cache_dir.mkdir(exist_ok=True)
|
|
331
|
+
|
|
332
|
+
def get_cached_result(self, test_id: str, content_hash: str) -> Optional[dict]:
|
|
333
|
+
"""Get cached test result if valid."""
|
|
334
|
+
cache_file = self.cache_dir / f"{test_id}.json"
|
|
335
|
+
if cache_file.exists():
|
|
336
|
+
with open(cache_file, 'r') as f:
|
|
337
|
+
cached_data = json.load(f)
|
|
338
|
+
|
|
339
|
+
if cached_data.get('content_hash') == content_hash:
|
|
340
|
+
if self._is_cache_valid(cached_data):
|
|
341
|
+
return cached_data['result']
|
|
342
|
+
|
|
343
|
+
return None
|
|
344
|
+
|
|
345
|
+
def cache_result(self, test_id: str, content_hash: str, result: dict):
|
|
346
|
+
"""Cache test result with metadata."""
|
|
347
|
+
cache_data = {
|
|
348
|
+
'test_id': test_id,
|
|
349
|
+
'content_hash': content_hash,
|
|
350
|
+
'timestamp': time.time(),
|
|
351
|
+
'result': result
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
cache_file = self.cache_dir / f"{test_id}.json"
|
|
355
|
+
with open(cache_file, 'w') as f:
|
|
356
|
+
json.dump(cache_data, f, indent=2)
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
#### Configuration Enhancement
|
|
360
|
+
```yaml
|
|
361
|
+
# Addition to .claude/config/hook_config.yaml
|
|
362
|
+
intelligent_testing:
|
|
363
|
+
enabled: true
|
|
364
|
+
cache_enabled: true
|
|
365
|
+
cache_ttl: 86400 # 24 hours
|
|
366
|
+
|
|
367
|
+
performance:
|
|
368
|
+
max_parallel_tests: 4
|
|
369
|
+
memory_limit_per_test: 128 # MB
|
|
370
|
+
timeout_per_test: 300 # seconds
|
|
371
|
+
|
|
372
|
+
selection:
|
|
373
|
+
min_test_reduction: 0.6 # 60% minimum reduction
|
|
374
|
+
physics_test_priority: true
|
|
375
|
+
fallback_threshold: 0.1 # Fall back if <10% tests selected
|
|
376
|
+
|
|
377
|
+
cache:
|
|
378
|
+
max_cache_size: 1024 # MB
|
|
379
|
+
cleanup_frequency: 7 # days
|
|
380
|
+
invalidation_strategy: "dependency"
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
---
|
|
384
|
+
*Phase 2 of 5 - SolarWindPy Integrated Hook System Enhancement - Last Updated: 2025-01-19*
|
|
385
|
+
*See [0-Overview.md](./0-Overview.md) for complete plan context and cross-phase coordination.*
|