solarwindpy 0.0.1.dev0__py3-none-any.whl → 0.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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.0.dist-info/METADATA +181 -0
- solarwindpy-0.1.0.dist-info/RECORD +409 -0
- {solarwindpy-0.0.1.dev0.dist-info → solarwindpy-0.1.0.dist-info}/WHEEL +1 -1
- solarwindpy-0.1.0.dist-info/licenses/LICENSE.rst +32 -0
- solarwindpy-0.1.0.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,396 @@
|
|
|
1
|
+
# Phase 3: Monitoring Infrastructure (Optional)
|
|
2
|
+
|
|
3
|
+
## Objectives
|
|
4
|
+
- Deploy automated metrics collection for systemPrompt effectiveness
|
|
5
|
+
- Track productivity improvements and token usage patterns
|
|
6
|
+
- Generate data-driven insights for optimization
|
|
7
|
+
|
|
8
|
+
## Risk/Value/Cost Analysis
|
|
9
|
+
|
|
10
|
+
### Risk Assessment
|
|
11
|
+
- **Technical Risk**: Very Low
|
|
12
|
+
- Python-based implementation using standard library only
|
|
13
|
+
- Local data storage, no external dependencies
|
|
14
|
+
- Optional component that can be disabled anytime
|
|
15
|
+
|
|
16
|
+
- **Operational Risk**: Minimal
|
|
17
|
+
- Non-intrusive metrics collection
|
|
18
|
+
- Graceful failure handling
|
|
19
|
+
- Easy rollback and removal
|
|
20
|
+
|
|
21
|
+
- **Data Privacy**: Zero Risk
|
|
22
|
+
- All metrics stored locally in `.claude/metrics/`
|
|
23
|
+
- No external transmission or cloud storage
|
|
24
|
+
- User controls all data
|
|
25
|
+
|
|
26
|
+
### Value Proposition
|
|
27
|
+
- **Evidence-Based Optimization**: Replace assumptions with real data
|
|
28
|
+
- **ROI Quantification**: Measure actual token savings and productivity gains
|
|
29
|
+
- **Usage Pattern Analysis**: Understand agent selection and workflow efficiency
|
|
30
|
+
- **Continuous Improvement**: Data-driven systemPrompt refinement
|
|
31
|
+
|
|
32
|
+
### Cost Analysis
|
|
33
|
+
- **Development Cost**: 2-3 hours initial implementation
|
|
34
|
+
- **Runtime Cost**: <100ms overhead per session
|
|
35
|
+
- **Storage Cost**: ~1MB per month of usage data
|
|
36
|
+
- **Token Cost**: 0 (local processing only)
|
|
37
|
+
- **Review Cost**: 500 tokens/week for report analysis
|
|
38
|
+
|
|
39
|
+
### Token Economics
|
|
40
|
+
- **Investment**: 500 tokens/week for metrics review
|
|
41
|
+
- **Expected Return**: 2000-3000 tokens saved through optimization insights
|
|
42
|
+
- **Net Benefit**: 1500-2500 tokens/week efficiency gain
|
|
43
|
+
- **Break-even**: Immediate (first week positive ROI)
|
|
44
|
+
|
|
45
|
+
## Implementation Design
|
|
46
|
+
|
|
47
|
+
### 3.1 Monitoring Script Architecture
|
|
48
|
+
|
|
49
|
+
**Location**: `.claude/hooks/systemprompt-monitor.py`
|
|
50
|
+
|
|
51
|
+
```python
|
|
52
|
+
#!/usr/bin/env python3
|
|
53
|
+
"""
|
|
54
|
+
systemPrompt Monitoring for SolarWindPy
|
|
55
|
+
Tracks token usage, productivity metrics, and agent selection patterns
|
|
56
|
+
"""
|
|
57
|
+
|
|
58
|
+
import json
|
|
59
|
+
import datetime
|
|
60
|
+
from pathlib import Path
|
|
61
|
+
from typing import Dict, List, Optional
|
|
62
|
+
import statistics
|
|
63
|
+
import sys
|
|
64
|
+
|
|
65
|
+
class SystemPromptMonitor:
|
|
66
|
+
def __init__(self):
|
|
67
|
+
self.metrics_dir = Path(".claude/metrics")
|
|
68
|
+
self.metrics_dir.mkdir(exist_ok=True)
|
|
69
|
+
|
|
70
|
+
# Data files
|
|
71
|
+
self.session_log = self.metrics_dir / "sessions.jsonl"
|
|
72
|
+
self.weekly_report = self.metrics_dir / "weekly_report.md"
|
|
73
|
+
self.agent_usage = self.metrics_dir / "agent_usage.json"
|
|
74
|
+
|
|
75
|
+
def collect_session_metrics(self, session_data: Dict):
|
|
76
|
+
"""Collect metrics from completed session"""
|
|
77
|
+
try:
|
|
78
|
+
metrics = {
|
|
79
|
+
"timestamp": datetime.datetime.utcnow().isoformat(),
|
|
80
|
+
"session_id": session_data.get("session_id", "unknown"),
|
|
81
|
+
"branch": session_data.get("branch", "unknown"),
|
|
82
|
+
"tokens_used": session_data.get("tokens", 0),
|
|
83
|
+
"agent_calls": session_data.get("agent_calls", []),
|
|
84
|
+
"time_to_first_commit": session_data.get("first_commit_time"),
|
|
85
|
+
"workflow_violations": session_data.get("violations", 0),
|
|
86
|
+
"clarification_exchanges": session_data.get("clarifications", 0),
|
|
87
|
+
"pr_created": session_data.get("pr_created", False),
|
|
88
|
+
"hook_executions": session_data.get("hook_calls", []),
|
|
89
|
+
"plan_type": self._detect_plan_type(session_data.get("branch", ""))
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
# Append to session log
|
|
93
|
+
with open(self.session_log, 'a') as f:
|
|
94
|
+
f.write(json.dumps(metrics) + '\\n')
|
|
95
|
+
|
|
96
|
+
# Update agent usage tracking
|
|
97
|
+
self._update_agent_usage(metrics["agent_calls"])
|
|
98
|
+
|
|
99
|
+
print(f"✅ Session metrics recorded: {metrics['session_id']}")
|
|
100
|
+
|
|
101
|
+
except Exception as e:
|
|
102
|
+
print(f"⚠️ Metrics collection failed: {e}")
|
|
103
|
+
|
|
104
|
+
def _detect_plan_type(self, branch: str) -> str:
|
|
105
|
+
"""Detect plan type from branch name"""
|
|
106
|
+
if branch.startswith("plan/"):
|
|
107
|
+
plan_name = branch[5:] # Remove "plan/" prefix
|
|
108
|
+
|
|
109
|
+
# SolarWindPy-specific plan types
|
|
110
|
+
if any(term in plan_name for term in ["doc", "documentation"]):
|
|
111
|
+
return "documentation"
|
|
112
|
+
elif any(term in plan_name for term in ["test", "testing"]):
|
|
113
|
+
return "testing"
|
|
114
|
+
elif any(term in plan_name for term in ["physics", "validation"]):
|
|
115
|
+
return "physics"
|
|
116
|
+
elif any(term in plan_name for term in ["plot", "visual"]):
|
|
117
|
+
return "visualization"
|
|
118
|
+
elif any(term in plan_name for term in ["agent", "hook"]):
|
|
119
|
+
return "infrastructure"
|
|
120
|
+
else:
|
|
121
|
+
return "feature"
|
|
122
|
+
return "unknown"
|
|
123
|
+
|
|
124
|
+
def _update_agent_usage(self, agent_calls: List[str]):
|
|
125
|
+
"""Track agent usage patterns"""
|
|
126
|
+
try:
|
|
127
|
+
# Load existing usage data
|
|
128
|
+
usage_data = {}
|
|
129
|
+
if self.agent_usage.exists():
|
|
130
|
+
with open(self.agent_usage) as f:
|
|
131
|
+
usage_data = json.load(f)
|
|
132
|
+
|
|
133
|
+
# Update counts
|
|
134
|
+
for agent in agent_calls:
|
|
135
|
+
usage_data[agent] = usage_data.get(agent, 0) + 1
|
|
136
|
+
|
|
137
|
+
# Save updated data
|
|
138
|
+
with open(self.agent_usage, 'w') as f:
|
|
139
|
+
json.dump(usage_data, f, indent=2)
|
|
140
|
+
|
|
141
|
+
except Exception as e:
|
|
142
|
+
print(f"⚠️ Agent usage tracking failed: {e}")
|
|
143
|
+
|
|
144
|
+
def generate_weekly_report(self) -> str:
|
|
145
|
+
"""Generate comprehensive weekly productivity report"""
|
|
146
|
+
try:
|
|
147
|
+
# Load session data
|
|
148
|
+
sessions = self._load_recent_sessions(days=7)
|
|
149
|
+
|
|
150
|
+
if not sessions:
|
|
151
|
+
return "No sessions in past week"
|
|
152
|
+
|
|
153
|
+
# Generate report
|
|
154
|
+
report = self._create_report_content(sessions)
|
|
155
|
+
|
|
156
|
+
# Save report
|
|
157
|
+
with open(self.weekly_report, 'w') as f:
|
|
158
|
+
f.write(report)
|
|
159
|
+
|
|
160
|
+
return report
|
|
161
|
+
|
|
162
|
+
except Exception as e:
|
|
163
|
+
return f"Report generation failed: {e}"
|
|
164
|
+
|
|
165
|
+
def _load_recent_sessions(self, days: int = 7) -> List[Dict]:
|
|
166
|
+
"""Load sessions from recent days"""
|
|
167
|
+
sessions = []
|
|
168
|
+
if not self.session_log.exists():
|
|
169
|
+
return sessions
|
|
170
|
+
|
|
171
|
+
cutoff = datetime.datetime.utcnow() - datetime.timedelta(days=days)
|
|
172
|
+
|
|
173
|
+
try:
|
|
174
|
+
with open(self.session_log) as f:
|
|
175
|
+
for line in f:
|
|
176
|
+
session = json.loads(line.strip())
|
|
177
|
+
session_time = datetime.datetime.fromisoformat(session['timestamp'])
|
|
178
|
+
if session_time > cutoff:
|
|
179
|
+
sessions.append(session)
|
|
180
|
+
except Exception as e:
|
|
181
|
+
print(f"⚠️ Session loading failed: {e}")
|
|
182
|
+
|
|
183
|
+
return sessions
|
|
184
|
+
|
|
185
|
+
def _create_report_content(self, sessions: List[Dict]) -> str:
|
|
186
|
+
"""Create formatted report content"""
|
|
187
|
+
total_sessions = len(sessions)
|
|
188
|
+
|
|
189
|
+
# Calculate metrics
|
|
190
|
+
avg_tokens = statistics.mean([s.get('tokens_used', 0) for s in sessions])
|
|
191
|
+
total_violations = sum(s.get('workflow_violations', 0) for s in sessions)
|
|
192
|
+
prs_created = sum(1 for s in sessions if s.get('pr_created', False))
|
|
193
|
+
avg_clarifications = statistics.mean([s.get('clarification_exchanges', 0) for s in sessions])
|
|
194
|
+
|
|
195
|
+
# Agent usage analysis
|
|
196
|
+
agent_summary = self._analyze_agent_usage(sessions)
|
|
197
|
+
|
|
198
|
+
# Plan type analysis
|
|
199
|
+
plan_analysis = self._analyze_plan_types(sessions)
|
|
200
|
+
|
|
201
|
+
report = f"""# systemPrompt Performance Report
|
|
202
|
+
Generated: {datetime.datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S UTC')}
|
|
203
|
+
|
|
204
|
+
## Executive Summary (Past 7 Days)
|
|
205
|
+
- **Total Sessions**: {total_sessions}
|
|
206
|
+
- **Average Tokens per Session**: {avg_tokens:.0f}
|
|
207
|
+
- **Workflow Violations**: {total_violations}
|
|
208
|
+
- **Pull Requests Created**: {prs_created}
|
|
209
|
+
- **Avg Clarifications per Session**: {avg_clarifications:.1f}
|
|
210
|
+
|
|
211
|
+
## Agent Usage Patterns
|
|
212
|
+
{agent_summary}
|
|
213
|
+
|
|
214
|
+
## Plan Type Analysis
|
|
215
|
+
{plan_analysis}
|
|
216
|
+
|
|
217
|
+
## systemPrompt Effectiveness Metrics
|
|
218
|
+
- **Context Loading**: Session context auto-loaded in {total_sessions} sessions
|
|
219
|
+
- **Agent Awareness**: {len([s for s in sessions if s.get('agent_calls')])} sessions used specialized agents
|
|
220
|
+
- **Workflow Compliance**: {((total_sessions - total_violations) / total_sessions * 100):.1f}% sessions violation-free
|
|
221
|
+
|
|
222
|
+
## SolarWindPy-Specific Insights
|
|
223
|
+
- **Physics Validation**: PhysicsValidator usage in {len([s for s in sessions if 'PhysicsValidator' in s.get('agent_calls', [])])} sessions
|
|
224
|
+
- **MultiIndex Operations**: DataFrameArchitect usage in {len([s for s in sessions if 'DataFrameArchitect' in s.get('agent_calls', [])])} sessions
|
|
225
|
+
- **Test Coverage**: TestEngineer usage in {len([s for s in sessions if 'TestEngineer' in s.get('agent_calls', [])])} sessions
|
|
226
|
+
|
|
227
|
+
## Recommendations
|
|
228
|
+
{self._generate_recommendations(sessions)}
|
|
229
|
+
|
|
230
|
+
## Token Efficiency Analysis
|
|
231
|
+
- **Baseline systemPrompt**: 210 tokens per session
|
|
232
|
+
- **Estimated Clarification Savings**: {avg_clarifications * 150:.0f} tokens per session
|
|
233
|
+
- **Net Token Benefit**: {(avg_clarifications * 150) - 210:.0f} tokens per session
|
|
234
|
+
- **Weekly Efficiency**: {((avg_clarifications * 150) - 210) * total_sessions:.0f} tokens saved
|
|
235
|
+
"""
|
|
236
|
+
|
|
237
|
+
return report
|
|
238
|
+
|
|
239
|
+
def _analyze_agent_usage(self, sessions: List[Dict]) -> str:
|
|
240
|
+
"""Analyze agent usage patterns"""
|
|
241
|
+
agent_counts = {}
|
|
242
|
+
for session in sessions:
|
|
243
|
+
for agent in session.get('agent_calls', []):
|
|
244
|
+
agent_counts[agent] = agent_counts.get(agent, 0) + 1
|
|
245
|
+
|
|
246
|
+
if not agent_counts:
|
|
247
|
+
return "- No agent usage recorded"
|
|
248
|
+
|
|
249
|
+
sorted_agents = sorted(agent_counts.items(), key=lambda x: x[1], reverse=True)
|
|
250
|
+
|
|
251
|
+
lines = []
|
|
252
|
+
for agent, count in sorted_agents:
|
|
253
|
+
percentage = (count / len(sessions)) * 100
|
|
254
|
+
lines.append(f"- **{agent}**: {count} sessions ({percentage:.1f}%)")
|
|
255
|
+
|
|
256
|
+
return "\\n".join(lines)
|
|
257
|
+
|
|
258
|
+
def _analyze_plan_types(self, sessions: List[Dict]) -> str:
|
|
259
|
+
"""Analyze plan type distribution"""
|
|
260
|
+
plan_counts = {}
|
|
261
|
+
for session in sessions:
|
|
262
|
+
plan_type = session.get('plan_type', 'unknown')
|
|
263
|
+
plan_counts[plan_type] = plan_counts.get(plan_type, 0) + 1
|
|
264
|
+
|
|
265
|
+
if not plan_counts:
|
|
266
|
+
return "- No plan types detected"
|
|
267
|
+
|
|
268
|
+
lines = []
|
|
269
|
+
for plan_type, count in plan_counts.items():
|
|
270
|
+
percentage = (count / len(sessions)) * 100
|
|
271
|
+
lines.append(f"- **{plan_type.title()}**: {count} sessions ({percentage:.1f}%)")
|
|
272
|
+
|
|
273
|
+
return "\\n".join(lines)
|
|
274
|
+
|
|
275
|
+
def _generate_recommendations(self, sessions: List[Dict]) -> str:
|
|
276
|
+
"""Generate optimization recommendations"""
|
|
277
|
+
recommendations = []
|
|
278
|
+
|
|
279
|
+
# Low agent usage
|
|
280
|
+
total_agent_calls = sum(len(s.get('agent_calls', [])) for s in sessions)
|
|
281
|
+
if total_agent_calls / len(sessions) < 1:
|
|
282
|
+
recommendations.append("- **Increase Agent Usage**: Consider promoting specialized agents more prominently")
|
|
283
|
+
|
|
284
|
+
# High clarification rate
|
|
285
|
+
avg_clarifications = statistics.mean([s.get('clarification_exchanges', 0) for s in sessions])
|
|
286
|
+
if avg_clarifications > 2:
|
|
287
|
+
recommendations.append(f"- **High Clarification Rate**: {avg_clarifications:.1f} per session suggests systemPrompt could be more specific")
|
|
288
|
+
|
|
289
|
+
# Workflow violations
|
|
290
|
+
total_violations = sum(s.get('workflow_violations', 0) for s in sessions)
|
|
291
|
+
if total_violations > 0:
|
|
292
|
+
recommendations.append(f"- **Workflow Training**: {total_violations} violations suggest need for better workflow education")
|
|
293
|
+
|
|
294
|
+
if not recommendations:
|
|
295
|
+
recommendations.append("- **Optimal Performance**: systemPrompt functioning effectively")
|
|
296
|
+
|
|
297
|
+
return "\\n".join(recommendations)
|
|
298
|
+
|
|
299
|
+
# CLI Interface
|
|
300
|
+
if __name__ == "__main__":
|
|
301
|
+
monitor = SystemPromptMonitor()
|
|
302
|
+
|
|
303
|
+
if len(sys.argv) > 1 and sys.argv[1] == "report":
|
|
304
|
+
report = monitor.generate_weekly_report()
|
|
305
|
+
print(report)
|
|
306
|
+
else:
|
|
307
|
+
# Collect session metrics
|
|
308
|
+
session_data = {
|
|
309
|
+
"session_id": sys.argv[1] if len(sys.argv) > 1 else "unknown",
|
|
310
|
+
"branch": sys.argv[2] if len(sys.argv) > 2 else "unknown",
|
|
311
|
+
"tokens": int(sys.argv[3]) if len(sys.argv) > 3 else 0
|
|
312
|
+
}
|
|
313
|
+
monitor.collect_session_metrics(session_data)
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
### 3.2 Integration Points
|
|
317
|
+
|
|
318
|
+
#### Stop Hook Integration
|
|
319
|
+
Update `.claude/settings.json` Stop hook:
|
|
320
|
+
|
|
321
|
+
```json
|
|
322
|
+
{
|
|
323
|
+
"matcher": "*",
|
|
324
|
+
"hooks": [
|
|
325
|
+
{
|
|
326
|
+
"type": "command",
|
|
327
|
+
"command": ".claude/hooks/coverage-monitor.py",
|
|
328
|
+
"timeout": 60
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
"type": "command",
|
|
332
|
+
"command": "python .claude/hooks/systemprompt-monitor.py ${session_id} ${branch} ${total_tokens}",
|
|
333
|
+
"timeout": 15
|
|
334
|
+
}
|
|
335
|
+
]
|
|
336
|
+
}
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
#### Weekly Report Generation
|
|
340
|
+
Add to cron or create manual script:
|
|
341
|
+
|
|
342
|
+
```bash
|
|
343
|
+
#!/bin/bash
|
|
344
|
+
# .claude/scripts/generate-weekly-metrics.sh
|
|
345
|
+
echo "Generating systemPrompt effectiveness report..."
|
|
346
|
+
python .claude/hooks/systemprompt-monitor.py report
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
### 3.3 Usage Effectiveness for SolarWindPy
|
|
350
|
+
|
|
351
|
+
#### SolarWindPy-Specific Metrics
|
|
352
|
+
- **Agent Specialization**: Track PhysicsValidator, DataFrameArchitect, TestEngineer usage
|
|
353
|
+
- **Plan Types**: Documentation, testing, physics, visualization, infrastructure
|
|
354
|
+
- **Workflow Patterns**: plan/* → PR workflow compliance
|
|
355
|
+
- **Hook Integration**: PreToolUse physics validation frequency
|
|
356
|
+
|
|
357
|
+
#### Productivity Indicators
|
|
358
|
+
- **Time to First Commit**: Measure setup efficiency
|
|
359
|
+
- **Clarification Rate**: Track systemPrompt effectiveness
|
|
360
|
+
- **Agent Selection**: Optimal specialist usage patterns
|
|
361
|
+
- **PR Success Rate**: Plan closeout efficiency
|
|
362
|
+
|
|
363
|
+
## Implementation Timeline
|
|
364
|
+
|
|
365
|
+
### Week 2: Basic Implementation
|
|
366
|
+
- [ ] Create `systemprompt-monitor.py` with core functionality
|
|
367
|
+
- [ ] Add basic session metrics collection
|
|
368
|
+
- [ ] Test integration with Stop hook
|
|
369
|
+
|
|
370
|
+
### Week 3: Enhanced Reporting
|
|
371
|
+
- [ ] Implement comprehensive report generation
|
|
372
|
+
- [ ] Add agent usage analysis
|
|
373
|
+
- [ ] Create weekly report automation
|
|
374
|
+
|
|
375
|
+
### Week 4: Optimization
|
|
376
|
+
- [ ] Analyze collected data
|
|
377
|
+
- [ ] Identify improvement opportunities
|
|
378
|
+
- [ ] Refine systemPrompt based on insights
|
|
379
|
+
|
|
380
|
+
## Success Criteria
|
|
381
|
+
- [ ] Metrics collection operational without errors
|
|
382
|
+
- [ ] Weekly reports generated automatically
|
|
383
|
+
- [ ] Token savings quantified with real data
|
|
384
|
+
- [ ] Agent usage patterns clearly identified
|
|
385
|
+
- [ ] SolarWindPy-specific insights actionable
|
|
386
|
+
|
|
387
|
+
## Recommendation
|
|
388
|
+
|
|
389
|
+
**Implement Lightweight Monitoring** with:
|
|
390
|
+
- Minimal complexity (200 lines Python)
|
|
391
|
+
- Zero runtime token cost
|
|
392
|
+
- High-value productivity insights
|
|
393
|
+
- SolarWindPy-specific metric focus
|
|
394
|
+
- Optional deployment (can skip if not needed)
|
|
395
|
+
|
|
396
|
+
This provides evidence-based systemPrompt optimization perfectly scoped for a scientific Python package, enabling continuous improvement without enterprise complexity.
|