Skip to content

SDK coverage: scraper artifacts and SDK-only helpers flagged as undocumented methods #5189

Description

@btshrewsbury-viam

Part of the #5142 warning backlog (SDK method coverage). These warnings are not documentation gaps — the coverage scraper is reporting things that are not callable API methods, or are SDK-side helpers that the docs have never documented. Each needs either a scraper fix or an ignore-list entry.

Not actually methods

Python resource_id, resource_type, role (reported as app client methods)
These are attributes of the APIKeyAuthorization dataclass (viam.app.app_client.APIKeyAuthorization.resource_id, etc.). The Python scraper reads the autoapi page for app_client and picks up dataclass attributes as if they were AppClient methods. Best fix: teach parse_python.py to skip non-method members (or members of non-client classes); fallback: ignore-list the three names.

Python GetStatus on world_state_store (proto-cased duplicate)
The world_state_store autoapi page exposes proto-cased wrapper entries alongside the snake_case client methods. The page's other duplicates (ListUUIDs, GetTransform, StreamTransformChanges, DoCommand) were already ignore-listed; PR #5184 added GetStatus to the same list. Listed here for completeness — a scraper-level fix for this page would let all five entries come off the ignore list.

SDK-side helpers (released, but not platform API)

Flutter arm.calculateMaxReach
A client-side convenience that calls getKinematics and sums link lengths locally — no RPC behind it, and an unusual signature (a method that takes the Arm as a parameter). Recommend: ignore-list, and optionally flag to the Flutter SDK team as an API-shape question.

Flutter RobotClient.withClient
A constructor variant whose own doc comment says it is for callers that already have a RobotServiceClient "e.g. for testing with a mock client," and that channel/session-dependent methods will not work on instances it creates. Not a customer connection path (that is atAddress, which is documented). Recommend: ignore-list.

Proposed resolution

A small PR that (a) skips dataclass attributes in parse_python.py, and (b) adds the two Flutter helpers to the Flutter ignore list in check_for_unused_methods with comments. Happy to open it once confirmed. Until then these warnings keep the weekly SDK method coverage job red.


Generated by Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions