Reproduce

python -m venv .venv
pip install -e ".[dev]"
python scripts/generate_dataset.py
python scripts/validate_dataset.py
python scripts/run_tfidf_baseline.py
python scripts/run_evaluation.py
python scripts/build_figures.py
pytest

Gemma runs are free on Kaggle/Colab. Use platform secrets only (never paste tokens into the repo).

python scripts/package_for_kaggle.py
# Upload dist/controlsift_kaggle_bundle.zip as a private Kaggle Dataset
# Open notebooks/kaggle_runner.ipynb with GPU + secret HF_TOKEN
# See notebooks/KAGGLE_SAFE_RUN.md
pip install -e ".[gpu]"
python scripts/run_gemma_baseline.py --mode zero_shot --split validation --limit 8
python -m controlsift.training.train --smoke
python scripts/run_gemma_qlora_eval.py --split validation --limit 8