DEVELOPMENT WORKFLOW#
Setup#
scripts/dev_setup.sh
Creates/updates .venv, installs dev dependencies, and installs pre-commit hooks.
Local Quality Gate#
scripts/tests_local.sh
Runs:
ruff checkmypy srcpytest -qwithPYTHONPATH=src
Git Flow#
Create a branch:
git checkout -b feat/<name>
Implement changes.
Run
scripts/tests_local.sh.Commit.
Push and open PR.
Remote Experiment Workflow#
If you are using a local-edit plus SSH/Slurm-run workflow, use the dedicated guide in CLUSTER_SYNC_WORKFLOW.md.
That workflow is intentionally different from normal feature development:
it uses dedicated run branches instead of
mainit allows tracked artifacts on those run branches
it treats the remote clone as execute-only
CI Expectations#
CI mirrors the same checks:
lint (
ruff)typing (
mypy)tests (
pytest)