Skip to content
This repository was archived by the owner on Sep 30, 2026. It is now read-only.

style: apply /style-guide pass to models/integrations - #2673

Merged
johndmulhausen merged 13 commits into
mainfrom
style-guide/models-integrations-20260527-015516
Jul 9, 2026
Merged

johndmulhausen merged 13 commits into
mainfrom
style-guide/models-integrations-20260527-015516

Conversation

@johndmulhausen

Copy link
Copy Markdown
Contributor

Summary

This PR applies the /style-guide skill (Google Developer Style Guide + CoreWeave conventions) to 52 files under models/integrations. The run was automated; only style, terminology, voice, and formatting were changed — no technical content was added or modified.

Files edited

  • models/integrations/accelerate.mdx
  • models/integrations/add-wandb-to-any-library.mdx
  • models/integrations/autotrain.mdx
  • models/integrations/azure-openai-fine-tuning.mdx
  • models/integrations/catalyst.mdx
  • models/integrations/cohere-fine-tuning.mdx
  • models/integrations/composer.mdx
  • models/integrations/dagster.mdx
  • models/integrations/databricks.mdx
  • models/integrations/deepchecks.mdx
  • models/integrations/deepchem.mdx
  • models/integrations/diffusers.mdx
  • models/integrations/docker.mdx
  • models/integrations/dspy.mdx
  • models/integrations/farama-gymnasium.mdx
  • models/integrations/fastai.mdx
  • models/integrations/fastai/v1.mdx
  • models/integrations/huggingface.mdx
  • models/integrations/huggingface_transformers.mdx
  • models/integrations/hydra.mdx
  • models/integrations/ignite.mdx
  • models/integrations/keras.mdx
  • models/integrations/kubeflow-pipelines-kfp.mdx
  • models/integrations/lightgbm.mdx
  • models/integrations/lightning.mdx
  • models/integrations/metaflow.mdx
  • models/integrations/mmengine.mdx
  • models/integrations/mmf.mdx
  • models/integrations/nim.mdx
  • models/integrations/openai-api.mdx
  • models/integrations/openai-fine-tuning.mdx
  • models/integrations/openai-gym.mdx
  • models/integrations/paddledetection.mdx
  • models/integrations/paddleocr.mdx
  • models/integrations/prodigy.mdx
  • models/integrations/pytorch-geometric.mdx
  • models/integrations/pytorch.mdx
  • models/integrations/ray-tune.mdx
  • models/integrations/sagemaker.mdx
  • models/integrations/scikit.mdx
  • models/integrations/simpletransformers.mdx
  • models/integrations/skorch.mdx
  • models/integrations/spacy.mdx
  • models/integrations/stable-baselines-3.mdx
  • models/integrations/tensorboard.mdx
  • models/integrations/tensorflow.mdx
  • models/integrations/torchtune.mdx
  • models/integrations/ultralytics.mdx
  • models/integrations/w-and-b-for-julia.mdx
  • models/integrations/xgboost.mdx
  • models/integrations/yolov5.mdx
  • models/integrations/yolox.mdx

Recommendations for technical review

Prerequisites

  • Most pages lack a dedicated Prerequisites section. Consider adding one across the integration set covering required Python version, W&B account / wandb login, and minimum versions of wandb and the integration package. Affected pages include accelerate.mdx, add-wandb-to-any-library.mdx, autotrain.mdx, azure-openai-fine-tuning.mdx, catalyst.mdx, cohere-fine-tuning.mdx, composer.mdx, dagster.mdx, databricks.mdx, deepchecks.mdx, deepchem.mdx, diffusers.mdx, docker.mdx, dspy.mdx, farama-gymnasium.mdx, fastai.mdx, fastai/v1.mdx, huggingface.mdx, huggingface_transformers.mdx, hydra.mdx, ignite.mdx, keras.mdx, lightgbm.mdx, lightning.mdx, metaflow.mdx, mmf.mdx, nim.mdx, openai-api.mdx, openai-fine-tuning.mdx, openai-gym.mdx, paddledetection.mdx, paddleocr.mdx, prodigy.mdx, pytorch-geometric.mdx, pytorch.mdx, ray-tune.mdx, sagemaker.mdx, scikit.mdx, simpletransformers.mdx, skorch.mdx, spacy.mdx, stable-baselines-3.mdx, tensorflow.mdx, torchtune.mdx, ultralytics.mdx, w-and-b-for-julia.mdx, xgboost.mdx, yolov5.mdx, and yolox.mdx.
  • Several pages reference variables ($ENTITY, $PROJECT, $QUEUE, $CONFIG_JSON_FNAME in nim.mdx; FINETUNE_JOB_ID in openai-fine-tuning.mdx) or placeholder ellipses without defining them. Consider replacing with concrete examples or bracketed placeholders such as [ENTITY-NAME].
  • cohere-fine-tuning.mdx and deepchem.mdx use ellipsis placeholders (..., …) in code where readers need real argument shapes.
  • sagemaker.mdx should clarify IAM permissions and how secrets.env connects to wandb.init().
  • nim.mdx references an external personal git branch (andrew/nim-updates) and a sandbox container image (gcr.io/playground-111/...) — confirm whether these should point to stable, public references.

Verification steps

  • Most pages do not describe what the reader should see in W&B after completing each major step (run URL printed to stdout, location of logged metrics/artifacts/media in the UI, confirmation that a checkpoint or table uploaded). Consider adding short "what you'll see" descriptions across the integration set, particularly after install/login steps and after the first logging call.
  • accelerate.mdx, composer.mdx, dagster.mdx, databricks.mdx, deepchecks.mdx, deepchem.mdx, diffusers.mdx, dspy.mdx, huggingface.mdx, huggingface_transformers.mdx, hydra.mdx, ignite.mdx, lightning.mdx, metaflow.mdx, nim.mdx, openai-fine-tuning.mdx, paddleocr.mdx, prodigy.mdx, pytorch.mdx, sagemaker.mdx, scikit.mdx, stable-baselines-3.mdx, tensorflow.mdx, torchtune.mdx, ultralytics.mdx, w-and-b-for-julia.mdx, yolov5.mdx, and yolox.mdx are notable instances.

Technical accuracy

  • Code sample syntax errors and likely bugs:
    • accelerate.mdx (lines 22-25): missing commas in the init_trackers call cause a SyntaxError.
    • cohere-fine-tuning.mdx: undefined Settings and co symbols; code comment typo enitity → entity.
    • composer.mdx: confirm wandb.init() inside eval_end doesn't create duplicate runs with WandBLogger; line 35 uses project="gpt-5".
    • dagster.mdx (line 130): base_dir documented as (int, optional) but should be str.
    • deepchecks.mdx: code comment typo thes → these.
    • huggingface_transformers.mdx: run.use_artifact(my_model_name) references undefined my_model_name instead of the preceding my_checkpoint_name.
    • hydra.mdx: wandb.init is called twice (via with and then again as run = wandb.init(...)).
    • ignite.mdx: import uses deprecated ignite.contrib.handlers.wandb_logger; "mninst" is a typo for "mnist"; prose EVENTS vs. code Events casing mismatch.
    • keras.mdx: line 142 unterminated string filepath="models/,; malformed inline code `{`auto`, `min`, `max`}`; stray trailing pipe and inconsistent type labels in the WandbCallback reference table.
    • lightning.mdx: wandblogger.watch() missing underscore; metric_vale typo; legacy gpus=2 argument; malformed list comprehension in Option 2 callback example.
    • pytorch.mdx: indentation bug in opening snippet (loop body not indented); nested wandb.init() calls in model_pipeline/train/test; hardcoded nn.Conv2d(16, kernels[1], ...); non-deterministic seeds using hash(...) % 2**32 - 1; unused total_batches; off-by-one in batch reporting.
    • scikit.mdx (line 69): missing with keyword; lines 273-274 appear to swap classification vs. regression metrics; line 229 has a missing closing quote in ['width', 'height, 'length'].
    • tensorboard.mdx (line 27): missing with keyword; line 60 placeholder uses angle brackets; line 67 tensorboard_x parameter name needs verification; line 101 has vestigial f string prefixes and uses glob.glob without import glob.
    • tensorflow.mdx: tf.FLAGS vs. tf.flags.FLAGS inconsistency; line 73 run.log("loss": loss.numpy()) is invalid Python.
    • xgboost.mdx (line 23): import xgboost as XGBClassifier aliases the wrong thing; line 25 references undefined X_train, y_train, wandb.
    • openai-gym.mdx (line 18): truncated sentence and malformed link by[ CleanRL].
    • yolox.mdx: num_eval_imges typo (or upstream-mirrored?); training command missing trailing backslash for shell continuation.
    • ultralytics.mdx: inference example uses image filenames (img1.jpeg, img3.png) that don't match the files downloaded by the preceding wget block.
  • API and version currency to confirm:
    • accelerate.mdx: prose references wandb.Run.log() while the example uses accelerator.log().
    • add-wandb-to-any-library.mdx: wandb==0.13.* pin; semantic equivalence of wandb.init(mode="disabled") / WANDB_MODE=disabled / wandb disabled; wandb.Run.config.update vs. run.config.update; artifact reference syntax.
    • autotrain.mdx: autotrain-advanced CLI phrasing; --lr str(learning_rate) syntax in notebook block.
    • azure-openai-fine-tuning.mdx: confirm zero-code claim, supported model list (GPT-4o, GPT-4.1), and that the Azure docs link target is correct (currently a wandb.me redirect).
    • composer.mdx: defaults for rank_zero_only and log_artifacts; current Composer State API (state.timer vs. state.timestamp, state.batch_pair, state.outputs).
    • dagster.mdx: aliases vs. tags semantics; current Launch beta status; "Dagit" naming (now "Dagster UI").
    • databricks.mdx: databricks-cli legacy CLI flags vs. the newer databricks CLI; whether the Sweeps env-var workaround is still required.
    • farama-gymnasium.mdx: confirm gymnasium.wrappers.Monitor wrapper name (Gymnasium has renamed/removed it in favor of RecordVideo); line-anchored GitHub link is rot-prone.
    • huggingface_transformers.mdx: TFTrainer is deprecated in recent versions.
    • keras.mdx: minimum SDK requirement 0.13.4 should be elevated; verify WandbCallback argument defaults.
    • lightning.mdx: wandb.require(experiment="service") currency; multi-GPU WANDB_DIR snippet completeness.
    • metaflow.mdx: conditional install for wandb ≤ 0.19.8 (fastcore<1.8.0 vs. plum-dispatch<3.0.0).
    • openai-api.mdx: confirm autolog is limited to OpenAI SDK ≤ 0.28.1, and that autolog.disable() is the correct call.
    • openai-fine-tuning.mdx: 60-second poll interval for wait_for_job_success; key name fine_tuned_model vs. fine_tuned_model_id in model_metadata.json.
    • paddleocr.mdx: YAML Global: / True capitalization, and currency of release/2.5/tools/train.py.
    • pytorch.mdx: torch.onnx.export pattern currency; wandb.sweep without project argument; offline-mode terminology (dryrun vs. WANDB_MODE=offline).
    • ray-tune.mdx: tune.report vs. train.report — confirm which is current.
    • sagemaker.mdx: Python 2 psutil wheel workaround likely stale; wandb.sagemaker_auth and wandb.Settings(sagemaker_disable=True) API currency.
    • stable-baselines-3.mdx: gym is deprecated in favor of gymnasium; the title "Stable Baselines 3 PyTorch" reads oddly.
    • tensorboard.mdx: TensorBoard 1.14+ constraint and wandb 0.20.0+ cloud-sync minimums.
    • tensorflow.mdx: page mixes TF1 (tf.Session(), estimators) and TF2 (tf.GradientTape) without versioning guidance; conflicting guidance on step arg with sync_tensorboard=True.
    • ultralytics.mdx: ultralytics==8.0.238 pin from late 2023 needs a freshness check.
    • w-and-b-for-julia.mdx: package casing (Wandb.jl vs. wandb.jl); whether the integration is still "unofficial/community" and whether the linked repo is still maintained.
  • Link and asset hygiene:
    • azure-openai-fine-tuning.mdx, catalyst.mdx, cohere-fine-tuning.mdx (kkt_ft_cookbooks feature branch), diffusers.mdx (<ColabLink> to lcm-diffusers.ipynb doesn't match shown SD 2.1 / SDXL content), fastai/v1.mdx (Hugging Face report linked from a fastai example), fastai.mdx (legacy app.wandb.ai/borisd13/demo_config link), huggingface.mdx (/models/integrations/huggingface/ may self-link), keras.mdx (YouTube URL has parameter ordering issues and a backslash-escaped ampersand), nim.mdx (Llama2-7b benchmark currency), prodigy.mdx (trailing-slash internal link), tensorboard.mdx (TensorBoard embedded-cloud note linking), yolov5.mdx (broken ../ placeholder link; wandb.com vs. wandb.ai domain).

Missing content

  • Troubleshooting / failure-mode guidance is absent on most pages. Pages that would particularly benefit: add-wandb-to-any-library.mdx, dagster.mdx, databricks.mdx, deepchem.mdx, docker.mdx, huggingface_transformers.mdx, nim.mdx, pytorch.mdx, simpletransformers.mdx, w-and-b-for-julia.mdx, yolox.mdx.
  • Pages that reference features they don't demonstrate or define:
    • accelerate.mdx: <Warning> block describing default behavior may be more appropriate as <Note>.
    • catalyst.mdx: lists supported logging types only at a high level; consider a minimal WandbLogger(...) snippet to match skorch.mdx/ignite.mdx.
    • deepchem.mdx: intro promises "model checkpointing" but no section covers it.
    • dspy.mdx: dspy.Evaluate, MIPROv2, dspy.ChainOfThought, and "program signature evolution" used without definition or link.
    • farama-gymnasium.mdx: no end-to-end snippet showing wandb.init(..., monitor_gym=True) with a Gymnasium env.
    • keras.mdx: "It also logs:" on line 62 has no following list; FAQ section has only one entry; "Memory footprint details" section references an example that doesn't appear.
    • lightning.mdx: "Log gradients, parameter histogram and model topology" trails off without a target/link.
    • mmf.mdx: no end-to-end "enable and run" flow.
    • nim.mdx: confirm whether "NV-GPT" support shipped or was renamed; consider Llama 3+.
    • openai-fine-tuning.mdx: W&B Registry, Artifacts, Tables references lack inline definitions/links.
    • pytorch.mdx: no DDP/distributed-training section; "Define testing logic" jumps straight to a run.save() subsection.
    • pytorch-geometric.mdx: snippets reference tqdm, nx, go, graph without imports or context for obtaining a PyG graph object.
    • tensorboard.mdx: undefined terms (TensorBoard tab, tfevents, .pbtxt, SummaryWriter).
    • yolov5.mdx: no caveats on --upload_dataset (size, format, rate limits).
  • Code-comment / non-code typos to consider during a technical-edit pass: composer.mdx (# stores / stray "logs it" literal), dagster.mdx (# this will be stored in an Artifact future tense), databricks.mdx (Sweeps section context), pytorch-geometric.mdx ("visualisation" in PyVis comment), cohere-fine-tuning.mdx (enitity), deepchecks.mdx (thes), keras.mdx (table type labels), dagster.mdx (mixed YAML/Python in a single python fence).
  • Audit consistency:
    • accelerate.mdx, databricks.mdx, nim.mdx: pages use phrasing tightened from older "this will be necessary in the future" hedges — confirm whether each workaround is still required.
    • cohere-fine-tuning.mdx: SoTA claim was downgraded to "evaluates pass@1" — confirm whether the page is meant to reproduce a specific benchmark.
    • prodigy.mdx: "tries to convert" → "automatically converts" may now over-promise.

How to review

  • Each file's changes are style edits only. Compare side-by-side and flag any that change technical meaning.
  • Approve and merge to accept the edits, or close to reject them.

@johndmulhausen
johndmulhausen requested a review from a team as a code owner May 27, 2026 05:56
@mintlify

mintlify Bot commented May 27, 2026 •

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
wandb 🟢 Ready View Preview May 27, 2026, 6:01 AM

@github-actions

github-actions Bot commented May 27, 2026 •

Copy link
Copy Markdown
Contributor

📚 Mintlify Preview Links

🔗 View Full Preview

📝 Changed (52 total)

📄 Pages (52)

File Preview
models/integrations/accelerate.mdx Accelerate
models/integrations/add-wandb-to-any-library.mdx Add Wandb To Any Library
models/integrations/autotrain.mdx Autotrain
models/integrations/azure-openai-fine-tuning.mdx Azure Openai Fine Tuning
models/integrations/catalyst.mdx Catalyst
models/integrations/cohere-fine-tuning.mdx Cohere Fine Tuning
models/integrations/composer.mdx Composer
models/integrations/dagster.mdx Dagster
models/integrations/databricks.mdx Databricks
models/integrations/deepchecks.mdx Deepchecks
... and 42 more files

🤖 Generated automatically when Mintlify deployment succeeds
📍 Deployment: 41e3ddc at 2026-07-06 23:18:42 UTC

@github-actions

github-actions Bot commented May 27, 2026 •

Copy link
Copy Markdown
Contributor

🔗 Link Checker Results

✅ All links are valid!

No broken links were detected.

Checked against: https://wb-21fd5541-style-guide-models-integrations-20260527-015516.mintlify.app

Add frontmatter keywords per updated style-guide guidance for Mintlify search relevance.
Revises the keywords added in the previous commit to align with the
updated guidance in docs-skills structure-pass.md: prefer specific API
names, acronyms, and phrases over terms that overlap with the page
title or description. Drops redundant name repetitions and adds more
targeted terms (for example BootstrapFewShot, LGBMClassifier, pp-OCR,
YOLOv8/YOLOv11).
Comment thread models/integrations/accelerate.mdx Outdated
Comment thread models/integrations/fastai/v1.mdx Outdated

@ngrayluna ngrayluna 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.

Part I. Got as far as Dagster docs.

Comment thread models/integrations/add-wandb-to-any-library.mdx Outdated
Comment thread models/integrations/add-wandb-to-any-library.mdx Outdated
Comment thread models/integrations/add-wandb-to-any-library.mdx Outdated
Comment thread models/integrations/add-wandb-to-any-library.mdx Outdated
Comment thread models/integrations/add-wandb-to-any-library.mdx Outdated
Comment thread models/integrations/dagster.mdx Outdated
Comment thread models/integrations/dagster.mdx Outdated
Comment thread models/integrations/dagster.mdx Outdated
Comment thread models/integrations/dagster.mdx Outdated
Comment thread models/integrations/dagster.mdx Outdated

@ngrayluna ngrayluna 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.

Part I. Got as far as Dagster docs.

Address the Part I review on PR #2673:

- Remove the keywords frontmatter from all 52 integration pages
  (reviewer noted the proposed keywords are random).
- Revert [ALL-CAPS] placeholders to the <angle-bracket> convention used
  elsewhere in the docs and add "Replace values enclosed in <> with your
  own" guidance (add-wandb-to-any-library, autotrain, cohere, dagster).
- Refer to W&B (not `wandb`) as the actor performing actions, and introduce
  `wandb` as the W&B Python SDK on first mention.
- Use "previous" instead of "preceding" and qualify wandb.Run.use_artifact().
- accelerate: replace the remaining "via" for ESL-friendliness.
- autotrain: drop the W&B self-link and use active voice.
- azure-openai-fine-tuning: make the tracking step imperative and parallel.
- cohere: tighten the intro, avoid "This page shows you how to", active voice.
- composer: simplify the intro, qualify composer.loggers.WandBLogger and
  composer.Trainer, and remove the stale Logger arguments table in favor of
  the Composer docs.
- dagster: tighten the intro, replace "It walks" phrasing, drop the confusing
  credentials sentence, simplify the W&B entity definition with a link to the
  team docs, and link the Configuration section.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
johndmulhausen added a commit that referenced this pull request Jun 5, 2026
Apply recurring style rules from ngrayluna's review of the integrations
PR (#2673) to the models/track set:

- "preceding" -> "previous"
- passive -> active voice; W&B (not `wandb`) as the actor performing actions
- third person -> second person (address the reader as "you")
- gloss `wandb` as the W&B Python SDK on first mention where context was missing

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@johndmulhausen
johndmulhausen requested a review from Copilot June 5, 2026 19:40

Copilot AI 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.

Pull request overview

This PR applies a repo-wide style-guide pass (Google Developer Style Guide + CoreWeave conventions) across the models/integrations documentation set to improve consistency in terminology, voice, and formatting.

Changes:

  • Standardized intros and wording to better describe audience, outcomes, and workflows across integration pages.
  • Normalized formatting (lists, headings, code-fence languages, placeholders) for readability and consistency.
  • Adjusted phrasing around steps and expected results to reduce ambiguity.

Reviewed changes

Copilot reviewed 52 out of 52 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
models/integrations/accelerate.mdx Style/voice and formatting updates for the Accelerate integration page.
models/integrations/add-wandb-to-any-library.mdx Style/voice and formatting updates for library-author guidance.
models/integrations/autotrain.mdx Style/voice and formatting updates for AutoTrain integration instructions.
models/integrations/azure-openai-fine-tuning.mdx Style/voice and formatting updates for Azure OpenAI fine-tuning guidance.
models/integrations/catalyst.mdx Style/voice and link-text formatting updates for Catalyst references.
models/integrations/cohere-fine-tuning.mdx Style/voice updates and minor snippet/comment hygiene.
models/integrations/composer.mdx Style/voice and formatting updates for MosaicML Composer integration content.
models/integrations/dagster.mdx Style/voice and formatting updates for Dagster integration guidance.
models/integrations/databricks.mdx Style/voice and formatting updates for Databricks integration instructions.
models/integrations/deepchecks.mdx Style/voice and formatting updates for DeepChecks integration examples.
models/integrations/deepchem.mdx Style/voice and formatting updates for DeepChem integration guidance.
models/integrations/diffusers.mdx Style/voice and formatting updates for Diffusers autolog guidance.
models/integrations/docker.mdx Style/voice and formatting updates for Docker environment tracking docs.
models/integrations/dspy.mdx Style/voice and formatting updates for DSPy + W&B integration content.
models/integrations/farama-gymnasium.mdx Style/voice and formatting updates for Gymnasium integration guidance.
models/integrations/fastai.mdx Style/voice and formatting updates for fastai integration instructions.
models/integrations/fastai/v1.mdx Style/voice and formatting updates for legacy fastai v1 page.
models/integrations/huggingface.mdx Style/voice and formatting updates for the Hugging Face tutorial page.
models/integrations/huggingface_transformers.mdx Style/voice and formatting updates for Transformers integration page.
models/integrations/hydra.mdx Style/voice and formatting updates for Hydra integration guidance.
models/integrations/ignite.mdx Style/voice and formatting updates for PyTorch Ignite integration page.
models/integrations/keras.mdx Style/voice and formatting updates for Keras callbacks integration docs.
models/integrations/kubeflow-pipelines-kfp.mdx Style/voice and formatting updates for Kubeflow Pipelines integration.
models/integrations/lightgbm.mdx Style/voice and formatting updates for LightGBM integration docs.
models/integrations/lightning.mdx Style/voice updates for PyTorch Lightning + W&B integration docs.
models/integrations/metaflow.mdx Style/voice and formatting updates for Metaflow decorator integration docs.
models/integrations/mmengine.mdx Style/voice and formatting updates for MMEngine W&B backend guidance.
models/integrations/mmf.mdx Style/voice and formatting updates for MMF WandbLogger configuration docs.
models/integrations/nim.mdx Style/voice and formatting updates for NIM deployment job documentation.
models/integrations/openai-api.mdx Style/voice and formatting updates for OpenAI API autolog integration.
models/integrations/openai-fine-tuning.mdx Style/voice and formatting updates for OpenAI fine-tuning sync guidance.
models/integrations/openai-gym.mdx Style/voice updates for OpenAI Gym video logging integration page.
models/integrations/paddledetection.mdx Style/voice and formatting updates for PaddleDetection integration docs.
models/integrations/paddleocr.mdx Style/voice and formatting updates for PaddleOCR integration docs.
models/integrations/prodigy.mdx Style/voice and formatting updates for Prodigy dataset upload docs.
models/integrations/pytorch-geometric.mdx Style/voice and formatting updates for PyTorch Geometric integration docs.
models/integrations/pytorch.mdx Style/voice and formatting updates for the PyTorch tutorial content.
models/integrations/ray-tune.mdx Style/voice and formatting updates for Ray Tune integration docs.
models/integrations/sagemaker.mdx Style/voice and formatting updates for SageMaker integration guidance.
models/integrations/scikit.mdx Style/voice and formatting updates for scikit-learn integration docs.
models/integrations/simpletransformers.mdx Style/voice and formatting updates for Simple Transformers integration docs.
models/integrations/skorch.mdx Style/voice and formatting updates for Skorch integration docs.
models/integrations/spacy.mdx Style/voice and formatting updates for spaCy v3 integration docs.
models/integrations/stable-baselines-3.mdx Style/voice and formatting updates for SB3 integration docs.
models/integrations/tensorboard.mdx Style/voice and formatting updates for TensorBoard syncing documentation.
models/integrations/tensorflow.mdx Style/voice and formatting updates for TensorFlow integration docs.
models/integrations/torchtune.mdx Style/voice and formatting updates for torchtune integration docs.
models/integrations/ultralytics.mdx Style/voice and formatting updates for Ultralytics integration docs.
models/integrations/w-and-b-for-julia.mdx Style/voice and formatting updates for Julia bindings page.
models/integrations/xgboost.mdx Style/voice and formatting updates for XGBoost integration docs.
models/integrations/yolov5.mdx Style/voice and formatting updates for YOLOv5 integration docs.
models/integrations/yolox.mdx Style/voice and formatting updates for YOLOX integration docs.
Comments suppressed due to low confidence (1)

models/integrations/xgboost.mdx:24

  • import xgboost as XGBClassifier is an incorrect import: it aliases the module as XGBClassifier, but the code later calls XGBClassifier() as if it were the class. Import the estimator class (and also import wandb, since it's used below).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread models/integrations/yolox.mdx Outdated
Comment thread models/integrations/scikit.mdx Outdated
Comment thread models/integrations/openai-gym.mdx Outdated
Comment thread models/integrations/lightning.mdx Outdated
Comment thread models/integrations/lightning.mdx Outdated
Comment thread models/integrations/ultralytics.mdx
Comment thread models/integrations/cohere-fine-tuning.mdx Outdated
johndmulhausen and others added 2 commits June 5, 2026 16:19
Per review follow-up, switch away from "the W&B App" wording. Use the
umbrella term "W&B" instead, which reads naturally and matches the
product-naming guidance in AGENTS.md (there is no "W&B App" product).
Updates add-wandb-to-any-library and dagster (the Part I files in this
review pass that used the phrase).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Resolve the code bugs and typos flagged by the Copilot review on #2673:

- yolox: add the missing trailing backslash after the wandb-entity line so
  the multi-line training command continues correctly.
- scikit: fix the mismatched quotes in the plot_feature_importances feature
  list (['width', 'height', 'length']).
- openai-gym: fix the malformed "by [CleanRL]" link and complete the
  truncated sentence ("how to use gym with W&B").
- lightning: use wandb_logger.watch() (the instance name used elsewhere on
  the page) and fix the metric_vale -> metric_value typo.
- ultralytics: point the inference example at the images the preceding wget
  block actually downloads (img1/img2/img4/img5.png in the working dir).
- cohere: fix the "enitity" typo in the code comment.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Complete the "W&B App" -> "W&B" terminology change for the integration
docs (the rest of the repo is handled in the separate PR). Only openai-api
still referenced "the W&B App"; both mentions now read "W&B".

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Propagate the conventions ngrayluna applied in Part I (accelerate–dagster)
to the integration pages not yet reviewed, so the Part II pass is clean:

- Placeholders: convert `[UPPER-CASE]` to `<lower-case>` angle brackets and
  add the "Replace values enclosed in `<>` with your own:" lead-in on the
  API-key login blocks (matches add-wandb-to-any-library).
- "preceding" -> "previous" (huggingface, databricks, fastai, pytorch).
- Drop "via": tensorboard now constructs a `SummaryWriter` "from"
  `torch.utils.tensorboard`.
- Replace "[doc] walks (you) through" (flagged ableist on Dagster) with
  "explain how to" in openai-api, metaflow, huggingface_transformers,
  deepchem, and pytorch.

Also fix the xgboost Quick start import flagged by Copilot: import the
`XGBClassifier` class instead of aliasing the module, and add the missing
`import wandb`.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…tegrations-20260527-015516

# Conflicts:
#	models/integrations/huggingface_transformers.mdx
#	models/integrations/lightning.mdx
#	models/integrations/pytorch.mdx
…tegrations-20260527-015516

# Conflicts:
#	models/integrations/hydra.mdx
@w-b-hivemind

w-b-hivemind Bot commented Jul 6, 2026 •

Copy link
Copy Markdown

HiveMind Sessions

1 session · 28m · $12

Session Agent Duration Tokens Cost Lines
Handle Reviewer Feedback Thoughtfully
9b6e759f-f499-4398-b89c-443ff75df3a5
claude 28m 122.4K $12 +3 -2
Total 28m 122.4K $12 +3 -2

View all sessions in HiveMind →

Run claude --resume 9b6e759f-f499-4398-b89c-443ff75df3a5 to pickup where you left off.

…ion pages

Proactively apply the same conventions ngrayluna enforced in Part I
(accelerate–dagster) to the pages the review hasn't reached yet, so the
Part II pass is clean. Verified by an adversarial review of each page:

- Third-person audience framing ("This guide is for users who…",
  "It's intended for X who…") rewritten to second person.
- W&B (not `wandb`) as the grammatical subject when the product/SDK acts
  (docker, fastai, scikit, yolov5).
- Passive constructions with a clear actor made active (diffusers,
  huggingface, lightning, mmengine, yolov5).
- First mention of the SDK glossed as "the W&B Python SDK (`wandb`)"
  (ignite, lightgbm, xgboost, ray-tune).
- Bare "W&B API" replaced with "W&B" / the SDK where it meant the SDK.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
johndmulhausen added a commit that referenced this pull request Jul 6, 2026
## Summary

Fixes copy-paste-breaking defects in `models/integrations` code samples.
These bugs pre-date and are **independent of** the `/style-guide` pass
in #2673, so they're split out here to keep that PR strictly style-only
(as requested). Each snippet below now runs as written.

Surfaced by an adversarially-verified per-page audit of the integration
docs; every fix was confirmed against the current `main`.

## Fixes

| File | Bug | Fix |
|------|-----|-----|
| `accelerate.mdx` | missing comma after `config={...}` in
`init_trackers` → `SyntaxError` | add comma |
| `huggingface_transformers.mdx` | resume-from-checkpoint calls
`use_artifact(my_model_name)`, which is undefined in that block →
`NameError` | use `my_checkpoint_name` |
| `keras.mdx` | unterminated string `filepath="models/,` → `SyntaxError`
| `filepath="models/",` |
| `lightning.mdx` | Log Tables example passes undefined `data` →
`NameError` | `data=my_data` |
| `metaflow.mdx` | stray trailing `.` after `pd.read_csv(...)` (5
places) | remove `.` |
| `pytorch.mdx` | opening snippet's `for` loop body not indented →
`IndentationError`; stray em space in a comment | indent body; normalize
space |
| `ray-tune.mdx` | `setup_wandb` snippet calls `tune.report` without
importing `tune` → `NameError` | add `from ray import tune` |
| `scikit.mdx` | `wandb.init(...) as run:` missing `with` →
`SyntaxError` | add `with` |
| `tensorboard.mdx` | `wandb.init(...) as run:` missing `with` →
`SyntaxError` | add `with` |
| `skorch.mdx` | shell `pip install` inside a ` ```python ` block |
split into a ` ```bash ` block |
| `tensorflow.mdx` | `run.log("loss": loss.numpy())` → `SyntaxError` |
wrap arg in a dict |

## Testing

- `mint validate` passes (strict).

## Notes

- The `lightning.mdx` "Log images and predictions as a Table" (Option 2)
example also contains a malformed list comprehension. It's syntactically
valid (no crash), so it's left out of this crash-fix PR — worth a
follow-up.
- The description of #2673 lists further lower-confidence technical
items (version currency, deprecated APIs, link hygiene) that could be a
separate follow-up.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…tegrations-20260527-015516

# Conflicts:
#	models/integrations/skorch.mdx
@johndmulhausen

Copy link
Copy Markdown
Contributor Author

Thanks for the approval; let's get these improvements in. If we need further refining of the integrations pages, we can look at it later. For now, especially since many of these are destined to be mothballed, let's get unblocked and harvest the style guide skill feedback.

@johndmulhausen
johndmulhausen merged commit 9a8afcd into main Jul 9, 2026
7 checks passed
@johndmulhausen
johndmulhausen deleted the style-guide/models-integrations-20260527-015516 branch July 9, 2026 16:45
mdlinville added a commit that referenced this pull request Aug 18, 2026
…2986)

## Summary

The `style-guide` skill now reads `AGENTS.md` as a Pass 0 pre-flight for
the product and platform facts it can't infer — product and package
names, what a directory's content actually is, UI surface names, and
which paths hold generated content. Across 27 style PRs, reviewers
enforced these facts about ~400 times in line comments, but none of them
were written down anywhere, so every style pass guessed, got corrected,
and the next pass guessed again. This records the ones that are settled
and substantiated.

**Prose and style rules were deliberately not added here.** Voice,
grammar, punctuation, list and heading form, link form, placeholder
form, section naming, and word choice are universal — they must read the
same in every docs repo, and they live in the skill. A per-repo prose
override would make successive runs oscillate. The [Deliberately not
added](#deliberately-not-added-universal-prose-rules) section below
lists the candidates rejected on that basis, so you can see the boundary
was applied on purpose. This PR also respects the delegation-shell
architecture from #2735: no inline style rules come back.

## What's recorded

All seven additions go into the existing **W&B-specific conventions not
in the skill** list.

| Fact | Evidence |
|---|---|
| **W&B Python SDK** — `wandb` is the W&B Python SDK; full form "the W&B
Python SDK (`wandb`)", short form "the `wandb` library" | #2673
(@ngrayluna): *"Would prefer if, on the first mention, call out that
`wandb` is the W&B Python SDK."* Applied. |
| **Weave UI labels** — 17 names keep UI casing when they label a tab,
view, page, table, or panel; lowercase as ordinary nouns | #2739 theme A
(@dbrian57, @anastasiaguspan independently, applied verbatim)
established that these are capitalized as UI labels. Scoped to label
position by corpus census — see [Verification](#verification). |
| **Project navigation** — the **project sidebar** (**Weave project
sidebar** in Weave docs), not "left sidebar" / "sidebar menu" / "left
navigation" | #2739 theme J (@anastasiaguspan: *"In the Weave project
sidebar, select Threads"*); #2668 — four suggestions replacing "left
sidebar" with "project sidebar", all committed by the reviewer. |
| **Sweeps** — W&B Sweeps is the product, an individual one is "a sweep"
| #2727 (@mdlinville, `models/sweeps/initialize-sweeps.mdx`): *"I don't
think 'a W&B sweep' is a thing. W&B Sweeps is the product and a sweep is
what it manages."* Author applied it across all reviewed files. |
| **Generated content** — pointer to README.md's table, plus
`snippets/_includes/code-examples/`, `snippets/CodeSnippet.jsx`, and
`takeru`-marked tables; `weave/cookbooks/` notebook sources | Pass 0
asks `AGENTS.md` which directories hold generated content. It recorded
none, and `AGENTS.md` doesn't reference README.md — so a pre-flight that
reads "AGENTS.md plus any convention docs it references" never saw that
table. |

### Note on a sibling file

I only edited `AGENTS.md`, per scope. Two things belong in files I
didn't touch:

- **README.md's "What files do I edit?" table** lists `/ref/python/` and
`/weave/api-reference/`, neither of which exists in the tree — that row
set looks stale. I added a cross-reference to the table rather than
copying it, so the two files can't drift apart, but the table itself
needs an owner's pass.
- **`.github/CODEOWNERS`** is a single catch-all line (`*
@wandb/docs-team`). That's relevant to the first open question below.

## Deliberately not added (universal prose rules)

Each of these was enforced by a wandb reviewer, and each reads
identically in any docs repo with different nouns — so it belongs in the
skill, not here. Several are already there verbatim.

| Rejected candidate | Where it lives |
|---|---|
| W&B is the actor, not `wandb` (product performs actions, package
doesn't) | `3-language-pass.md` — which already uses `wandb` as its own
example — and `4-terminology-pass.md` |
| Keep product-noun casing in headings, frontmatter `description`, and
alt text; leave code identifiers alone | `4-terminology-pass.md`;
`7-polish-pass.md` |
| Don't normalize a convention the corpus contradicts itself on |
`SKILL.md` "When to stop and ask" |
| Don't introduce a callout component the docset doesn't already use |
`SKILL.md`, `1-context-pass.md`, `2-structure-pass.md`,
`8-audit-pass.md` (four places) |
| Don't add `keywords` as a side effect of another change |
`0-guardrails.md`: *"Never add or remove frontmatter fields."* |
| Stop and ask before restyling security, compliance, data-handling, or
legal-sensitive wording | `SKILL.md` "When to stop and ask" |
| Don't hand-edit generated files; fix them upstream | `0-guardrails.md`
"Hard exclusion zones" |
| "Jupyter Notebooks" on first mention, short form after |
`3-language-pass.md` (first-use expansion). Also unsubstantiated: corpus
prefers lowercase "Jupyter notebook" 35 to 18. |
| "previous", not "preceding" | `4-terminology-pass.md` word list. Cited
as a team decision by two reviewers (#2673, #2684) — still a universal
word-choice rule. |
| No semicolons in prose | `6-formatting-pass.md`. Raised on #2724. |
| "might" for possibility, "may" for permission |
`4-terminology-pass.md`. #2739 theme M. |
| Avoid "via" and other Latinisms for an ESL audience |
`4-terminology-pass.md`. Raised on #2673. |
| Bold `**Term**:` lead-ins on definition lists |
`6-formatting-pass.md`. 10 instances in #2739 theme D. |
| Absolute internal links, no trailing slash | `7-polish-pass.md`.
#2687: *"I wonder if the docs skill can be augmented to fix this"* —
exactly right, and that's where it went. |
| Link text names the destination; one link per destination per page |
`7-polish-pass.md`. #2739 theme I, #2727 P1/P2. |
| Avoid gerund-subject preambles | `1-context-pass.md`,
`3-language-pass.md`. Named twice on #2679. |
| Recommendation voice | `SKILL.md`: *"One voice for recommendations:
'we recommend.'"* See open questions. |
| Placeholder token form | `6-formatting-pass.md`. See open questions —
genuinely contested here. |
| Keyword *selection* guidance | Owned by the separate `keywords` skill.
|

## Open questions for the team

Nothing below is recorded in `AGENTS.md`. A wrong rule in that file is
worse than a missing one, since every agent session reads it.

**1. What is the web app called?** Highest-value question here.
- *"W&B"*: #2737 (open, 85 files) proposes retiring "W&B App", opened as
follow-up to #2673 where @ngrayluna wrote *"Did Matt say something about
no longer refer to the W&B App as 'W&B App'? I think it has a formal
name now."*
- *"W&B App"*: @mdlinville on #2723 — *"I believe we used to just say
'W&B App' without 'UI'. Did we change our minds?"* — and the skill's
"W&B App UI" was reverted on that basis. Separately @mdlinville noted
"W&B UI" was in use to avoid confusion with the iOS app.
- Heads-up: **#2737's premise is inaccurate.** It cites `AGENTS.md` as
saying the platform is "W&B"; the file says no such thing, before or
after this PR. Its only mentions are incidental lowercase "the W&B app".
- Corpus today: "W&B App" 266, "App UI" 72, "W&B App UI" 48, "the W&B
app" 21. Meanwhile #2739 unified 12 `<Tab title>` labels to "App UI" and
that merged.
- **Recommendation:** rule before #2737 or any further style pass
touches these strings, then record the winner here.

**2. `keywords:` — keep or remove?** Nothing about `keywords` is
recorded in this PR.
- Remove: @ngrayluna, #2673 (*"The ones purposed are random"*, 52
pages), then backed out of #2722 and #2723 with commit messages about
*"restoring the description/title-only frontmatter"*.
- Keep: @mdlinville 👍'd a `keywords` hunk on #2684; merged #2680 (83
platform pages) and #2774 add them on purpose; #2739 added them to 103
of 141 files with zero objections.
- **Note:** an earlier draft recorded "don't add `keywords` as a side
effect" as agreed by both camps. It isn't — #2684's 👍 was on an *add*,
and #2739's 103-file add merged unopposed. That narrow rule is in any
case covered universally by the skill's guardrail against adding
frontmatter fields, so nothing is lost by leaving the question open
here.
- **Recommendation:** one ruling, then either delete the field repo-wide
or give it an owner.

**3. Recommendation voice: "we recommend" vs "W&B recommends"?**
- The skill sets this universally to "we recommend", and #2739 shows two
independent Weave reviewers reverting the skill's "W&B recommends" back
(@anastasiaguspan on `view-agent-signals.mdx`, @dbrian57 on
`evaluation_logger.mdx`).
- But @ngrayluna raised the opposite preference on #2721 (open), and
this corpus runs the other way: "W&B recommends" 72 vs "we recommend"
16.
- **Recommendation:** confirm or change the skill's cross-repo setting.
Please don't ask for a local `AGENTS.md` override — that's what makes
successive runs oscillate.

**4. "This page shows you how to…"**
- Against: @ngrayluna on #2673 (twice) and #2668 — *"I was taught to
avoid using 'This page shows you...'"*.
- For: @mdlinville authored it in a #2722 suggestion and reused it in
#2724; defended in #2728.
- This is a prose question, so whichever way it lands, the decision
belongs in the skill's context pass, not in `AGENTS.md`.

**5. Casing of Weave domain objects in prose** — Call, Op, Scorer,
Model, Dataset, Evaluation, Thread, Signal, Agent, Trace.
- I recorded the **UI-label** rule only. The candidate list asked for
these as proper nouns everywhere in prose, and the corpus won't carry
it.
- Capitalize: #2739 theme A — 12 items, @dbrian57 and @anastasiaguspan
independently, applied verbatim, including in frontmatter `description`
(`view-call.mdx:3`) and alt text (`view-call.mdx:138`).
- Lowercase, per the docset: in `weave/**/*.mdx` prose with code,
headings, links, and bold stripped — traces 33 cap / 432 low, calls
69/380, spans 7/127, prompts 4/113, models 29/195, datasets 4/57,
evaluations 19/99, scorers 27/73, agents 45/114. Recording the candidate
as written would have licensed a ~1,700-instance recapitalization on the
strength of 12 comments.
- The docset already models the distinction, in
`weave/guides/tracking/view-agent-activity.mdx:18`: *"a row of tabs
across the top: **Dashboard**, **Agents**, **Conversations**, **Spans**,
and **Signals**. … the other tabs let you drill into individual agents,
conversations, spans, and signals."* Capitalized as labels, lowercase as
nouns, one sentence apart.
- **Recommendation:** if you do want the object nouns capitalized, say
so explicitly and scope the list — it's a large sweep and reviewers
weren't self-consistent (@dbrian57 wrote "Weave Ops" then "Weave ops"
one clause later in the same suggestion block).
- I excluded **Evaluations** and **Ops** from the recorded label list:
"Compare evaluations view" is a distinct lowercase surface label (10
lowercase vs 4 capitalized in label position), and "Ops" has a single
bold attestation.

**6. Placeholder syntax: `<your_api_key>` or `[YOUR-API-KEY]`?**
- Angle brackets: @ngrayluna, #2673 — *"For consistency, remove
brackets. (Elsewhere in the docs we use open and close `<` and `>`)"* —
the skill's square brackets were reverted across every login block.
Their objection on #2724 is substantive, not aesthetic: *"Don't use
square brackets since it looks like we expect a list as an input."*
- Square brackets: @mdlinville, #2736 — *"I believe we are using square
brackets for placeholders"* — reverting `<password>` to `[PASSWORD]`
hours after the author cited an angle-bracket convention in the same PR.
- Contested even within one reviewer: #2739 has @dbrian57 asking for
`[TEAM_NAME]/[PROJECT_NAME]` on one page and
`[YOUR-TEAM]/[YOUR-PROJECT]` on another, while @anastasiaguspan wants
`[YOUR-TEAM]` uniformly. All three forms are in main.
- Placeholder form is a universal-domain rule, so the ruling belongs in
the skill. Nothing recorded locally.

**7. May `weave/cookbooks/*.mdx` be hand-edited, and what do those pages
call themselves?**
- README.md lists `/weave/cookbooks/` as generated from `wandb/weave`
(*"Edit the code in the source repo, not in `wandb/docs`"*), but the
`.ipynb` sources are tracked **in this repo** at
`weave/cookbooks/source/`, the Colab links point at `wandb/docs`, and no
script in `scripts/` or workflow in `.github/workflows/` regenerates the
`.mdx`. Practice contradicts the table: #2739 hand-edited 19 cookbook
pages and @dbrian57 committed suggestions straight into them.
- The candidate asked to record that these pages call themselves
"notebooks" and never "cookbook", "guide", "tutorial", or "demo" — 13
corrections by @dbrian57, the highest-frequency correction in #2739. **I
did not record it**, because the merged corpus is split: self-references
across those 19 pages run *tutorial* 21, *notebook* 20, *guide* 11,
*cookbook* 5, *demo* 1. `Intro_to_Weave_Hello_Trace.mdx:13` has both,
reviewer-approved, in adjacent sentences: *"This notebook shows you how
to capture your first trace… This tutorial targets developers who are
new to Weave."*
- **Recommendation:** settle the generated question first. If the
directory really is generated, the naming fix belongs upstream and style
passes should skip it entirely; if not, fix README.md and then the
"notebook" rule can be recorded here. "Cookbook" and "demo" look safe to
retire either way.

**8. Which pages are actually Eng/Legal-vetted?** The candidate asked
for a path list of vetted areas. **I did not record one**, because I
couldn't substantiate it and a wrong no-touch zone over ~20 pages is
exactly the kind of error that compounds.
- The only evidence is one hedged comment from @ngrayluna on #2724
(still open), on `models/runs/delete-runs.mdx`: *"Future: don't touch
docs that revolve around data, security, and/or other sensitive info
since in all likelihood they … went under careful scrutiny from the Eng
Team or Legal."* No path list, and the one page it names is one the
reviewer flagged as *un*validated (*"Someone would need to verify
this/approve the wording"*) and deleted.
- Any path list I could produce would come from a filename grep, not
from a reviewer. `platform/hosting/iam/sso.mdx` — the largest candidate
— is mostly third-party Azure and Okta click-through steps, not vetted
compliance prose.
- The instruction to get *"a reviewer from the owning team"* also points
at a mechanism that doesn't exist: `.github/CODEOWNERS` is one catch-all
line.
- The general principle (stop and ask before restyling legally-sensitive
wording) is already universal in the skill, so nothing is unprotected
today.
- **Recommendation:** if specific areas are genuinely vetted, name them
and name their reviewers — ideally in CODEOWNERS, where it's
enforceable, and I'll mirror the list here.

**9. Six live `<Important>` blocks probably aren't rendering.** Same bug
class as #2886. `<Important>` has no local definition in
`snippets/*.jsx` and isn't registered in `docs.json`, so these bodies
may be reaching nobody:
- `platform/hosting/self-managed/operator.mdx:1833`
- `platform/hosting/iam/access-management/restricted-projects.mdx:69`
- `weave/guides/evaluation/scorers.mdx:403`
- `weave/guides/tracking/create-call.mdx:175`
- `weave/guides/tracking/update-call.mdx:131`
- `snippets/_includes/self-managed-mysql-eol-upgrade.mdx:1` (plus its
`ja`/`ko`/`fr` copies)

Worth a screenshot check the way #2886 did. Not fixed here — this PR
only touches `AGENTS.md`, and callout guidance has been removed from it
at the maintainer's request.

## Verification

Every recorded claim was checked against the tree at `dfba8d0`. Counts
exclude localized content (`ja/`, `ko/`, `fr/`, and
`snippets/{ja,ko,fr}/`); 1,533 English `.mdx` pages.

- **Weave UI labels.** Counted each name in three positions across
`weave/**/*.mdx`: as a bold UI label, in surface-label position (name
followed by tab/view/page/table/panel/column/button/section), and in
generic prose with frontmatter, headings, fenced and inline code, links,
and bold spans stripped. **Bold-label usage is capitalized 100% of the
time — lowercase count is 0 for all 19 names tested.** That's the
settled fact, and it's what the bullet records. Generic prose runs
lowercase for 17 of 19, which is why the bullet explicitly says not to
recapitalize there. Playground (50 cap / 3 low) is the one name
capitalized in prose too; it's in the list either way.
- **Project navigation.** "project sidebar" 100 uses across 47 files vs.
41 for all competing forms ("left sidebar" 18, "left navigation"/"left
nav" 12, "sidebar menu" 8, "navigation sidebar" 2, "left-hand sidebar"
1) — a clear majority, not a split. Per directory: models 67/6, weave
24/13, inference 4/0, platform 3/16. I then read all 16 platform hits
individually, which is where the earlier draft went wrong: **6 of them
are third-party consoles**, not W&B team/org chrome —
`platform/hosting/iam/sso.mdx:144,158,176,190,194` are Microsoft Entra
ID steps and `platform/hosting/monitoring-usage/slack-alerts.mdx:33` is
the Slack app config UI. A directory-scoped carve-out would have renamed
those, and would have missed W&B non-project surfaces outside
`platform/` (`models/runs/tags.mdx:93` "left sidebar of the Run page",
`models/track/project-page.mdx:378` org nav). So the exclusions are
scoped by *what the surface is*, not by path. `release-notes/` is
excluded as dated historical content (4 competing hits).
- **W&B Python SDK.** "W&B Python SDK" 110 uses; the full form "the W&B
Python SDK (`wandb`)" 11; "the `wandb` library" 47; "`wandb` SDK" 4. The
short form in the bullet follows the corpus (47), not the skill's guess.
- **Sweeps.** "a W&B sweep" 4 uses, all in `support/`, **0 in the main
docset**, vs. "a sweep" 204 and "W&B Sweeps" 47 — roughly 50:1. The
comment was pinned to #2727 via the review-comments API. The
anti-generalization clause is also counted: "a W&B run" 67, "a W&B
artifact" 9, "a W&B report" 7 are live usage, so the rule is scoped to
sweeps rather than swept across all three.
- **Generated content.** `weave/cookbooks/`: all 19 `.mdx` pages have a
matching `.ipynb` under `weave/cookbooks/source/` (29 tracked files
there) and all 19 open with an interactive-notebook `<Note>` linking
Colab and GitHub. `takeru` markers confirmed at
`inference/models.mdx:15,48,56`, `inference/lora.mdx:116`,
`inference/lifecycle.mdx:36,49`,
`inference/response-settings/reasoning.mdx:21`,
`serverless-training/available-models.mdx:11`.
`snippets/code-examples/README.md` documents the `wandb/docs-code-eval`
sync and calls `snippets/CodeSnippet.jsx` auto-generated;
`scripts/sync_code_examples.sh` and the `sync-code-examples` workflow
back it up. README.md's anchor `#what-files-do-i-edit` verified.
- **Claims I dropped for lack of substantiation:** the Eng/Legal path
list (open question 8), the cookbooks self-naming rule (open question
7), the `keywords` no-add process claim (open question 2), and
prose-wide Weave capitalization (open question 5).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Anastasia Guspan <happyguspan@gmail.com>
Co-authored-by: Anastasia Guspan <aguspan@wandb.com>
Co-authored-by: Matt Linville <mlinville@coreweave.com>
mdlinville added a commit that referenced this pull request Sep 14, 2026
## Description

The PyTorch integration page says this setup ensures deterministic
behavior, but it doesn't appear to actually do that. This is because it
derives its seeds from `hash("...")`. By default, Python randomizes
string hashes _between_ interpreter processes, so the example can
initialize its RNGs differently across runs.

This fix replaces the hash-derived values with one named integer seed.

Before:

```python
torch.backends.cudnn.deterministic = True
random.seed(hash("setting random seeds") % 2**32 - 1)
np.random.seed(hash("improves reproducibility") % 2**32 - 1)
torch.manual_seed(hash("by removing stochasticity") % 2**32 - 1)
torch.cuda.manual_seed_all(hash("so runs are repeatable") % 2**32 - 1)
```
After:

```python
seed = 42
torch.backends.cudnn.deterministic = True
random.seed(seed)
np.random.seed(seed)
torch.manual_seed(seed)
torch.cuda.manual_seed_all(seed)
```

### Why this matters

A small exploratory search found the same recognizable recipe in at
least 24 other repositories. This suggests that the pattern has
propagated beyond W&B's own docs, so correcting the bug here can help
prevent it from spreading further.

The problem was also noted in the technical-review notes for
[#2673](#2673), but it wasn't fixed as
it was out-of-scope for that PR (it was a style guide pass).

The corresponding notebooks are updated in
[wandb/examples#644](wandb/examples#644).

## Testing

- [x] `git diff --check` succeeds.
- [x] Confirmed that the diff contains only the intended seed changes.
- [x] Confirmed that the old hash-derived seeds vary with
`PYTHONHASHSEED`.
- [x] Confirmed that the replacement has no interpreter hash-secret
dependency.
- [ ] PR tests succeed.

Co-authored-by: Matt Linville <mlinville@coreweave.com>

This branch was successfully deployed

1 active deployment
staging — 41e3ddc2 Deployed Jul 6, 2026 by mintlify[bot]
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants