Skip to content

Document registry deprecation and machine summary methods on the fleet page - #5187

Open
btshrewsbury-viam wants to merge 5 commits into
mainfrom
docs/api-app-methods
Open

Document registry deprecation and machine summary methods on the fleet page#5187
btshrewsbury-viam wants to merge 5 commits into
mainfrom
docs/api-app-methods

Conversation

@btshrewsbury-viam

@btshrewsbury-viam btshrewsbury-viam commented Jul 13, 2026

Copy link
Copy Markdown
Collaborator

What this adds

Six released fleet methods flagged by the weekly SDK method coverage job (#5142), all on the Fleet Management API page:

  • DeprecateRegistryItem / UndeprecateRegistryItem and their Version variants (Python + TypeScript) — joining the already-documented registry item CRUD methods. From api#859 (APP-14575).
  • ListMachineSummaries (Go) — fleet-wide machine summary listing, filterable by fragment or location. From rdk#5608 (APP-14503).
  • GetRobotPartByNameAndLocation (Go) — fills the missing Go column on the already-documented proto row.

The UploadImageToDatasets data manager change originally in this PR moved to #5193 so the two can be reviewed independently — they share no generated files.

Deliberately not included

The Go DataClient methods the coverage job also flags (sequences CRUD, the app-side UploadImageToDatasets) cannot currently be documented on the data client page — the Go scraper attributes every go.viam.com/rdk/app package method to the fleet page, and the data client page has no Go tabs. Tracked in #5190 rather than misplaced here.

Merge order

Stacked on #5184 (shared regeneration baseline). Merge #5184 first; GitHub retargets this automatically. Refs #5142 but does not close it (remaining warnings tracked in #5188/#5189/#5190).

Verification

Targeted coverage runs: all six warnings cleared, no missing-override warnings, links verified against the current /reference/apis/ paths.

Refs #5142

The Python, TypeScript, and Flutter SDKs expose a resource-level
GetStatus method (backed by the common GetStatus RPC) on every
component and most services, but it had no rows in sdk_protos_map.csv,
so the API reference never mentioned it and the weekly SDK method
coverage job flagged ~70 unused-method warnings.

Add a GetStatus row for each of the 18 components and 8 services,
filling only the SDK columns the coverage scraper actually finds
(the Go SDK has no per-resource GetStatus; Flutter lacks encoder,
input controller, and switch). Add a proto description override file
per resource, and regenerate the affected component and service
markdown.

Also ignore the capitalized 'GetStatus' the Python scraper picks up
from the world_state_store page, matching the existing entries for
that page's other proto-cased duplicates (ListUUIDs, GetTransform).

Refs #5142.
The first-sentence extractor for method-table descriptions only
stripped percent-style ({{% alert %}}) shortcode blocks. The
motion.MoveOnMap.md override starts with an angle-bracket
({{< alert >}}) block, so regenerating leaked an unclosed shortcode
opener into motion-table.md and broke the Hugo build. Strip
angle-bracket blocks the same way, non-greedily so a description
between two blocks survives.
…ence/apis

The docs restructure moved the API reference pages from
/dev/reference/apis/* to /reference/apis/*, leaving /dev/reference as
meta-refresh alias stubs. The generator still hardcoded the old
prefix, so the previous regeneration pointed every method-table link
at a stub page and htmltest failed. Update the anchor prefixes and
regenerate the files in this PR's scope.
…pload methods

Documents seven released fleet/data methods flagged by the SDK method
coverage job:

- DeprecateRegistryItem / UndeprecateRegistryItem and their Version
  variants (Python + TypeScript), joining the already-documented
  registry item CRUD methods.
- ListMachineSummaries (Go): fleet-wide machine summary listing.
- GetRobotPartByNameAndLocation (Go): fills the missing Go method on
  the already-documented proto row.
- UploadImageToDatasets (Go) on the data manager service, alongside
  the existing UploadBinaryDataToDatasets.

Adds CSV rows/columns, proto description overrides (rewording the two
pre-staged override files to imperative table style), and regenerates
the fleet and data manager markdown.

Refs #5142.
@btshrewsbury-viam

Copy link
Copy Markdown
Collaborator Author

Merge order: merge #5184 first. This PR is stacked on the docs/api-getstatus branch because both regenerate the data manager markdown — the diff here shows only this PR's changes. Once #5184 merges, GitHub retargets this to main; merge it after that (order relative to #5186 doesn't matter).

Issue linkage: refs #5142 but does not close it. The Go DataClient methods deliberately excluded here (sequences CRUD, app-side UploadImageToDatasets) are tracked in #5190; the internal-facing app methods are tracked in #5188.


Generated by Claude Code

Split the data manager service method out so the fleet-page changes
and the data manager change can be reviewed independently; they share
no generated files.
@btshrewsbury-viam btshrewsbury-viam changed the title Document registry deprecation, machine summaries, and dataset image upload methods Document registry deprecation and machine summary methods on the fleet page Jul 13, 2026
@btshrewsbury-viam

Copy link
Copy Markdown
Collaborator Author

Scope change: the UploadImageToDatasets data manager method was split out to #5193 so it can be reviewed independently (no shared generated files). This PR is now fleet-page only. Merge order unchanged: #5184 first, then this and #5193 in any order.


Generated by Claude Code

@btshrewsbury-viam

Copy link
Copy Markdown
Collaborator Author

Marvin (@enternal-L) Could you please review this PR? It's mostly generated stuff, but there are two .md files that could use a double check

@viam-overwatch

Copy link
Copy Markdown

Hey btshrewsbury-viam — this PR has been approved and CI has been green for 3+ business days. Ready to merge?

Auto-comment from overwatch. Will not re-nudge for 7 days.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I independently verified this PR's claims against source (api a05c12b5, rdk cf13e7a16, app 844583faf, viam-python-sdk 6a6e035ba, viam-typescript-sdk ca10ef2c9, all at current main). Most of it checks out cleanly:

  • All four registry deprecation RPCs exist in the proto (app.proto:290–306), and the Python and TypeScript tabs match the SDK source verbatim — signatures, parameter descriptions, and examples all trace to app_client.py:2400–2461 and app-client.ts:1660–1721.
  • GetRobotPartByNameAndLocation is done right: the Go tab sits inside the existing section, the argument order matches app/app_client.go:2991, and the CSV row was edited in place.
  • The ListMachineSummaries Go signature and []*LocationSummary return type match app/app_client.go:2910. The example's limit of 0 is behaviorally safe — the app backend treats any limit ≤ 0 as "no limit" (domains/fleetdashboard/server.go:98–102). (Side note: the proto comment says unset defaults to 100; the handler says otherwise — an api-repo comment bug worth an upstream note, though the docs don't repeat the claim.)

Four findings, first one worth fixing before merge:

1. ListMachineSummaries is now documented twice on the page. The PR adds a new Go-only CSV row (line 411, after ListRobots) while the pre-existing TypeScript-only row remains (line 421, after ListMachineFragments). The generator emits one section per row, so the head file has two ### ListMachineSummaries headings (app.md lines 3382 and 4090) and two identical rows in app-table.md (lines 49 and 59), both linking to #listmachinesummaries. Rendered, the second heading gets anchor #listmachinesummaries-1 that nothing links to, and the Go and TypeScript tabs are split across two sections instead of sharing one tabset. Fix: merge into a single CSV row (app,ListMachineSummaries,,,ListMachineSummaries,,listMachineSummaries) at one position and regenerate.

2. The Go example for ListMachineSummaries is wrong. It passes []string{locationID} in the fragmentIDs position and []string{fragmetnID} (note the typo) in the locationIDs position — verified against the signature order (ctx, organizationID, fragmentIDs, locationIDs, limit). The example is scraped verbatim from the rdk doc comment introduced in rdk#5608 (app/app_client.go:2896–2905), which also has the ragged indentation. The durable fix is correcting the rdk doc comment and regenerating.

3. Missing parameter types in the new Go tabs (minor scraper artifact): fragmentIDs and name render with no type or description — both are the first identifier in a combined Go declaration (fragmentIDs, locationIDs []string; name, locationID string), which the Go scraper mishandles.

4. Regeneration churn regression (informational, upstream): create_role/remove_role/change_role now render private type aliases _ROLE_TYPE / _RESOURCE_TYPE_TYPE where the readable Literal['owner'] | Literal['operator'] used to appear. The prose descriptions still name the allowed values, so not blocking, but it's a readability regression from the SDK/generator side.

@viam-overwatch

Copy link
Copy Markdown

Hey btshrewsbury-viam — this PR has been approved and CI has been green for 9+ business days. Ready to merge?

Auto-comment from overwatch. Will not re-nudge for 7 days.

Base automatically changed from docs/api-getstatus to main July 27, 2026 19:44
@viam-overwatch

Copy link
Copy Markdown

Hey btshrewsbury-viam — this PR has been approved and CI has been green for 14+ business days. Ready to merge?

Auto-comment from overwatch. Will not re-nudge for 7 days.

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