Contributing
We welcome patches that improve the physics fidelity, performance, or ergonomics of the LW Integrator. Please keep the following ground rules in mind:
Stay regression safe. All changes that touch physics must keep the core and legacy solvers in agreement. Update the validation scripts and add tests if necessary.
Document as you go. Extend the relevant page under
docs/source/when you add or change behaviour. The documentation is built as part of CI and warnings fail the build.Prefer type hints and small helpers. The modern
core/modules are a transcription of the legacy code; helper functions exist to keep the flow readable without altering the math.Use the project tooling. Formatting, linting, and tests are orchestrated via
pre-commithooks andpytest. Runpre-commit installonce andpre-commit run --all-filesbefore sending a PR.
Process
Fork and branch from
main.Make changes with accompanying tests and documentation.
Run the validation scripts relevant to your change.
Submit a pull request summarising the physics context and validation output.
Reach out via the issue tracker if you plan a large refactor so we can align on scope before you begin.