Skip to content

World state store API page has no Go tabs: parse_go.py hardcodes a skip for the service #5198

Description

@btshrewsbury-viam

Problem

The world state store API reference documents Python and TypeScript only. Every method section in the generated include (static/include/services/apis/generated/world_state_store.md) has Python and TypeScript tabs but no Go tab.

This has become a visible gap: the Visualization section (#5099) teaches implementing the service in Go (Publish visuals from a module), so the API page contradicts the how-to that links to it — the language the docs teach is the one language the API page omits.

Root cause

.github/workflows/parse_go.py skips the service unconditionally:

for resource in viam_resources:

    if resource == "world_state_store":
        print(f'Skipping Resource: {resource}')
        continue

The skip landed with the page itself in DOCS-4335 (#4642, 2025-09-12), presumably because the Go package was not yet published to pkg.go.dev, so the scraper had nothing to read.

Why it can be removed now

  • https://pkg.go.dev/go.viam.com/rdk/services/worldstatestore now returns 200.
  • RDK v1.0.0-rc0 ships the full client interface with doc comments and usage examples (services/worldstatestore/world_state_store.go):
type Service interface {
    resource.Resource
    ListUUIDs(ctx context.Context, extra map[string]any) ([][]byte, error)
    GetTransform(ctx context.Context, uuid []byte, extra map[string]any) (*commonpb.Transform, error)
    StreamTransformChanges(ctx context.Context, extra map[string]any) (*TransformChangeStream, error)
}
  • update_sdk_methods.py already maps the service's proto (world_state_store_grpc.pb.go) and includes it in its services list, so only the Go parser opts out.

Fix

  1. Remove the world_state_store skip from parse_go.py.
  2. Run the SDK-methods update and check the generated Go tabs for ListUUIDs, GetTransform, and StreamTransformChanges (the streaming return, *TransformChangeStream with its Next()/io.EOF iterator, is the one likely to need a template tweak).
  3. Confirm the regenerated world_state_store.md and world_state_store-table.md build clean.

Done when

The world state store API page shows Go alongside Python and TypeScript for all three service methods, matching the Go how-to at /visualization/publish-visuals-from-a-module/.

🤖 Generated with 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