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
MCP and the Monitor should use the same repository operation to list sessions. That operation should return small summaries; it should not load transcripts before someone opens a session.
Today the Monitor asks an analytics path for up to 50 sessions and receives complete turn arrays. Every refresh can transfer transcript content for sessions the user may never open. Older sessions have no stable pagination path, and backend failure can resemble an empty store.
In #587's example, Moraine retained 425 sessions while the Monitor displayed 50 / 50.
This issue covers browsing only. Server-side Monitor search is the later #645 step.
Scope
Add one authorized repository method and bounded session-summary model used by MCP and Monitor.
Include only capped display metadata and counts needed by the list UI; include no transcript-sized fields.
Use cursor/keyset pagination with filter/sort binding and has_more/next_cursor.
Return the same summary fields and ordering for the same authorized repository inputs.
Change GET /api/v1/sessions to return summaries and cursor metadata only.
Summary
MCP and the Monitor should use the same repository operation to list sessions. That operation should return small summaries; it should not load transcripts before someone opens a session.
Today the Monitor asks an analytics path for up to 50 sessions and receives complete turn arrays. Every refresh can transfer transcript content for sessions the user may never open. Older sessions have no stable pagination path, and backend failure can resemble an empty store.
In #587's example, Moraine retained 425 sessions while the Monitor displayed
50 / 50.This issue covers browsing only. Server-side Monitor search is the later #645 step.
Scope
has_more/next_cursor.GET /api/v1/sessionsto return summaries and cursor metadata only.mcp_session_directory,mcp_open_*, or a Monitor transcript cache.Acceptance criteria
Chain