Audit run on the real-store SutroYaro project (95 sessions, 374 Task tool calls, 7M tokens). All wave-1 / v0.9.0 surfaces tested individually with urllib.request.
Real failures
| Tab |
Symptom |
Impact |
| yield |
/api/yield times out at 15s |
tab unloadable |
| agent-teams |
Returns 10 teams when project has 0 sub-agent activity (uses ?project= filter but data model is wrong) |
shows random sessions from other projects |
| messages |
Returns 37 MB body — every message in 95 sessions, no pagination |
dashboard crawls / runs out of memory |
| stats |
Returns 3.2 MB |
every chart re-fetches this; cumulative latency |
| optimize |
13.2s response time |
tab visibly hangs |
Working
overview (40ms), cost-by-provider, compare, commands, search, qa, tags, bookmarks, playback-project.
Root causes (where known)
- yield: needs profiling; likely
git log per cwd over a project with many sessions
- agent-teams:
_list_team_sessions_scan synthesizes "teams" from any session in any project that has sidechain anywhere. SutroYaro has 0 sidechain messages but 374 Task tool calls. The scan logic is solving the wrong problem.
- messages: route returns full message list without
limit cap — 26,158 rows × ~1.4KB each = 37MB
- stats: payload includes the full daily_stats / hourly_pattern + per-tool counters. Probably fine in absolute terms but loaded on every tab switch
- optimize: scans messages.raw_json across 95 sessions × 16K msgs each
Plan
Each fix dispatched as a parallel agent. Tracked as a wave — single v0.9.1 patch when all merge.
Closes part of the broader "is the dashboard actually correct" question raised after the meta-agent + wave-1 ship.
Audit run on the real-store SutroYaro project (95 sessions, 374 Task tool calls, 7M tokens). All wave-1 / v0.9.0 surfaces tested individually with
urllib.request.Real failures
/api/yieldtimes out at 15s?project=filter but data model is wrong)Working
overview (40ms), cost-by-provider, compare, commands, search, qa, tags, bookmarks, playback-project.
Root causes (where known)
git logper cwd over a project with many sessions_list_team_sessions_scansynthesizes "teams" from any session in any project that has sidechain anywhere. SutroYaro has 0 sidechain messages but 374 Task tool calls. The scan logic is solving the wrong problem.limitcap — 26,158 rows × ~1.4KB each = 37MBPlan
Each fix dispatched as a parallel agent. Tracked as a wave — single v0.9.1 patch when all merge.
Closes part of the broader "is the dashboard actually correct" question raised after the meta-agent + wave-1 ship.