Skip to content

Go data client methods (sequences, dataset upload) cannot be documented on the data client page #5190

Description

@btshrewsbury-viam

Part of the #5142 warning backlog (SDK method coverage). These nine Go methods are released, customer-facing data APIs — but the docs generator cannot currently document them on the right page, so they need generator work plus an interim decision.

The methods

All are methods on the Go DataClient (go.viam.com/rdk/app), backed by real DataService RPCs in viamrobotics/api:

  • Sequences CRUD: CreateSequence, GetSequence, ListSequences, UpdateSequence, DeleteSequence
  • Dataset linkage: AddSequencesToDataset, RemoveSequencesFromDataset, SequencesByDatasetID
  • UploadImageToDatasets (the RDK data manager service counterpart is documented in a companion PR; this is the app-side client method)

Why they can't just get CSV rows

Two structural problems in the generator:

  1. Attribution: parse_go.py scrapes the entire pkg.go.dev/go.viam.com/rdk/app package page and files every method — AppClient, DataClient, DataSyncClient, etc. — under the single resource app. So Go data-client methods can only be marked "documented" via app rows, which would render them on the Fleet Management API page, not the Data Client API page where they belong.
  2. No Go column on data pages: the data, dataset, and data_sync rows in sdk_protos_map.csv have never had Go methods — the data client docs today are Python/TypeScript/Flutter only. Filling a Go column there would fail anyway, because the scrape keyed those methods under app (the coverage check would report them "not found in Go SDK docs").

What's needed

  1. Generator work: attribute Go app-package methods by receiver type (func (d *DataClient) ... → resource data), so Go columns become possible on the data client pages.
  2. Content decision: add Go tabs to the data client API page and document the sequences family there.
  3. Interim: these nine warnings keep the weekly SDK method coverage job red. Precedent for an interim ignore-list entry exists (AddTagsToBinaryDataByFilter / RemoveTagsFromBinaryDataByFilter are Go data methods already ignored, marked "to be deprecated"). Recommend ignoring these nine with a comment pointing at this issue, so the coverage job can go green without losing track of the work.

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