# Code for `AlexWortega/dualrate-physics` Model-defining code so the checkpoints in this repo are reproducible and loadable without the full project. - **`dualrate/`** — the DualRate model package. Importable as `dualrate` (put this directory on your `PYTHONPATH`), which matches the loading snippet in the model card: `from dualrate.config import DualRateConfig`, `from dualrate.model import DualRatePhysicsModel`, `from dualrate.normalization import StateNormalizer`. These three plus `expert.py` and `semantic.py` use only in-package relative imports, so checkpoint loading works standalone. - **`scripts/`** — the training / evaluation drivers: `build_dualrate_cache.py`, `train_dualrate.py`, `eval_dualrate.py`, `eval_dualrate_plle_exact.py`. These expect the full project layout (they import `src.dualrate.*` as well as `src.physics`, `src.data`, `src.training`, `src.evaluation`). To run the full data-build → train → eval pipeline, clone the complete repository: **https://github.com/AlexWortega/dualrate-physics-llm** The semantic encoder weights (`Qwen/Qwen3.5-0.8B`) are **not** stored here or in the checkpoints — they are downloaded from the Hub at load time. The checkpoints hold only the flow expert, projection, readout tokens, config, and state normalizer.