You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
get_store_metrics returns ~1.9 MB by default (every store object × ~30 days) — ~500k tokens, larger than any agent context; even days_back=1 is 346 KB #3903
get_store_metrics returns ~1.9 MB by default on every production store — roughly 500 k tokens, more than any MCP client's context holds. Even days_back = 1 returns 346 KB (~90 k tokens), because the payload always lists every store object and the window only shortens each object's series. There is no object filter, object_kind filter, or top-N.
This is response size, distinct from #3898 (tool-definition size). The tool's own description is ~9 KB and contributes to #3898.
Measured (nightly 458, 2026-09-22)
store class
default response
largest SQL store
1,935 KB
read-replica SQL store
1,937 KB
PostgreSQL-target store
1,920 KB
Composition of the default response (PostgreSQL-target store, 251 store objects):
The questions this tool exists for — what is driving growth, which job is outgrowing its cadence, is retention running, how much can the inventory see — are answered by the ~9 KB of summary blocks plus a handful of objects. The per-object series for all 251 objects is almost never what the caller wants, yet it is always what the caller pays for. An agent that calls this tool loses its context; a client with an output cap sees the payload truncated from the tail, which drops whichever blocks happen to serialize last.
Proposal
Summary-first default: whole-store daily series, bytes_by_kind, inventory reconciliation, jobs, checkpointer, retention holds, and the top N objects by size and by growth (N ≈ 10).
Opt-in detail: an object_name / object_kind filter that returns the full series for the objects asked about.
Measured live on DARLING01 (dev c5be29e): the default get_store_metrics payload is 19.9 KB (before: 1,245.7 KB). Latency is about 770 ms median, dominated by the unchanged latest read. #3934 (the index) is the follow-up for that.
Summary
get_store_metricsreturns ~1.9 MB by default on every production store — roughly 500 k tokens, more than any MCP client's context holds. Evendays_back = 1returns 346 KB (~90 k tokens), because the payload always lists every store object and the window only shortens each object's series. There is no object filter,object_kindfilter, or top-N.This is response size, distinct from #3898 (tool-definition size). The tool's own description is ~9 KB and contributes to #3898.
Measured (nightly 458, 2026-09-22)
Composition of the default response (PostgreSQL-target store, 251 store objects):
daily— one series per object, all 251 objectsobjects— latest snapshot per objectdays_backdailyWhy it matters
The questions this tool exists for — what is driving growth, which job is outgrowing its cadence, is retention running, how much can the inventory see — are answered by the ~9 KB of summary blocks plus a handful of objects. The per-object series for all 251 objects is almost never what the caller wants, yet it is always what the caller pays for. An agent that calls this tool loses its context; a client with an output cap sees the payload truncated from the tail, which drops whichever blocks happen to serialize last.
Proposal
bytes_by_kind, inventory reconciliation, jobs, checkpointer, retention holds, and the top N objects by size and by growth (N ≈ 10).object_name/object_kindfilter that returns the full series for the objects asked about.Acceptance
get_store_metricsunder ~50 KB on the largest production store.