.PHONY: help sync data train evaluate export benchmark pack push all smoke clean RUN_ID ?= run-$(shell date -u +%Y%m%d-%H%M%S) LR ?= EPOCHS ?= help: @echo "make sync install dependencies via uv" @echo "make data 01: download disfluencyspeech, build injection pairs" @echo "make train RUN_ID=r1 02: lora sft on qwen2.5-0.5b-instruct" @echo "make evaluate RUN_ID=r1 03: raw vs base vs fine-tune on the real held-out test" @echo "make export RUN_ID=r1 04: merge lora and export fp32 + int8 onnx" @echo "make benchmark RUN_ID=r1 05: cpu latency (run locally for the truth)" @echo "make pack RUN_ID=r1 06: tar the run, print sha256 and the scp line" @echo "make push RUN_ID=r1 publish to the hf hub (uses HF_TOKEN in .env.local)" @echo "make all RUN_ID=r1 the whole pipeline end to end (no push, no benchmark)" @echo "make smoke tiny cpu run, no gpu needed, validates wiring" sync: uv sync data: uv run python scripts/01_download.py train: uv run python scripts/02_train.py --run-id $(RUN_ID) $(if $(LR),--lr $(LR),) $(if $(EPOCHS),--epochs $(EPOCHS),) evaluate: uv run python scripts/03_evaluate.py --run-id $(RUN_ID) export: uv run python scripts/04_export.py --run-id $(RUN_ID) benchmark: uv run python scripts/05_benchmark.py --run-id $(RUN_ID) pack: uv run python scripts/06_pack_and_ship.py --run-id $(RUN_ID) push: uv run python scripts/push_to_hub.py --run-id $(RUN_ID) all: sync data train evaluate export pack smoke: uv run python scripts/01_download.py --smoke uv run python scripts/02_train.py --run-id smoke --smoke uv run python scripts/03_evaluate.py --run-id smoke --smoke clean: rm -rf runs/* rm -rf data/pairs rm -rf dist/*