Skip to content

docs(frameworks): correct TensorFlow support claims (backend#2298) - #135

Merged
aptracebloc merged 2 commits into
developfrom
docs-2298-tf-claims-develop
Aug 24, 2026
Merged

docs(frameworks): correct TensorFlow support claims (backend#2298)#135
aptracebloc merged 2 commits into
developfrom
docs-2298-tf-claims-develop

Conversation

@aptracebloc

@aptracebloc aptracebloc commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

TensorFlow is retired. New TF model uploads are now rejected (backend#2427, merged); existing/historical TF experiments remain readable (RFC-BACKEND-2232, D3). The public docs still advertised TensorFlow as a supported upload framework — this corrects that.

Retargeted to develop (supersedes #134, which was opened against main — the docs repo's front-door gate routes main through the release train, not direct PRs).

What changed (6 docs-native pages)

  • Removed TensorFlow from the supported-upload / framework-choice lists: overview/tracebloc.mdx, join-use-case/overview.mdx, tools-help/faqs.mdx, and the per-task "Frameworks:" lines in join-use-case/how-training-works.mdx.
  • Reframed the model-upload authoring guide and the TF-specific reference material (hyperparameters.mdx, how-training-works.mdx) as deprecated / read-only for existing experiments via page-level notes — the detail stays accurate for the historical experiments that remain readable (D3), rather than being deleted.

Synced pages handled at source (Bugbot catch)

tools-help/tracebloc.mdx and join-use-case/start-training.mdx are sync destinations (docs .github/sync-sources.yml), so their TF edits are made in the source repos instead — otherwise the next sync reverts them:

Refs tracebloc/backend#2298 (this PR + the two source PRs together complete #2298; closing #2298 manually once all three land + sync).

— drafted with Claude Code

TensorFlow is retired: new TF model uploads are rejected (backend#2427),
while existing TF experiments remain readable (RFC-BACKEND-2232, D3). Remove
TensorFlow from the supported-upload framework lists, drop the [tensorflow]
install extra, and reframe the remaining TF-specific reference material as
deprecated/read-only for existing experiments.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 53dbe03. Configure here.

Comment thread tools-help/tracebloc.mdx Outdated
…end#2298)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@LukasWodka LukasWodka left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bugbot's sync-destination finding is real — I measured it rather than agreeing with it

Two of the eight files are sync destinations, so editing them here is restating what upstream declares, and the next sync overwrites it. Confirmed on both ends:

.github/sync-sources.yml
  tracebloc-package → repo: tracebloc/tracebloc-py-package  ref: develop  src: README.md
                      dest: tools-help/tracebloc.mdx
  start-training    → repo: tracebloc/start-training        ref: main     src: README.md
                      dest: join-use-case/start-training.mdx

And the upstream sources still advertise it — not inferred, read from the refs the mapping names:

tracebloc-py-package @ develop  README.md
  :14  pip install "tracebloc[tensorflow]"       # TensorFlow
  :52  | **TensorFlow** | Image classification, tabular classification |
  :71  …a Python version compatible with TensorFlow (ideally 3.11 or 3.12)

start-training @ main  README.md
  :25  # pip install "tracebloc[tensorflow]>=0.8.1" # TensorFlow

Three things worth adding to Bugbot's version.

1. It isn't "the next sync" — it's within a day, unattended. sync-docs.yml runs on repository_dispatch and schedule: cron "0 6 * * *". So the two pages revert on the next daily run after merge whether or not anyone touches the upstream repos. Six files stay fixed, two quietly un-fix themselves, and the PR reads as complete in the meantime.

2. The start-training half has a longer pole than it looks. That mapping reads ref: main, but the repo's default branch is develop and the branch model is develop → staging → main. So an upstream fix doesn't propagate when it merges — it propagates when the release train promotes it to main. Until then the daily sync keeps pulling the stale main README. Worth knowing before someone opens the upstream PR and assumes the docs follow within a day.

3. The check that exists here can't see this class, and this repo already knows it cares. sdk-extras-check.yml asserts every documented pip install "tracebloc[…]" names an extra that really exists in the resolved release — its own header cites backend#1858, where [boosting] and [survival] were documented for eight releases after removal. But it's one-directional: it validates documented→exists, so it stays green both when docs stop advertising an extra the SDK still ships and when a sync puts the claim back. The failure mode this PR runs into is the mirror of the one that workflow was built for.

The shape that can't regress: drop tools-help/tracebloc.mdx and join-use-case/start-training.mdx from this PR, fix the two upstream READMEs, and let the sync carry it down. The remaining six files then land clean and nothing self-reverts. That also keeps the sync's own contract intact — a destination edited by hand is a destination that will disagree with its source forever.


The six files that do stick are well done, and I checked them against what actually shipped rather than against the description.

Every page keeps a consistent, accurate <Note>: uploads rejected, existing experiments readable, PyTorch/sklearn for new work. That matches backend#2427 as merged — I reviewed and approved that guard, and it rejects on the file-detected framework at both write entry points while leaving every read path alone. So the docs claim and the code agree, which is the thing most likely to be wrong in a deprecation PR and isn't here.

Keeping hyperparameters.mdx / model-optimization.mdx / how-training-works.mdx as read-only reference behind a deprecation note, rather than deleting them, is the right call and the one RFC-BACKEND-2232 D3 implies: those experiments remain readable, so their documentation has to remain too. Deleting it would have made the platform's own history undocumented.

Retargeting from #134 to develop was also correct — the docs repo's front-door gate routes main through the release train.

Not approving: Bugbot's thread is open and the finding is sound, so it's the author's to clear. Once those two files are out of the diff, this is an approve from me.

@LukasWodka LukasWodka left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving — e2476767 takes the right fix, and I checked it's a clean revert rather than a reshuffle

Gate: 10/10 checks pass, MERGEABLE, Bugbot's thread resolved, no standing change-request.

The delta between 53dbe03a and e2476767 is exactly the two sync destinations coming back out and nothing else:

join-use-case/start-training.mdx | 1 +
tools-help/tracebloc.mdx         | 5 +----

So the six docs-native pages are byte-identical to what I read last pass, and the diff is now the set of files this repo actually owns. That's the version that can't silently un-fix itself on the 06:00 sync — editing a destination would have disagreed with its source forever, and the daily cron would have won.

Re-confirming the substance, since dropping files can quietly break the pages that remain: each of the six still carries its <Note>, the framing is accurate against backend#2427 as merged (uploads rejected on the file-detected framework at both write entry points, every read path untouched), and keeping hyperparameters.mdx / model-optimization.mdx / how-training-works.mdx as read-only reference behind a deprecation note is what D3 implies — those experiments stay readable, so their documentation has to as well.


The follow-up this now depends on, so it doesn't get lost. Until the two upstream READMEs are fixed and synced, the published docs are internally inconsistent: six pages say TensorFlow is deprecated while tools-help/tracebloc.mdx:20 and join-use-case/start-training.mdx:46 still show

# pip install "tracebloc[tensorflow]>=0.18.1"

It's a commented-out line in an install snippet rather than an active recommendation, so the inconsistency is mild and the tradeoff is clearly the right way round — a temporary stale comment beats a correction that reverts itself. But it needs the two upstream PRs to actually happen:

  • tracebloc/tracebloc-py-package @ develop — README :14 install line, :52 framework table row, :71 the TF-version note. Private repo.
  • tracebloc/start-training @ main — README :25. Note the ref: sync-sources.yml reads this one at main, not develop, so a merge to develop won't propagate; it lands in the docs when the release train promotes it. Worth knowing so nobody waits a day for a sync that can't happen yet.

Worth a line on backend#2298 naming both, since #2298 closes with this PR and the remaining half lives in two other repos.

@aptracebloc
aptracebloc merged commit 358e435 into develop Aug 24, 2026
10 checks passed
@aptracebloc
aptracebloc deleted the docs-2298-tf-claims-develop branch August 24, 2026 09:19

@saadqbal saadqbal left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Checked the claims against the shipped code rather than the PR body — the wording tracks
common/constants.py:TENSORFLOW_UPLOAD_REJECTED_MESSAGE on develop (landed in backend#2427),
including "existing TensorFlow experiments remain readable", and sklearn is a real
FRAMEWORK_CHOICES entry, so the substitutions in overview/tracebloc.mdx and faqs.mdx are accurate.

Swept the branch for TF claims left standing: everything remaining in how-training-works.mdx,
hyperparameters.mdx and model-optimization.mdx sits under one of the notes this PR adds
(page-level, plus the section notes on Tensorflow mandatory variables and formats 3–4), and no
other page or docs.json still advertises it. Keeping the TF reference material as read-only
history rather than deleting it is the right call under D3.

Good handling of the Bugbot sync catch too — reverting the two synced pages and doing the
[tensorflow] extra in tracebloc-py-package#440 / start-training#69 is the only version that
survives the next sync, and Refs rather than Closes on #2298 is correct while those two are open.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants