Skip to content

feat(sdk): regen — measured graph storage replaces the size estimate - #148

Merged
jfrench9 merged 1 commit into
mainfrom
feature/sdk-regen-storage
Jul 26, 2026
Merged

feat(sdk): regen — measured graph storage replaces the size estimate#148
jfrench9 merged 1 commit into
mainfrom
feature/sdk-regen-storage

Conversation

@jfrench9

Copy link
Copy Markdown
Member

Summary

Regenerates against robosystems#938, which replaces a node_count * 100 bytes storage guess with the measured on-disk total.

Warning

Breaking for get_graph_metrics callers, and it fails loudly. estimated_size was a required field parsed with d.pop("estimated_size"), so 0.5.8 raises KeyError against a server that has deployed #938. Callers of get_graph_metrics must move to this release. Nothing else in the SDK is affected.

Important

Merge and publish alongside the robosystems#938 deploy. The goal is to keep the window short where prod returns storage but the newest published client demands estimated_size.

Changes

GraphMetricsResponse.estimated_sizestorage

Before After
GraphMetricsResponseEstimatedSize GraphMetricsResponseStorage
estimated_bytes / estimated_kb / estimated_mb, method, note total_bytes / total_kb / total_mb / total_gb, items

The rename is not cosmetic: the server stopped estimating, so a field called estimated_size would have kept implying something that no longer happens. The value now spans the graph, its memory database, subgraphs, vector indexes and staging file.

An unreachable instance returns {"error": ...} with no total, rather than a fallback estimate.

Upstream catch-up — robosystems#937 storage work that landed after the 0.5.8 regen:

  • InstanceUsage gains items
  • New StorageItem model — per-type breakdown across graph, memory, subgraph, vectors, staging

Testing

just test-all — ruff check, ruff format, basedpyright 0 errors, 439 passed / 17 skipped: all green.

Pure regen output — no hand edits. Version bump / release handled separately by the publish flow.

BREAKING for get_graph_metrics callers.

GraphMetricsResponse.estimated_size -> storage. The server no longer
guesses storage from node count (robosystems#938); it reports the
measured on-disk total plus an itemized breakdown, so the old field name
would have kept implying an estimate that no longer exists.

estimated_size was a required field parsed with d.pop(), so 0.5.8 raises
KeyError against a server that has deployed #938. Callers of
get_graph_metrics must move to this release; nothing else is affected.

    GraphMetricsResponseEstimatedSize -> GraphMetricsResponseStorage
      (total_bytes/kb/mb/gb + items)

Also catches up on robosystems#937's storage work, which landed after the
0.5.8 regen: InstanceUsage gains `items`, and the new StorageItem model
carries the per-type breakdown — graph, memory, subgraph, vectors,
staging.
@jfrench9
jfrench9 merged commit 667b406 into main Jul 26, 2026
1 check passed
@jfrench9
jfrench9 deleted the feature/sdk-regen-storage branch July 26, 2026 08:10
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.

1 participant