unsloth/scripts/data
Daniel Han 420f588205 ci(notebooks): diff Colab oracle against committed snapshots
Extend notebook_validator.py with a colab-diff subcommand that
fetches three files from googlecolab/backend-info:

  pip-freeze.gpu.txt   -> snapshot at scripts/data/colab_pip_freeze.gpu.txt
  apt-list-gpu.txt     -> snapshot at scripts/data/colab_apt_list.gpu.txt
  os-info-gpu.txt      -> snapshot at scripts/data/colab_os_info.gpu.txt

Each file is parsed with a format-specific parser (pip ==, apt
listing, free-form os-info) and compared against the committed
snapshot. The diff reports NEW / REMOVED / CHANGED keys per file.

Wired into Notebooks CI two ways:
- PR-time static job: advisory step (continue-on-error: true) so
  upstream Colab rotations surface in the PR check UI without
  blocking authors.
- Daily static-with-pypi cron: --strict step so backend-info drift
  fails the cron within ~24h and the maintainer can refresh the
  snapshots intentionally.

Catches the same bug classes the existing R-INST-002/003/004/005
rules catch, but earlier: when Colab bumps libcudnn / Python /
torch wheels, we hear about it before a notebook breaks.

Add baseline snapshots from current backend-info HEAD: 1136 apt
packages, 4 os-info entries, 720 pip-freeze entries.
2026-05-08 11:39:38 +00:00
..
colab_apt_list.gpu.txt ci(notebooks): diff Colab oracle against committed snapshots 2026-05-08 11:39:38 +00:00
colab_os_info.gpu.txt ci(notebooks): diff Colab oracle against committed snapshots 2026-05-08 11:39:38 +00:00
colab_pip_freeze.gpu.txt CI(notebooks): cross-repo validator for unslothai/notebooks 2026-05-07 11:42:57 +00:00
colab_to_cpu_pin.json CI(notebooks): cross-repo validator for unslothai/notebooks 2026-05-07 11:42:57 +00:00