release-train: develop -> staging - #114
Merged
Merged
Conversation
…nd#1858) (#113) * fix(docs): install commands named extras removed in SDK 0.10.0 (backend#1858) `tools-help/tracebloc.mdx` documented `tracebloc[boosting]` and `tracebloc[survival]`. Both were removed in 0.10.0, eight published releases ago. `pip` does not fail on an unknown extra — it warns, installs the core SDK only, and exits 0 — so a reader following the page got a core-only install and discovered it later as an ImportError, far from the command that caused it. Replace them with the per-library extras (`xgboost` / `catboost` / `lightgbm`, `lifelines` / `scikit-survival`) and note that the Hugging Face stack now ships inside `[pytorch]`. Also bump the `>=0.8.1` floor to `>=0.18.1` in both pages that carry it. The stale floor is what made this silent: it floats forward to a release that no longer has the extras, while still being satisfiable by 0.8.1 on an unsupported Python. `join-use-case/start-training.mdx` told readers to create a Python 3.9 environment, on which the old floor quietly resolves to 0.8.1 instead of erroring; with the current floor pip now fails loudly, and the page asks for 3.12. Add `scripts/check-sdk-extras.py` plus a workflow to run it: every documented `tracebloc[...]` spec must name an extra that exists in the release its floor resolves to. Verified it fails on the pre-fix content and passes on the fixed tree. Wired into `make check-all`, and the Makefile comment that claimed no content gate exists is updated. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * docs: reword Python-version note to match the >=0.18.1 pin (loud pip error, not silent 0.8.1 fallback); addresses @saadqbal review, docs#113. --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Contributor
Author
|
bugbot run |
Contributor
Author
|
bugbot run |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
1 issue from previous review remains unresolved.
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit f62b210. Configure here.
… readers get (#115) Bugbot Medium on the staging promotion PR #114. `parse_version` reduces a tag to a tuple of leading digits, so `0.19.0a1` became (0, 19, 0) and outranked `0.18.1` at (0, 18, 1). `resolve_version` then answered "which version does this documented specifier select?" with a PRE-RELEASE — and pip does not install those without `--pre`, which none of the documented `pip install "tracebloc[...]"` commands pass. So the gate would check the extras of a version no reader can obtain, and pass or fail the docs against a package nobody installs. Both directions are wrong: a missing extra in a stable release goes unnoticed, and an extra that exists only in an alpha reads as present. Latent today -- all 11 published releases are stable -- like most of this class. It arms itself the day an alpha is published. Hand-rolled PEP 440 detection because the script is STDLIB-ONLY by construction: sdk-extras-check.yml runs `python3 scripts/check-sdk-extras.py` with no setup-python and no pip install, so `packaging.version` is not importable and reaching for it would mean adding a dependency step to a docs check. `.postN` is deliberately excluded from the marker set -- post releases install by default. Stated rather than overclaimed: if a package had ONLY pre-releases the fallback picks an arbitrary one, because parse_version reduces 1.0.0a1 and 1.0.0b2 to the same tuple and ordering them needs real PEP 440 parsing. That branch is a guard against an empty max(), not a path anyone rides. Verified: 10 classification cases (a/b/rc/alpha/preview/dev true, post/plain false); the reported bug both ways -- with the filter 0.18.1, without it 0.19.0a1; and the real gate still runs clean against live PyPI.
Contributor
Author
|
bugbot run |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit f3bd876. Configure here.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Automated promotion by the release train (RFC-0008 D14). Head is the train-managed
release-train/to-stagingbranch (a mirror ofdevelop), so it never collides with a human PR. Merged only when the fr-gate is green.Note
Low Risk
Docs and CI/Makefile tooling only; no runtime product code. Scheduled workflow depends on PyPI availability.
Overview
Adds a PyPI-backed guard so documented
pip install "tracebloc[...]"lines cannot drift from real package extras (the failure mode wherepipwarns but exits 0 on unknown extras).scripts/check-sdk-extras.pyscans.md/.mdxfor install specs, resolves version floors likepip(newest stable satisfying>=), and checks each extra against that release’sProvides-Extraon PyPI.sdk-extras-check.ymlruns it on push/PR (docs paths), weekly schedule, and dispatch;make check-all/check-sdk-extraswire the same check locally whilemake checkstays offline.Install docs are brought in line: Python 3.12 (with 3.11/3.12 requirement notes), floor
>=0.18.1, andtools-help/tracebloc.mdxreplaces removed[boosting]/[survival]with current per-library extras plus a note on 0.10.0 removals;start-training.mdxmatches those install lines.Reviewed by Cursor Bugbot for commit f3bd876. Bugbot is set up for automated code reviews on this repo. Configure here.