Acknowledge the Colab rotation the oracle snapshot is measuring - #9376
Conversation
`Notebooks CI :: static + transitive resolve` has failed all 20 of its last cron runs on one step, `colab-diff --strict`. Nothing is broken. That step is a drift alarm: it compares googlecolab/backend-info against scripts/data/colab_*.txt and fails when Colab rotates, and the `Refresh Colab oracle` step below it writes only into the runner's checkout. So no refresh is ever committed back, and the alarm re-fires every night until someone acknowledges it, which is what this does. The step's own comment names the action: "refresh-colab --all acknowledges a report." The drift is 127 entries: 5 new, 6 removed, 116 version bumps. Why this is safe to take wholesale ------------------------------------------------------------------------ The snapshot is the oracle `lint --colab-pin` resolves R-INST-002/003/004/005 against, so refreshing it could in principle move a verdict. It does not. Exactly one rule-relevant pin drifted, peft 0.19.1 -> 0.20.0, and both sides sit above the 0.19 trigger in the peft/torchao floor table; torchao itself does not appear in the diff at all. Confirmed rather than argued, by linting unslothai/notebooks@main against the old and new oracles and comparing the findings: old 6 R-API-003, 8 R-INST-001, 36 R-INST-003, 1 R-INST-005 new 6 R-API-003, 8 R-INST-001, 36 R-INST-003, 1 R-INST-005 Identical, so this commit changes what the alarm says and nothing about what the linter concludes. Worth reading before the next rotation ------------------------------------------------------------------------ os-info drift is printed but never fails, and nothing reads that file, so this is not a CI matter. It is still the most interesting line in the diff: Colab has moved from Python 3.12.13 to 3.13.15 (and R 4.6.0 to 4.6.1). Flagging it here because it is the kind of change that surfaces in a notebook long before it surfaces in a lint rule. The 36 R-INST-003 findings are pre-existing and remain open. They are real: peft's is_torchao_available() raises ImportError when torchao is installed below 0.16.0, which is a runtime check inside peft rather than a declared dependency, so it is invisible in PyPI metadata and reachable from any get_peft_model call. That backlog belongs to unslothai/notebooks and the lint step is continue-on-error until it clears. Verified: colab-diff --strict exits 0; tests/notebooks 32 passed, 2 skipped.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 13c2f93a0d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| astunparse==1.6.3 | ||
| atpublic==5.1 | ||
| attrs==26.1.0 | ||
| audioop-lts==0.2.2 |
There was a problem hiding this comment.
Skip Python 3.13-only pins in the Python 3.12 smoke seed
The refreshed Colab image now runs Python 3.13, and audioop-lts==0.2.2 declares Python >=3.13, but the smoke-install job still creates a Python 3.12 environment and copies every == pin not explicitly skipped into /tmp/seed_pins.txt. Consequently the bulk pip install cannot resolve this pin and enters the per-pin fallback; the workflow itself documents that this fallback exhausts the 25-minute job timeout before reaching the actual smoke checks. Filter pins by the runner's Python version or move this job to Python 3.13.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Exclude the new CUDA 13 NCCL package from CPU smoke jobs
When scheduled or opt-in smoke-install runs, the seed generator excludes nvidia-nccl-cu12 by exact name through colab_to_cpu_pin.json, but this newly added nvidia-nccl-cu13 name is not in that skip set. Every CPU-only matrix job will therefore attempt to download and install the large CUDA 13 NCCL wheel even though it cannot participate in the smoke test; extend the skip mapping to cover this variant or match the NCCL package family.
Useful? React with 👍 / 👎.
…othai#9376) `Notebooks CI :: static + transitive resolve` has failed all 20 of its last cron runs on one step, `colab-diff --strict`. Nothing is broken. That step is a drift alarm: it compares googlecolab/backend-info against scripts/data/colab_*.txt and fails when Colab rotates, and the `Refresh Colab oracle` step below it writes only into the runner's checkout. So no refresh is ever committed back, and the alarm re-fires every night until someone acknowledges it, which is what this does. The step's own comment names the action: "refresh-colab --all acknowledges a report." The drift is 127 entries: 5 new, 6 removed, 116 version bumps. Why this is safe to take wholesale ------------------------------------------------------------------------ The snapshot is the oracle `lint --colab-pin` resolves R-INST-002/003/004/005 against, so refreshing it could in principle move a verdict. It does not. Exactly one rule-relevant pin drifted, peft 0.19.1 -> 0.20.0, and both sides sit above the 0.19 trigger in the peft/torchao floor table; torchao itself does not appear in the diff at all. Confirmed rather than argued, by linting unslothai/notebooks@main against the old and new oracles and comparing the findings: old 6 R-API-003, 8 R-INST-001, 36 R-INST-003, 1 R-INST-005 new 6 R-API-003, 8 R-INST-001, 36 R-INST-003, 1 R-INST-005 Identical, so this commit changes what the alarm says and nothing about what the linter concludes. Worth reading before the next rotation ------------------------------------------------------------------------ os-info drift is printed but never fails, and nothing reads that file, so this is not a CI matter. It is still the most interesting line in the diff: Colab has moved from Python 3.12.13 to 3.13.15 (and R 4.6.0 to 4.6.1). Flagging it here because it is the kind of change that surfaces in a notebook long before it surfaces in a lint rule. The 36 R-INST-003 findings are pre-existing and remain open. They are real: peft's is_torchao_available() raises ImportError when torchao is installed below 0.16.0, which is a runtime check inside peft rather than a declared dependency, so it is invisible in PyPI metadata and reachable from any get_peft_model call. That backlog belongs to unslothai/notebooks and the lint step is continue-on-error until it clears. Verified: colab-diff --strict exits 0; tests/notebooks 32 passed, 2 skipped. Co-authored-by: danielhanchen <unslothai@gmail.com>

Notebooks CI :: static + transitive resolvehas failed all 20 of its last cron runs on one step,colab-diff --strict. Nothing is broken.That step is a drift alarm: it compares
googlecolab/backend-infoagainstscripts/data/colab_*.txtand fails when Colab rotates. TheRefresh Colab oraclestep directly below it writes only into the runner's checkout, so no refresh is ever committed back and the alarm re-fires every night until someone acknowledges it. The step's own comment names the action: "refresh-colab --allacknowledges a report." This is that acknowledgement.Drift is 127 entries: 5 new, 6 removed, 116 version bumps.
Why this is safe to take wholesale
The snapshot is the oracle
lint --colab-pinresolves R-INST-002/003/004/005 against, so refreshing it could in principle move a verdict. It does not.Exactly one rule-relevant pin drifted,
peft 0.19.1 -> 0.20.0, and both sides sit above the0.19trigger in the peft/torchao floor table;torchaodoes not appear in the diff at all. Confirmed rather than argued, by lintingunslothai/notebooks@mainagainst the old and the new oracle and comparing findings:Identical. This changes what the alarm says and nothing about what the linter concludes.
Worth reading before the next rotation
os-info drift is printed but never fails, and nothing reads that file, so it is not a CI matter. It is still the most interesting line in the diff: Colab has moved from Python 3.12.13 to 3.13.15 (and R 4.6.0 to 4.6.1). Flagging it because that is the kind of change which surfaces in a notebook long before it surfaces in a lint rule.
The 36 R-INST-003 findings are pre-existing and stay open. They are real: peft's
is_torchao_available()raisesImportErrorwhen torchao is installed below 0.16.0. That is a runtime check inside peft rather than a declared dependency, so it is invisible in PyPIrequires_distand reachable from anyget_peft_modelcall (unslothai/notebooks#258). That backlog belongs tounslothai/notebooks, and the lint step iscontinue-on-erroruntil it clears.Verified
colab-diff --strictexits 0 against the refreshed snapshot.tests/notebooks: 32 passed, 2 skipped.