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,117 @@
|
|
|
1
|
+
# Phase 3: Import Transformation
|
|
2
|
+
|
|
3
|
+
## Phase Tasks
|
|
4
|
+
- [ ] **Transform internal test module imports** (Est: 45 min) - Update imports from solarwindpy.tests to direct package imports
|
|
5
|
+
- Commit: `<checksum>`
|
|
6
|
+
- Status: Pending
|
|
7
|
+
- [ ] **Update test utility imports** (Est: 30 min) - Replace conftest imports with pytest fixtures
|
|
8
|
+
- Commit: `<checksum>`
|
|
9
|
+
- Status: Pending
|
|
10
|
+
- [ ] **Fix test data path references** (Est: 30 min) - Update paths from package location to root /tests/data/
|
|
11
|
+
- Commit: `<checksum>`
|
|
12
|
+
- Status: Pending
|
|
13
|
+
- [ ] **Validate import resolution** (Est: 15 min) - Verify all imports resolve correctly
|
|
14
|
+
- Commit: `<checksum>`
|
|
15
|
+
- Status: Pending
|
|
16
|
+
|
|
17
|
+
## Import Pattern Transformations
|
|
18
|
+
|
|
19
|
+
### Type 1: Internal Test Module Imports
|
|
20
|
+
**Before:**
|
|
21
|
+
```python
|
|
22
|
+
from solarwindpy.tests import test_base as base
|
|
23
|
+
```
|
|
24
|
+
**After:**
|
|
25
|
+
```python
|
|
26
|
+
from solarwindpy.core import base # Direct package import
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Type 2: Test Utility Imports
|
|
30
|
+
**Before:**
|
|
31
|
+
```python
|
|
32
|
+
from solarwindpy.tests.conftest import sample_plasma_data
|
|
33
|
+
```
|
|
34
|
+
**After:**
|
|
35
|
+
```python
|
|
36
|
+
import pytest
|
|
37
|
+
# Use @pytest.fixture in consolidated conftest.py
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Type 3: Test Data Path References
|
|
41
|
+
**Before:**
|
|
42
|
+
```python
|
|
43
|
+
data_path = "solarwindpy/tests/data/plasma.csv"
|
|
44
|
+
```
|
|
45
|
+
**After:**
|
|
46
|
+
```python
|
|
47
|
+
import os
|
|
48
|
+
data_path = os.path.join("tests", "data", "plasma.csv")
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Type 4: Relative Internal Imports
|
|
52
|
+
**Before:**
|
|
53
|
+
```python
|
|
54
|
+
from . import conftest
|
|
55
|
+
from ..test_base import BaseTestCase
|
|
56
|
+
```
|
|
57
|
+
**After:**
|
|
58
|
+
```python
|
|
59
|
+
import pytest
|
|
60
|
+
from solarwindpy.core.base import BaseClass # Direct imports
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Systematic Import Update Process
|
|
64
|
+
|
|
65
|
+
### Step 1: Identify Import Patterns
|
|
66
|
+
Scan all migrated test files for:
|
|
67
|
+
- `from solarwindpy.tests import`
|
|
68
|
+
- `from solarwindpy.tests.conftest import`
|
|
69
|
+
- Relative imports starting with `.`
|
|
70
|
+
- Hard-coded paths to `solarwindpy/tests/data/`
|
|
71
|
+
|
|
72
|
+
### Step 2: Update Core Test Imports
|
|
73
|
+
For each file in `/tests/core/`:
|
|
74
|
+
1. Replace internal test imports with direct package imports
|
|
75
|
+
2. Update test data path references
|
|
76
|
+
3. Remove relative imports
|
|
77
|
+
4. Verify pytest fixture compatibility
|
|
78
|
+
|
|
79
|
+
### Step 3: Update Plotting Test Imports
|
|
80
|
+
For each file in `/tests/plotting/`:
|
|
81
|
+
1. Update label test imports to use package modules
|
|
82
|
+
2. Fix any cross-test dependencies
|
|
83
|
+
3. Ensure proper pytest discovery
|
|
84
|
+
|
|
85
|
+
### Step 4: Update Utility Test Imports
|
|
86
|
+
For utility tests in `/tests/`:
|
|
87
|
+
1. Replace any internal test module references
|
|
88
|
+
2. Update configuration imports to use fixtures
|
|
89
|
+
3. Maintain test isolation and independence
|
|
90
|
+
|
|
91
|
+
## Expected Import Transformations
|
|
92
|
+
|
|
93
|
+
### Core Module Tests
|
|
94
|
+
- `test_base.py`: Update base class imports
|
|
95
|
+
- `test_plasma.py`: Fix plasma module imports and data paths
|
|
96
|
+
- `test_ions.py`: Update ion class imports
|
|
97
|
+
- `test_spacecraft.py`: Fix spacecraft imports and data references
|
|
98
|
+
|
|
99
|
+
### Plotting Tests
|
|
100
|
+
- Label tests: Update to import from `solarwindpy.plotting.labels`
|
|
101
|
+
- Remove internal plotting test dependencies
|
|
102
|
+
|
|
103
|
+
### Utility Tests
|
|
104
|
+
- `test_circular_imports.py`: Update import analysis code
|
|
105
|
+
- `test_planning_agents_architecture.py`: Fix agent architecture imports
|
|
106
|
+
|
|
107
|
+
## Validation Checks
|
|
108
|
+
- [ ] All imports resolve without errors
|
|
109
|
+
- [ ] No circular import warnings
|
|
110
|
+
- [ ] Test data paths point to correct locations
|
|
111
|
+
- [ ] Pytest can discover all tests
|
|
112
|
+
- [ ] No broken relative imports remain
|
|
113
|
+
|
|
114
|
+
## Navigation
|
|
115
|
+
- **Previous Phase**: [2-File-Migration.md](./2-File-Migration.md)
|
|
116
|
+
- **Next Phase**: [4-Configuration-Consolidation.md](./4-Configuration-Consolidation.md)
|
|
117
|
+
- **Overview**: [0-Overview.md](./0-Overview.md)
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# Phase 4: Configuration Consolidation
|
|
2
|
+
|
|
3
|
+
## Phase Tasks
|
|
4
|
+
- [ ] **Analyze existing conftest.py files** (Est: 20 min) - Inventory fixtures from both locations
|
|
5
|
+
- Commit: `<checksum>`
|
|
6
|
+
- Status: Pending
|
|
7
|
+
- [ ] **Merge conftest.py configurations** (Est: 30 min) - Create consolidated root conftest.py
|
|
8
|
+
- Commit: `<checksum>`
|
|
9
|
+
- Status: Pending
|
|
10
|
+
- [ ] **Eliminate redundant configurations** (Est: 10 min) - Remove duplicated or conflicting settings
|
|
11
|
+
- Commit: `<checksum>`
|
|
12
|
+
- Status: Pending
|
|
13
|
+
|
|
14
|
+
## Configuration Analysis
|
|
15
|
+
|
|
16
|
+
### Current Configuration Files
|
|
17
|
+
|
|
18
|
+
#### Root `/tests/conftest.py` (Fitfunctions)
|
|
19
|
+
- Fitfunction-specific fixtures
|
|
20
|
+
- Simple linear data generators
|
|
21
|
+
- Gaussian data fixtures
|
|
22
|
+
- Edge case data for error testing
|
|
23
|
+
- Standard pytest configuration
|
|
24
|
+
|
|
25
|
+
#### Package `/solarwindpy/tests/conftest.py` (Core)
|
|
26
|
+
- Core module fixtures
|
|
27
|
+
- Plasma data fixtures
|
|
28
|
+
- Ion species test data
|
|
29
|
+
- Spacecraft trajectory fixtures
|
|
30
|
+
- Development-specific setup
|
|
31
|
+
|
|
32
|
+
### Consolidation Strategy
|
|
33
|
+
|
|
34
|
+
#### Root Level `/tests/conftest.py`
|
|
35
|
+
Create comprehensive fixture collection:
|
|
36
|
+
- **Data Fixtures**: Plasma, ion, spacecraft test data
|
|
37
|
+
- **Fitfunction Fixtures**: Mathematical function test data
|
|
38
|
+
- **Utility Fixtures**: Common test utilities and helpers
|
|
39
|
+
- **Configuration**: Global pytest settings
|
|
40
|
+
|
|
41
|
+
#### Subdirectory Specific Fixtures
|
|
42
|
+
Keep specialized fixtures in subdirectories:
|
|
43
|
+
- `/tests/fitfunctions/conftest.py`: Fitfunction-specific fixtures only
|
|
44
|
+
- Remove redundant fixtures that are now in root conftest.py
|
|
45
|
+
|
|
46
|
+
## Fixture Consolidation Plan
|
|
47
|
+
|
|
48
|
+
### Step 1: Fixture Inventory
|
|
49
|
+
**From Root conftest.py:**
|
|
50
|
+
- `simple_linear_data()`
|
|
51
|
+
- `gaussian_data()`
|
|
52
|
+
- `edge_case_data()`
|
|
53
|
+
- Fitfunction-specific utilities
|
|
54
|
+
|
|
55
|
+
**From Package conftest.py:**
|
|
56
|
+
- `sample_plasma_data()`
|
|
57
|
+
- `test_ions_data()`
|
|
58
|
+
- `spacecraft_trajectory()`
|
|
59
|
+
- Core module utilities
|
|
60
|
+
|
|
61
|
+
### Step 2: Merged Root Configuration
|
|
62
|
+
```python
|
|
63
|
+
# /tests/conftest.py - Consolidated Configuration
|
|
64
|
+
import pytest
|
|
65
|
+
import pandas as pd
|
|
66
|
+
import numpy as np
|
|
67
|
+
|
|
68
|
+
# Core data fixtures
|
|
69
|
+
@pytest.fixture
|
|
70
|
+
def sample_plasma_data():
|
|
71
|
+
"""Plasma test data for core module tests"""
|
|
72
|
+
# Implementation from package conftest
|
|
73
|
+
|
|
74
|
+
@pytest.fixture
|
|
75
|
+
def test_ions_data():
|
|
76
|
+
"""Ion species test data"""
|
|
77
|
+
# Implementation from package conftest
|
|
78
|
+
|
|
79
|
+
# Fitfunction data fixtures
|
|
80
|
+
@pytest.fixture
|
|
81
|
+
def simple_linear_data():
|
|
82
|
+
"""Simple linear data for fitfunction tests"""
|
|
83
|
+
# Implementation from root conftest
|
|
84
|
+
|
|
85
|
+
@pytest.fixture
|
|
86
|
+
def gaussian_data():
|
|
87
|
+
"""Gaussian data for fitfunction tests"""
|
|
88
|
+
# Implementation from root conftest
|
|
89
|
+
|
|
90
|
+
# Global pytest configuration
|
|
91
|
+
pytest_plugins = ['pytest_cov']
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Step 3: Specialized Subdirectory Fixtures
|
|
95
|
+
```python
|
|
96
|
+
# /tests/fitfunctions/conftest.py - Specialized Only
|
|
97
|
+
import pytest
|
|
98
|
+
|
|
99
|
+
@pytest.fixture
|
|
100
|
+
def fitfunction_specific_fixture():
|
|
101
|
+
"""Fixtures unique to fitfunctions only"""
|
|
102
|
+
# Keep only fitfunction-specific fixtures here
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Configuration Migration Process
|
|
106
|
+
|
|
107
|
+
### Phase 4a: Backup Current Configurations
|
|
108
|
+
```bash
|
|
109
|
+
cp tests/conftest.py tests/conftest.py.backup
|
|
110
|
+
cp solarwindpy/tests/conftest.py solarwindpy/tests/conftest.py.backup
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### Phase 4b: Create Consolidated Root Configuration
|
|
114
|
+
1. Merge fixture definitions from both sources
|
|
115
|
+
2. Eliminate duplicate or redundant fixtures
|
|
116
|
+
3. Standardize fixture naming and documentation
|
|
117
|
+
4. Add global pytest settings
|
|
118
|
+
|
|
119
|
+
### Phase 4c: Update Subdirectory Configurations
|
|
120
|
+
1. Remove fixtures now available at root level
|
|
121
|
+
2. Keep only specialized, subdirectory-specific fixtures
|
|
122
|
+
3. Update fixture references to use root-level fixtures
|
|
123
|
+
|
|
124
|
+
### Phase 4d: Remove Package Configurations
|
|
125
|
+
```bash
|
|
126
|
+
rm solarwindpy/tests/conftest.py
|
|
127
|
+
rmdir solarwindpy/tests # If empty after migration
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## Validation Steps
|
|
131
|
+
- [ ] All fixtures available to appropriate tests
|
|
132
|
+
- [ ] No duplicate fixture definitions
|
|
133
|
+
- [ ] Pytest discovery works correctly
|
|
134
|
+
- [ ] All test dependencies satisfied
|
|
135
|
+
- [ ] Configuration settings preserved
|
|
136
|
+
|
|
137
|
+
## Navigation
|
|
138
|
+
- **Previous Phase**: [3-Import-Transformation.md](./3-Import-Transformation.md)
|
|
139
|
+
- **Next Phase**: [5-Validation.md](./5-Validation.md)
|
|
140
|
+
- **Overview**: [0-Overview.md](./0-Overview.md)
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# Phase 5: Validation
|
|
2
|
+
|
|
3
|
+
## Phase Tasks
|
|
4
|
+
- [ ] **Run full test suite** (Est: 10 min) - Execute pytest -q to verify all tests pass
|
|
5
|
+
- Commit: `<checksum>`
|
|
6
|
+
- Status: Pending
|
|
7
|
+
- [ ] **Verify pytest discovery** (Est: 5 min) - Confirm pytest finds all tests correctly
|
|
8
|
+
- Commit: `<checksum>`
|
|
9
|
+
- Status: Pending
|
|
10
|
+
- [ ] **Check CI/CD pipeline** (Est: 10 min) - Validate GitHub Actions continue working
|
|
11
|
+
- Commit: `<checksum>`
|
|
12
|
+
- Status: Pending
|
|
13
|
+
- [ ] **Validate import resolution** (Est: 5 min) - Ensure all import statements resolve properly
|
|
14
|
+
- Commit: `<checksum>`
|
|
15
|
+
- Status: Pending
|
|
16
|
+
|
|
17
|
+
## Comprehensive Validation Protocol
|
|
18
|
+
|
|
19
|
+
### Step 1: Local Test Suite Execution
|
|
20
|
+
```bash
|
|
21
|
+
# Full test suite - must pass 100%
|
|
22
|
+
pytest -q
|
|
23
|
+
|
|
24
|
+
# Verbose output for debugging if needed
|
|
25
|
+
pytest -v
|
|
26
|
+
|
|
27
|
+
# Test with coverage to ensure all code paths tested
|
|
28
|
+
pytest --cov=solarwindpy --cov-report=term-missing
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**Success Criteria:**
|
|
32
|
+
- [ ] All tests pass (0 failures, 0 errors)
|
|
33
|
+
- [ ] No import errors or warnings
|
|
34
|
+
- [ ] Test discovery finds all expected tests
|
|
35
|
+
- [ ] Coverage metrics maintained or improved
|
|
36
|
+
|
|
37
|
+
### Step 2: Test Discovery Verification
|
|
38
|
+
```bash
|
|
39
|
+
# Verify pytest discovers all tests
|
|
40
|
+
pytest --collect-only
|
|
41
|
+
|
|
42
|
+
# Check specific subdirectories
|
|
43
|
+
pytest tests/core --collect-only
|
|
44
|
+
pytest tests/plotting --collect-only
|
|
45
|
+
pytest tests/fitfunctions --collect-only
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**Expected Results:**
|
|
49
|
+
- Total test count: ~170+ tests (existing + migrated)
|
|
50
|
+
- All subdirectories properly discovered
|
|
51
|
+
- No collection warnings or errors
|
|
52
|
+
- Fixture resolution successful
|
|
53
|
+
|
|
54
|
+
### Step 3: Import Resolution Testing
|
|
55
|
+
```bash
|
|
56
|
+
# Test imports independently
|
|
57
|
+
python -c "import tests.conftest; print('Root conftest imported successfully')"
|
|
58
|
+
|
|
59
|
+
# Verify test modules import correctly
|
|
60
|
+
python -c "from tests.core import test_plasma; print('Core tests import successfully')"
|
|
61
|
+
python -c "from tests.plotting.labels import test_base; print('Plotting tests import successfully')"
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Validation Checks:**
|
|
65
|
+
- [ ] No circular import errors
|
|
66
|
+
- [ ] All external package imports resolve
|
|
67
|
+
- [ ] Test data paths accessible
|
|
68
|
+
- [ ] Fixture dependencies satisfied
|
|
69
|
+
|
|
70
|
+
### Step 4: CI/CD Pipeline Validation
|
|
71
|
+
```bash
|
|
72
|
+
# Simulate GitHub Actions locally
|
|
73
|
+
pytest -q --tb=short
|
|
74
|
+
|
|
75
|
+
# Check formatting requirements
|
|
76
|
+
black --check tests/
|
|
77
|
+
flake8 tests/
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
**CI/CD Compatibility:**
|
|
81
|
+
- [ ] Standard pytest discovery works (no custom configuration needed)
|
|
82
|
+
- [ ] Code formatting standards maintained
|
|
83
|
+
- [ ] No additional dependencies required
|
|
84
|
+
- [ ] Existing workflow commands continue working
|
|
85
|
+
|
|
86
|
+
### Step 5: Specific Test Category Validation
|
|
87
|
+
|
|
88
|
+
#### Core Module Tests
|
|
89
|
+
```bash
|
|
90
|
+
pytest tests/core/ -v
|
|
91
|
+
```
|
|
92
|
+
Expected: ~11 core tests pass with proper fixture access
|
|
93
|
+
|
|
94
|
+
#### Plotting Tests
|
|
95
|
+
```bash
|
|
96
|
+
pytest tests/plotting/ -v
|
|
97
|
+
```
|
|
98
|
+
Expected: ~5 plotting tests pass with label functionality
|
|
99
|
+
|
|
100
|
+
#### Fitfunction Tests
|
|
101
|
+
```bash
|
|
102
|
+
pytest tests/fitfunctions/ -v
|
|
103
|
+
```
|
|
104
|
+
Expected: ~170 fitfunction tests pass (already working)
|
|
105
|
+
|
|
106
|
+
#### Utility Tests
|
|
107
|
+
```bash
|
|
108
|
+
pytest tests/test_circular_imports.py -v
|
|
109
|
+
pytest tests/test_issue_titles.py -v
|
|
110
|
+
pytest tests/test_planning_agents_architecture.py -v
|
|
111
|
+
```
|
|
112
|
+
Expected: Utility tests pass with updated imports
|
|
113
|
+
|
|
114
|
+
## Performance Validation
|
|
115
|
+
|
|
116
|
+
### Test Execution Time
|
|
117
|
+
- Monitor test execution time (should remain comparable)
|
|
118
|
+
- Identify any significant performance regressions
|
|
119
|
+
- Ensure parallel test execution still works
|
|
120
|
+
|
|
121
|
+
### Memory Usage
|
|
122
|
+
- Verify test memory usage patterns
|
|
123
|
+
- Check for fixture memory leaks
|
|
124
|
+
- Validate test isolation maintained
|
|
125
|
+
|
|
126
|
+
## Rollback Criteria
|
|
127
|
+
|
|
128
|
+
If validation fails:
|
|
129
|
+
1. **Immediate Issues**: Import errors, test failures
|
|
130
|
+
2. **Performance Issues**: >50% slower execution
|
|
131
|
+
3. **CI/CD Issues**: GitHub Actions failures
|
|
132
|
+
4. **Coverage Issues**: Significant coverage reduction
|
|
133
|
+
|
|
134
|
+
**Rollback Process:**
|
|
135
|
+
```bash
|
|
136
|
+
git reset --hard [checkpoint-commit]
|
|
137
|
+
git clean -fd
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## Success Validation Checklist
|
|
141
|
+
- [ ] 100% test pass rate maintained
|
|
142
|
+
- [ ] All tests discoverable by pytest
|
|
143
|
+
- [ ] No import resolution errors
|
|
144
|
+
- [ ] CI/CD pipeline functions normally
|
|
145
|
+
- [ ] Test execution performance acceptable
|
|
146
|
+
- [ ] Coverage metrics maintained
|
|
147
|
+
- [ ] No regression in functionality
|
|
148
|
+
|
|
149
|
+
## Navigation
|
|
150
|
+
- **Previous Phase**: [4-Configuration-Consolidation.md](./4-Configuration-Consolidation.md)
|
|
151
|
+
- **Next Phase**: [6-Cleanup.md](./6-Cleanup.md)
|
|
152
|
+
- **Overview**: [0-Overview.md](./0-Overview.md)
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
# Phase 6: Cleanup
|
|
2
|
+
|
|
3
|
+
## Phase Tasks
|
|
4
|
+
- [ ] **Remove old test directories** (Est: 10 min) - Clean up empty /solarwindpy/tests/ directory structure
|
|
5
|
+
- Commit: `<checksum>`
|
|
6
|
+
- Status: Pending
|
|
7
|
+
- [ ] **Update documentation references** (Est: 15 min) - Fix any documentation pointing to old test locations
|
|
8
|
+
- Commit: `<checksum>`
|
|
9
|
+
- Status: Pending
|
|
10
|
+
- [ ] **Final consolidation verification** (Est: 5 min) - Confirm complete migration and no orphaned files
|
|
11
|
+
- Commit: `<checksum>`
|
|
12
|
+
- Status: Pending
|
|
13
|
+
|
|
14
|
+
## Cleanup Operations
|
|
15
|
+
|
|
16
|
+
### Step 1: Remove Old Directory Structure
|
|
17
|
+
```bash
|
|
18
|
+
# Remove empty test directories (after confirming they're empty)
|
|
19
|
+
rmdir solarwindpy/tests/plotting/labels/
|
|
20
|
+
rmdir solarwindpy/tests/plotting/
|
|
21
|
+
rmdir solarwindpy/tests/data/
|
|
22
|
+
rmdir solarwindpy/tests/
|
|
23
|
+
|
|
24
|
+
# Remove any remaining test-related files in package
|
|
25
|
+
find solarwindpy/ -name "*test*" -type f
|
|
26
|
+
find solarwindpy/ -name "conftest.py" -type f
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
**Verification:**
|
|
30
|
+
- [ ] All test files successfully migrated
|
|
31
|
+
- [ ] No orphaned test files remain in package
|
|
32
|
+
- [ ] Directory structure completely removed
|
|
33
|
+
- [ ] Package structure is clean
|
|
34
|
+
|
|
35
|
+
### Step 2: Update Documentation References
|
|
36
|
+
|
|
37
|
+
#### Files to Check and Update:
|
|
38
|
+
1. **README.rst** - Update test running instructions
|
|
39
|
+
2. **CONTRIBUTING.md** - Update development setup instructions
|
|
40
|
+
3. **docs/source/** - Update any testing documentation
|
|
41
|
+
4. **pyproject.toml** - Verify test discovery configuration
|
|
42
|
+
5. **setup.cfg** - Update pytest configuration if needed
|
|
43
|
+
|
|
44
|
+
#### Documentation Updates:
|
|
45
|
+
|
|
46
|
+
**Before:**
|
|
47
|
+
```markdown
|
|
48
|
+
Run tests: pytest solarwindpy/tests/
|
|
49
|
+
Test location: /solarwindpy/tests/
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**After:**
|
|
53
|
+
```markdown
|
|
54
|
+
Run tests: pytest tests/ (or simply pytest -q)
|
|
55
|
+
Test location: /tests/
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Step 3: Configuration File Updates
|
|
59
|
+
|
|
60
|
+
#### pyproject.toml Testing Configuration
|
|
61
|
+
```toml
|
|
62
|
+
[tool.pytest.ini_options]
|
|
63
|
+
testpaths = ["tests"]
|
|
64
|
+
python_files = ["test_*.py"]
|
|
65
|
+
python_classes = ["Test*"]
|
|
66
|
+
addopts = "--strict-markers --disable-warnings"
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
#### GitHub Actions Workflow
|
|
70
|
+
Verify `.github/workflows/` files use:
|
|
71
|
+
```yaml
|
|
72
|
+
- name: Run tests
|
|
73
|
+
run: pytest -q
|
|
74
|
+
```
|
|
75
|
+
(Should already work with standard discovery)
|
|
76
|
+
|
|
77
|
+
### Step 4: Package Configuration Cleanup
|
|
78
|
+
|
|
79
|
+
#### setup.py / pyproject.toml
|
|
80
|
+
Ensure test files are properly excluded from package distribution:
|
|
81
|
+
```python
|
|
82
|
+
# In setup.py
|
|
83
|
+
packages=find_packages(exclude=["tests", "tests.*"])
|
|
84
|
+
|
|
85
|
+
# Or in pyproject.toml
|
|
86
|
+
[tool.setuptools.packages.find]
|
|
87
|
+
exclude = ["tests*"]
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Step 5: Final Verification
|
|
91
|
+
|
|
92
|
+
#### Complete Migration Checklist
|
|
93
|
+
- [ ] All 33 test files successfully migrated to /tests/
|
|
94
|
+
- [ ] No test files remain in /solarwindpy/
|
|
95
|
+
- [ ] Documentation updated with new test locations
|
|
96
|
+
- [ ] Configuration files reflect new structure
|
|
97
|
+
- [ ] CI/CD pipelines work with new structure
|
|
98
|
+
- [ ] Package distribution excludes test files
|
|
99
|
+
|
|
100
|
+
#### File Count Verification
|
|
101
|
+
```bash
|
|
102
|
+
# Count tests in new location
|
|
103
|
+
find tests/ -name "test_*.py" | wc -l
|
|
104
|
+
# Expected: 33 total test files
|
|
105
|
+
|
|
106
|
+
# Verify no tests remain in package
|
|
107
|
+
find solarwindpy/ -name "test_*.py" | wc -l
|
|
108
|
+
# Expected: 0 test files
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
#### Final Test Run
|
|
112
|
+
```bash
|
|
113
|
+
# Complete test suite in new location
|
|
114
|
+
pytest -q
|
|
115
|
+
# Expected: All tests pass, ~170+ test cases
|
|
116
|
+
|
|
117
|
+
# Verify test discovery
|
|
118
|
+
pytest --collect-only | grep "test session starts"
|
|
119
|
+
# Expected: All tests discovered from /tests/
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Documentation Updates Summary
|
|
123
|
+
|
|
124
|
+
### Files Updated:
|
|
125
|
+
1. **README.rst**: Test running instructions
|
|
126
|
+
2. **CONTRIBUTING.md**: Development setup guidance
|
|
127
|
+
3. **docs/source/**: Any testing documentation
|
|
128
|
+
4. **pyproject.toml**: Test configuration (if needed)
|
|
129
|
+
|
|
130
|
+
### Key Changes:
|
|
131
|
+
- Test location: `/solarwindpy/tests/` → `/tests/`
|
|
132
|
+
- Test commands: `pytest solarwindpy/tests/` → `pytest -q`
|
|
133
|
+
- Development setup: Updated directory references
|
|
134
|
+
|
|
135
|
+
## Success Criteria
|
|
136
|
+
- [ ] Complete directory cleanup with no orphaned files
|
|
137
|
+
- [ ] All documentation references updated
|
|
138
|
+
- [ ] Configuration files reflect new structure
|
|
139
|
+
- [ ] Package properly excludes test files from distribution
|
|
140
|
+
- [ ] Final test suite passes completely
|
|
141
|
+
- [ ] CI/CD pipeline functions with new structure
|
|
142
|
+
|
|
143
|
+
## Post-Completion Benefits Achieved
|
|
144
|
+
✅ **Industry Standard Compliance**: Python packaging best practices implemented
|
|
145
|
+
✅ **Clean Package Distribution**: Tests excluded from installations
|
|
146
|
+
✅ **Superior Tooling Integration**: Standard pytest discovery working
|
|
147
|
+
✅ **Clear Architecture**: Clean separation between source and tests
|
|
148
|
+
✅ **CI/CD Compatibility**: Existing workflows maintained
|
|
149
|
+
✅ **Reduced Package Size**: Test files no longer included in distributions
|
|
150
|
+
|
|
151
|
+
## Navigation
|
|
152
|
+
- **Previous Phase**: [5-Validation.md](./5-Validation.md)
|
|
153
|
+
- **Overview**: [0-Overview.md](./0-Overview.md)
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
**Plan Status**: Ready for systematic implementation with rollback capabilities
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Test Planning Agents Architecture - Overview
|
|
2
|
+
|
|
3
|
+
## Plan Metadata
|
|
4
|
+
- **Plan Name**: Test Planning Agents Architecture
|
|
5
|
+
- **Created**: 2025-08-09
|
|
6
|
+
- **Branch**: plan/test-planning-agents-architecture
|
|
7
|
+
- **Implementation Branch**: feature/test-planning-agents-architecture
|
|
8
|
+
- **PlanManager**: PlanManager
|
|
9
|
+
- **PlanImplementer**: PlanImplementer
|
|
10
|
+
- **Structure**: Multi-Phase
|
|
11
|
+
- **Total Phases**: 3
|
|
12
|
+
- **Dependencies**: Planning agents system implementation
|
|
13
|
+
- **Affects**: .claude/agents/, planning agent test infrastructure
|
|
14
|
+
- **Estimated Duration**: 20 minutes
|
|
15
|
+
- **Status**: COMPLETED
|
|
16
|
+
|
|
17
|
+
## PlanImplementer Fields
|
|
18
|
+
- **Implementation Strategy**: Test-driven validation
|
|
19
|
+
- **Testing Approach**: Branch isolation and workflow validation
|
|
20
|
+
- **Rollback Plan**: N/A (testing only, no production changes)
|
|
21
|
+
- **Performance Impact**: None
|
|
22
|
+
- **Security Considerations**: Git branch permissions only
|
|
23
|
+
|
|
24
|
+
## 🎯 Objective
|
|
25
|
+
Validate the plan-per-branch architecture by testing branch isolation, cross-branch coordination, and the complete merge workflow (feature → plan → master).
|
|
26
|
+
|
|
27
|
+
## 🧠 Context
|
|
28
|
+
Testing the planning agents system we just implemented to ensure:
|
|
29
|
+
1. Plan branches can be created and isolated properly
|
|
30
|
+
2. Feature branches can coordinate with plan branches
|
|
31
|
+
3. Checksum management works correctly
|
|
32
|
+
4. Merge workflow operates as designed (feature → plan → master)
|
|
33
|
+
|
|
34
|
+
## 🔧 Technical Requirements
|
|
35
|
+
- Git branch management
|
|
36
|
+
- Plan template system
|
|
37
|
+
- Checksum placeholder system (`<checksum>`)
|
|
38
|
+
- Cross-branch file coordination
|
|
39
|
+
|
|
40
|
+
## 📂 Affected Areas
|
|
41
|
+
- `.claude/agents/` - New planning agents
|
|
42
|
+
- `solarwindpy/plans/` - Plan templates and test plans
|
|
43
|
+
- Git branches - Plan and feature branch architecture
|
|
44
|
+
|
|
45
|
+
## 📋 Phase Structure
|
|
46
|
+
1. **Phase 1**: Branch Isolation Testing (8 min)
|
|
47
|
+
2. **Phase 2**: Cross-Branch Coordination (7 min)
|
|
48
|
+
3. **Phase 3**: Merge Workflow Testing (5 min)
|
|
49
|
+
|
|
50
|
+
## ✅ Acceptance Criteria
|
|
51
|
+
- [x] Plan branch created successfully with isolated plan files
|
|
52
|
+
- [x] Feature branch can coordinate with plan branch
|
|
53
|
+
- [x] Checksum placeholders can be replaced with actual commit hashes
|
|
54
|
+
- [x] Cross-branch status updates work correctly
|
|
55
|
+
- [x] Complete merge workflow (feature → plan → master) functions properly
|
|
56
|
+
- [x] Branch isolation maintains true separation between concurrent plans
|
|
57
|
+
|
|
58
|
+
## 🧪 Testing Strategy
|
|
59
|
+
1. **Branch Creation**: Verify plan and feature branches can be created independently
|
|
60
|
+
2. **File Isolation**: Confirm plan files only exist on their respective plan branches
|
|
61
|
+
3. **Checksum Functionality**: Test placeholder replacement with real commit hashes
|
|
62
|
+
4. **Cross-Branch Updates**: Validate status synchronization between branches
|
|
63
|
+
5. **Merge Workflow**: Complete full workflow from feature through to master
|
|
64
|
+
|
|
65
|
+
## 📊 Final Results
|
|
66
|
+
- **Phases Completed**: 3/3
|
|
67
|
+
- **Tasks Completed**: 8/8
|
|
68
|
+
- **Time Invested**: 0.33h of 0.33h
|
|
69
|
+
- **Final Status**: COMPLETED ✅
|
|
70
|
+
|
|
71
|
+
## 🔗 Related Plans
|
|
72
|
+
- Primary implementation: Planning agents system (completed)
|
|
73
|
+
- Future testing: Status tracking system validation
|
|
74
|
+
|
|
75
|
+
## 💬 Notes & Considerations
|
|
76
|
+
This is a meta-test of our planning system - using the planning agents to test themselves. This validates that the plan-per-branch architecture can handle recursive planning scenarios.
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
*This plan follows the plan-per-branch architecture where implementation occurs on feature/test-planning-agents-architecture branch with progress tracked via commit checksums.*
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Phase 1: Branch Isolation Testing
|
|
2
|
+
|
|
3
|
+
## Phase Overview
|
|
4
|
+
- **Duration**: 8 minutes
|
|
5
|
+
- **Status**: COMPLETED
|
|
6
|
+
- **Objective**: Test plan branch creation and verify proper isolation from other branches
|
|
7
|
+
|
|
8
|
+
## Tasks
|
|
9
|
+
|
|
10
|
+
### Task 1.1: Create plan branch
|
|
11
|
+
- **Estimate**: 2 minutes
|
|
12
|
+
- **Status**: ✅ Completed
|
|
13
|
+
- **Commit**: `<checksum>`
|
|
14
|
+
- **Description**: Create dedicated plan/test-planning-agents-architecture branch
|
|
15
|
+
|
|
16
|
+
**Implementation Notes:**
|
|
17
|
+
- Plan branch created successfully
|
|
18
|
+
- Proper isolation established from master branch
|
|
19
|
+
|
|
20
|
+
### Task 1.2: Create test plan file
|
|
21
|
+
- **Estimate**: 3 minutes
|
|
22
|
+
- **Status**: ✅ Completed
|
|
23
|
+
- **Commit**: `eff9e0b`
|
|
24
|
+
- **Description**: Use new plan template on plan branch
|
|
25
|
+
|
|
26
|
+
**Implementation Notes:**
|
|
27
|
+
- Plan template system working correctly
|
|
28
|
+
- File created on plan branch only
|
|
29
|
+
|
|
30
|
+
### Task 1.3: Test branch isolation
|
|
31
|
+
- **Estimate**: 3 minutes
|
|
32
|
+
- **Status**: ✅ Completed
|
|
33
|
+
- **Commit**: `<checksum>`
|
|
34
|
+
- **Description**: Verify plan files only exist on plan branch
|
|
35
|
+
|
|
36
|
+
**Implementation Notes:**
|
|
37
|
+
- Branch isolation confirmed
|
|
38
|
+
- Plan files properly separated from master branch
|
|
39
|
+
|
|
40
|
+
## Phase Results
|
|
41
|
+
- **Tasks Completed**: 3/3
|
|
42
|
+
- **Time Taken**: 8 minutes (as estimated)
|
|
43
|
+
- **Key Achievements**:
|
|
44
|
+
- Successfully created isolated plan branch
|
|
45
|
+
- Validated plan template system functionality
|
|
46
|
+
- Confirmed proper branch isolation mechanisms
|
|
47
|
+
|
|
48
|
+
## Next Phase
|
|
49
|
+
Proceed to Phase 2: Cross-Branch Coordination
|