Skip to content

style: apply /style-guide pass to models/tables#2725

Open
johndmulhausen wants to merge 12 commits into
mainfrom
style-guide/models-tables-20260604-114339
Open

style: apply /style-guide pass to models/tables#2725
johndmulhausen wants to merge 12 commits into
mainfrom
style-guide/models-tables-20260604-114339

Conversation

@johndmulhausen

Copy link
Copy Markdown
Contributor

Summary

This PR applies the /style-guide skill (Google Developer Style Guide + CoreWeave conventions) to documentation under models/tables. The run was fully automated; only style-level edits were made.

Files edited

  • models/tables/evaluate-models.mdx
  • models/tables/log_tables.mdx
  • models/tables/tables-download.mdx
  • models/tables/tables-gallery.mdx
  • models/tables/tables-walkthrough.mdx
  • models/tables/visualize-tables.mdx

Recommendations for technical review

Prerequisites

  • Several pages have no Prerequisites section. Consider adding one covering required packages (weave, wandb, pandas), Python/runtime version, login (wandb login), and account/project access:
    • evaluate-models.mdx (entity/project access, Models Registry access)
    • log_tables.mdx (W&B account, SDK version, project access)
    • tables-download.mdx (link to artifact basics; note pandas dependency)
    • tables-walkthrough.mdx (labeled as Tutorial / Quickstart but missing prereqs)
    • visualize-tables.mdx (logged W&B Tables in artifacts, runs that call wandb.Run.log() with table data, project access in the W&B App)

Verification steps

  • Add expected outcomes after procedures so readers can confirm success:
    • evaluate-models.mdx: what the user should see in the Weave UI after running an evaluation, and in the W&B UI after logging a Table.
    • log_tables.mdx: expected output after the Create and log a table procedure (rendered table or run-console confirmation).
    • tables-download.mdx: what example.csv should contain and how to confirm df is populated.
    • tables-walkthrough.mdx: expected state after navigating to a run in "Visualize tables in your project workspace".
    • visualize-tables.mdx: guidance for when the Compare button does not appear on hover (e.g., only one artifact version exists); verification cue for the step slider when _step values are sparse or missing.

Technical accuracy

  • evaluate-models.mdx:
    • Line 67 — results = await evaluation.evaluate(model) at top level. Confirm whether the snippet assumes an async context (notebook/REPL) or requires asyncio.run(...).
    • Line 84 — summary, call = await evaluation.evaluate.call(evaluation, model). Verify the .call(...) signature; passing evaluation as both receiver and first argument looks suspicious.
    • Line 100 — llm_judge_scorer is decorated with @weave.op() and uses await but is defined as def, not async def. Verify intended behavior.
    • Line 116 — Inside the batch-evaluation loop, the shared evaluation object is referenced. Verify the intended pattern for batch evals across multiple models.
    • Line 236 — confidences = [model(img).max() for img, _ in test_data] recomputes predictions. Verify whether confidences should be cached from the prior loop.
  • log_tables.mdx:
    • In-page anchors on line 14 (#create-and-log-a-new-table, #table-logging-modes) may no longer match the current headings (Create and log a table, Logging modes). Verify against Mintlify's anchor generation.
    • Confirm that MUTABLE / INCREMENTAL are the public API constants (not enum members like LogMode.MUTABLE) before wrapping them in backticks in headings.
    • Line 17 — INCREMENTAL mode version note cites W&B Server v0.70.0+. Confirm whether a separate SDK-version constraint applies or whether SaaS users have a different availability window.
    • Line 232 — resume_step and final_step in the Resume example are referenced but not defined in the snippet. Decide whether to inline definitions or cross-link to resume runs.
  • tables-download.mdx:
    • Line 11 — Prose shows artifact.get(table, "table_name") (two args) but the code uses artifact.get("my_table") (one arg). Verify the correct signature against the current SDK.
    • Line 7 — "Like all W&B artifacts, you can convert Tables into pandas DataFrames" — verify whether Tables themselves are Artifacts, or are convertible because they are logged within Artifacts.
    • Lines 15, 24 — wandb.init() as r uses the variable name r; confirm whether the team's idiom is run.
    • Line 35 — Confirm table.get_dataframe() is the canonical method on the current wandb.Table API.
    • Line 51 — Verify /models/artifacts/construct-an-artifact/ is the intended target for the "reference documentation on artifacts" bullet.
  • tables-gallery.mdx:
    • Verify all external example URLs still resolve (MNIST predictions, SafeLife RL, Whale2Song audio transfer, Shakespeare RNN, iNaturalist artifact).
    • Line 67 — confirm whether http://wandb.me/audio-transfer should be https.
    • Confirm "ten types of living things" still matches the actual iNaturalist model in the linked artifact.
    • Decide whether to expand "CNN" (line 59) and "RNN" (line 75) for consistency with the spelled-out "reinforcement learning (RL)".
  • tables-walkthrough.mdx:
    • Line 22 — link path /models/ref/python/experiments/run.md/#method-runlog has a .md extension mid-path. Verify the route resolves under Mintlify.
    • Lines 46–47 — indentation inside the Pandas DataFrame code block is inconsistent (my_table and run.log indented two spaces instead of four under the with block). Confirm intent or correct in a code-formatting pass.
  • visualize-tables.mdx:
    • The "Stateless in an artifact context" callout and the parallel statement under "Save your view" repeat the same idea in slightly different wording. Confirm both phrasings are accurate and aligned with current product behavior.
    • The anchor #custom-step-keys (step 7 of the query-panel procedure) targets a heading "Custom step key" (singular), which renders as #custom-step-key. Confirm the anchor resolves.
    • The H2 "Visualize how values change throughout your runs" is long but the qualifier is meaning-bearing; SMEs may want a shorter alternative.
    • Confirm that nesting the "predictions" screenshot under step 3 of the comparison procedure matches the intended UI sequence.

Missing content

  • evaluate-models.mdx: W&B Models Registry and log_mode="MUTABLE" are referenced without inline explanation or link. Add short definitions or links so the page remains self-contained.
  • log_tables.mdx:
    • The Examples section reuses placeholder functions (load_eval_data(), model.predict(), get_training_batch(), etc.) defined earlier in Note callouts but does not repeat the placeholder caveats. Add a single shared note at the top of Examples or link to a canonical example dataset/loader.
    • The combined INCREMENTAL + IMMUTABLE pattern (lines 153–180) effectively doubles storage. Add (or confirm the deliberate absence of) explicit guidance about the cost/storage tradeoff.
  • tables-download.mdx:
    • Note the pandas dependency.
    • Consider whether other export formats (Parquet, JSON, Excel) merit mention alongside CSV, since the prose says "any method that pandas supports."
  • tables-gallery.mdx:
    • The final section "Analyze improvement over training time" has no <Frame> image, unlike every other entry. Confirm whether an image is missing or this is intentional.
    • Several Colab links (wandb.me/dsviz-nature-colab, wandb.me/audio-transfer, wandb.me/dsviz-cars-demo, wandb.me/dsviz-mnist-colab) point to externally maintained notebooks. Confirm they remain runnable.
    • The intro mentions syncing to your hosting instance, but no example differentiates SaaS vs. self-hosted. Consider whether any examples require a specific deployment context.
  • tables-walkthrough.mdx:
    • Line 9 references a button to try a PyTorch Quickstart example, but no <Card> or button component is present. Verify whether the component was omitted or the sentence should be removed.
    • The page title and description promise "query data," but the walkthrough does not include a query step. Add a query section or adjust the framing.
  • visualize-tables.mdx:
    • "Merged view" and "Side-by-side view" contain author placeholders ({/* To do, add steps */} / {/* To do */}) where step-by-step instructions are not yet written.
    • "Save your view" mentions exporting to a Report but does not describe what the resulting Report contains, or whether the export is a snapshot or a live view.
    • A commented-out table stub at the end of "Custom step key" (Run History Tables Stepper, Run History Plots Stepper, Stepper) appears to be an unfilled comparison table.

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 June 4, 2026 15:44
@mintlify

mintlify Bot commented Jun 4, 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 Jun 4, 2026, 4:13 PM

@github-actions

github-actions Bot commented Jun 4, 2026

Copy link
Copy Markdown
Contributor

📚 Mintlify Preview Links

🔗 View Full Preview

📝 Changed (6 total)

📄 Pages (6)

File Preview
models/tables/evaluate-models.mdx Evaluate Models
models/tables/log_tables.mdx Log Tables
models/tables/tables-download.mdx Tables Download
models/tables/tables-gallery.mdx Tables Gallery
models/tables/tables-walkthrough.mdx Tables Walkthrough
models/tables/visualize-tables.mdx Visualize Tables

🤖 Generated automatically when Mintlify deployment succeeds
📍 Deployment: eb6c0af at 2026-07-14 03:45:49 UTC

@github-actions

github-actions Bot commented Jun 4, 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-tables-20260604-114339.mintlify.site

@ngrayluna

Copy link
Copy Markdown
Contributor

Incorrect PR title

@johndmulhausen

Copy link
Copy Markdown
Contributor Author

Incorrect PR title

Cursor's worktree contagion ended up slurping in other files' style edits; rescoped to models/tables

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 automated style-guide edits across the models/tables documentation pages (primarily prose restructuring, heading/list formatting, and added frontmatter keywords) to improve readability and consistency.

Changes:

  • Added keywords metadata and expanded/clarified introductory copy across the tables docs.
  • Reformatted notes, lists, and section structure for improved scanability.
  • Minor wording updates throughout examples and procedural steps.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
models/tables/evaluate-models.mdx Adds keywords and restructures Weave/Tables evaluation sections and bullets.
models/tables/log_tables.mdx Adds keywords and rewrites intro + logging mode explanations for clarity.
models/tables/tables-download.mdx Adds keywords and rewrites export steps and “Next steps” section.
models/tables/tables-gallery.mdx Adds keywords and reorganizes/rewrites gallery intro and section headings.
models/tables/tables-walkthrough.mdx Adds keywords and rewrites Quickstart framing and step descriptions.
models/tables/visualize-tables.mdx Adds keywords and rewrites comparison/stepper sections and note formatting.
Comments suppressed due to low confidence (1)

models/tables/evaluate-models.mdx:111

  • The llm_judge_scorer example uses await judge_model.predict(...) inside a regular def, which is invalid Python syntax. The function should be declared async def if it awaits.
@weave.op()
def llm_judge_scorer(expected: str, output: str, judge_model) -> dict:
    prompt = f"Is this answer correct? Expected: {expected}, Got: {output}"
    judgment = await judge_model.predict(prompt)
    return {"judge_score": judgment}

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

Comment thread models/tables/visualize-tables.mdx
Comment thread models/tables/log_tables.mdx Outdated
Comment thread models/tables/tables-download.mdx Outdated
Comment thread models/tables/tables-walkthrough.mdx Outdated
- log_tables: fix broken intro anchors (#create-and-log-a-table, #logging-modes)
- visualize-tables: fix #custom-step-key anchor (was #custom-step-keys)
- tables-download: correct API in prose to artifact.add(table, "my_table")
  + artifact.get("my_table"), matching the example code
- tables-walkthrough: drop unfulfilled "query" promise from intro (no query
  step in the walkthrough); title retained for external-reference consistency
- evaluate-models: make llm_judge_scorer async def so its await is valid Python

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

Copy link
Copy Markdown
Contributor Author

Review feedback addressed in 7910ed9

Thanks for the reviews. All Copilot comments are incorporated:

File Fix
log_tables.mdx Broken intro anchors → #create-and-log-a-table, #logging-modes
visualize-tables.mdx #custom-step-keys#custom-step-key
tables-download.mdx Prose now matches code: artifact.add(table, "my_table") + artifact.get("my_table")
tables-walkthrough.mdx Dropped the unfulfilled "query" promise from the intro
evaluate-models.mdx llm_judge_scorer is now async def so its await is valid Python

Re: the suppressed low-confidence comment on evaluate-models.mdx:111 (await inside a non-async def) — that one was correct, so I applied it. judge_model.predict mirrors the async def predict defined earlier on the page, so the scorer has to be async def.

PR title — resolved earlier (rescoped to models/tables).

Two related items I left alone (your call)

  1. Pre-existing dangling reference in tables-walkthrough.mdx:9: "Select the button below to try a PyTorch Quickstart example project on MNIST data." — there is no button/<Card> and there never has been (traces back to the Mintlify import in Mintlify import #1727). It is out of scope for this style pass and I did not want to guess the intended target. Easy follow-ups: drop the sentence, or add a <Card> linking to the Tables Quickstart Colab.
  2. Localized mirrors (ja/, ko/, fr/) carry the same broken anchors I just fixed in English. I left them to the translation-sync pipeline since hand-editing localized files in a style PR tends to fight that automation — flagging in case it needs a manual nudge.

Back out the `keywords` frontmatter added in the style pass across all six
models/tables pages.

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

`models/tables/tables-walkthrough.mdx` told readers to "Select the
button below to try a PyTorch Quickstart example project on MNIST data"
— but no button ever followed it. The sentence has pointed at nothing
since the original Mintlify import
([#1727](#1727)).

This supplies the missing button using the existing **`<ColabLink>`**
snippet component (`/snippets/_includes/colab-link.mdx`) — the same one
used in the Weave quickstarts and integration guides — rather than
inventing a new component. It points at the **W&B Tables Quickstart**
Colab in `wandb/examples`, which is the PyTorch-on-MNIST notebook the
text describes (its own title: "View & analyze model predictions during
training … using PyTorch on MNIST data"). Verified the notebook
resolves; the same notebook is already linked from
`models/tables/visualize-tables.mdx`.

## Change

```mdx
import { ColabLink } from /snippets/_includes/colab-link.mdx;

...

Select the button below to try a PyTorch Quickstart example project on MNIST data.

<ColabLink url="https://colab.research.google.com/github/wandb/examples/blob/master/colabs/datasets-predictions/W%26B_Tables_Quickstart.ipynb" />
```

Scoped to this one file.

## Note for reviewers

[#2725](#2725) (the `models/tables`
style pass) also touches this same line (it trims a trailing space), so
expect a trivial merge conflict between the two — resolve in favor of
this change. Merge order does not matter.

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

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…bles-20260604-114339

# Conflicts:
#	models/tables/tables-walkthrough.mdx

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

I moved a few instances of "the W&B App" to "W&B" to align with another set of style edits but didn't do it everywhere. Some confusion about the organization of some pages.

Comment thread models/tables/evaluate-models.mdx Outdated
Comment thread models/tables/evaluate-models.mdx Outdated
Comment thread models/tables/evaluate-models.mdx Outdated
Comment thread models/tables/evaluate-models.mdx Outdated
Comment thread models/tables/evaluate-models.mdx Outdated
Comment thread models/tables/tables-gallery.mdx Outdated
Comment thread models/tables/tables-walkthrough.mdx Outdated
Comment thread models/tables/visualize-tables.mdx
Comment thread models/tables/visualize-tables.mdx Outdated
Comment thread models/tables/visualize-tables.mdx Outdated
@w-b-hivemind

w-b-hivemind Bot commented Jun 30, 2026

Copy link
Copy Markdown

HiveMind Sessions

1 session · 1h 28m · $24

Session Agent Duration Tokens Cost Lines
Code Changes and Pull Request
689174a7-8934-4e8d-85c2-9b1d24ecca13
claude 1h 28m 190.7K $24 +111 -128
Total 1h 28m 190.7K $24 +111 -128

View all sessions in HiveMind →

Run claude --resume 689174a7-8934-4e8d-85c2-9b1d24ecca13 to pickup where you left off.

- Drop redundant "W&B" before product names after first mention
  (Tables, Models, Registry) across all six pages
- Prefer "W&B" over "the W&B App" in descriptive text
- evaluate-models: scrub Registry/Models repeats (prose + code comments)
- log_tables: drop EOL INCREMENTAL/Server note; reformat modes-table
  list cells as <ul>; inline the placeholder-functions note
- tables-download: trim intro; reformat "Convert a table to an artifact"
  as a two-step procedure
- tables-gallery: promote H3s to H2s, drop the two wrapper H2s
- visualize-tables: convert the behaviors callout to prose; remove stray
  {/* To do */} comments and a leftover commented-out table stub

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

Copy link
Copy Markdown
Contributor Author

@mdlinville thanks for the thorough pass — addressed in 2fdf6a6. Replied inline on each thread; resolved the 19 I applied, left one open:

  • Redundant W&B: dropped after first mention across all six pages (Tables, Models, Registry), including the code comments in evaluate-models.
  • the W&B AppW&B: applied your explicit suggestions and, for consistency, propagated it to the remaining descriptive mentions on the touched pages (e.g. "rendered in W&B", "view all rows in W&B"). I kept the term out entirely rather than leaving a mix — shout if you would rather I dial that back, or extend it to the few the W&B UI instances in evaluate-models too.
  • Structural: log_tables modes table now uses <ul> list cells; tables-download convert-section is now a two-step procedure; tables-gallery H3s promoted to H2s (wrapper H2s dropped); visualize-tables behaviors callout is now prose and the stray {/* To do */} comments + commented-out table stub are gone; dropped the EOL INCREMENTAL/Server note.

Left open — the page-split suggestion on evaluate-models: agreed the nesting is deep, but a split needs a new page + nav/redirect changes beyond this style pass, so I flagged it as a follow-up rather than doing it here. Your call on that thread.

The merge conflict from earlier is also resolved, so this should be re-reviewable.

Comment thread models/tables/log_tables.mdx Outdated
Reconcile confusing "logged as an artifact object" / "table objects"
phrasing: a table is a W&B data type that W&B stores as an artifact when
logged. Use consistent "table" terminology.

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

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

Yikes.

What model was used to generate these PRs?

I have better, desired results using ChatGPT and specifying that it's a "You are an expert technical writer in AI and you use the Google Developer style guide." Then I specify: "Help me review this text"

Comment thread models/tables/evaluate-models.mdx
Comment thread models/tables/evaluate-models.mdx Outdated
Comment thread models/tables/evaluate-models.mdx Outdated
Comment thread models/tables/evaluate-models.mdx Outdated
Comment thread models/tables/evaluate-models.mdx Outdated
Comment thread models/tables/visualize-tables.mdx Outdated
Comment thread models/tables/visualize-tables.mdx Outdated
Comment thread models/tables/visualize-tables.mdx Outdated
Comment thread models/tables/visualize-tables.mdx Outdated
Comment thread models/tables/visualize-tables.mdx Outdated
Follow ngrayluna's guidance (senior style reviewer):
- Restore full product names: W&B Registry, W&B Models, W&B Tables
  (prose, headings, and code comments) where they were over-scrubbed
- Restore the INCREMENTAL/W&B Server version note ("Do not remove this")
- Distinguish generic *table* / Python `Table` Class / product "W&B Tables"
- Use "W&B UI"/"W&B App" for UI references per reviewer suggestions
- Trim verbosity and remove unverified assertions per inline suggestions
- Consolidate the redundant "Logging modes" intro paragraphs
- Remove a semicolon flagged for ESL readability
- pandas (lowercase), tables-download reworded per suggestions

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

Copy link
Copy Markdown
Contributor Author

Thanks @ngrayluna — the product-name points are well taken. Applied all the concrete suggestions and pushed 6ed9760e5. Summary:

  • Product names restoredW&B Registry, W&B Models, W&B Tables across prose, headings, and code comments (they had been over-trimmed).
  • Restored the INCREMENTAL / W&B Server version note.
  • Kept your table / Table / product distinction — generic table, the Table Python Class, and the W&B Tables product.
  • Trimmed verbosity — dropped the recycled logging-modes paragraph, removed the unverified "real datasets" assertion, cut the marketing-y line, removed the semicolon for readability, and lowercased pandas.
  • Applied your W&B UI / W&B App wording and the tables-download / tables-walkthrough rewrites.

Resolved the 34 threads with concrete suggestions; left the logging-modes wordiness thread open for discussion.

One thing worth aligning on: the bare-"W&B" / dropped-product-name wording you are correcting was actually introduced to satisfy an earlier review from @mdlinville (who approved on that basis) — e.g. "the W&B App" → "W&B", and dropping "W&B" on later mentions. So this is a real convention conflict between the two reviews, not just drift. If we can settle the house rule — full product name always vs. first-mention-only, and "W&B App" vs "W&B UI" (you mentioned checking with Matt) — I will make the pass follow it consistently so we stop pulling these back and forth.

On the tooling question: yes, these style passes are Claude Code-assisted against the Google Developer Style Guide. Your review is exactly what tightens that loop, and I am folding these rules in as explicit constraints for the next pass.

Comment thread models/tables/log_tables.mdx Outdated
Comment thread models/tables/evaluate-models.mdx Outdated
johndmulhausen and others added 2 commits July 9, 2026 12:48
Co-authored-by: Matt Linville <mlinville@coreweave.com>
…bles-20260604-114339

# Conflicts:
#	models/tables/evaluate-models.mdx
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.

4 participants