feat: add cross-platform model parameter effectiveness harness - #348
Draft
arumajirou wants to merge 17 commits into
Draft
feat: add cross-platform model parameter effectiveness harness#348arumajirou wants to merge 17 commits into
arumajirou wants to merge 17 commits into
Conversation
Reviewer's GuideIntroduces a reusable, cross-platform parameter-effectiveness harness for forecasting libraries, with strict pydantic contracts, a core pairing/aggregation engine, built-in MLForecast and StatsForecast adapters, a JSON-driven CLI, focused tests, documentation, and a dedicated Windows/Linux CI workflow on Python 3.13. Sequence diagram for running a parameter-effectiveness JSON suite via CLIsequenceDiagram
actor User
participant cli_main as cli_main
participant Suite as ParameterSuiteSpec
participant Registry as AdapterRegistry
participant Adapter as ParameterProbeAdapter
participant Core as evaluate_probe
User->>cli_main: main(["--spec","--output"])
cli_main->>Suite: model_validate_json(spec)
cli_main->>Registry: default_registry()
cli_main->>Core: run_suite(suite,registry,output_dir)
loop for each ParameterProbeSpec in suite.probes
Core->>Registry: get(spec.library)
Registry-->>Core: adapter
Core->>Adapter: supports(spec)
Adapter-->>Core: (supported,reason)
alt supported
loop for each seed,repeat
Core->>Adapter: run(spec,control,seed,repeat)
Adapter-->>Core: ProbeRunObservation
Core->>Adapter: run(spec,treatment,seed,repeat)
Adapter-->>Core: ProbeRunObservation
Core->>Core: [compare surfaces, aggregate]
end
else unsupported
Core->>Core: outcome=UNSUPPORTED
end
end
Core-->>cli_main: list[ParameterProbeResult]
cli_main->>cli_main: print summary, serialize JSON
cli_main-->>User: exit code based on outcomes
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Owner
Author
|
Focused verification update for head
The separate existing |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements TAJ-58 as a reusable repository-owned parameter-effectiveness harness instead of one-off Windows/Linux scripts.
Core behavior
Built-in adapters
Cross-platform verification
Adds a dedicated GitHub Actions matrix for ubuntu-latest and windows-latest on Python 3.13. It runs focused Ruff, mypy, core tests, real MLForecast/StatsForecast adapter tests and the same committed JSON CLI suite on both OSes. It deliberately avoids full extras/Ray on Windows.
Initial real parameter probes
Governance
Linear: TAJ-58
Summary by Sourcery
Introduce a reusable cross-platform parameter-effectiveness harness for forecasting model/library arguments, with built-in MLForecast and StatsForecast adapters, a CLI and evidence bundle, tests, docs, and dedicated CI.
New Features:
Enhancements:
CI:
Tests: