A Consolidated Status Ring for Piskes Agent Chat
Piskes Agent's chat interface replaces its context-only gauge with a single status ring that also shows plan, daily spend, and recent usage.
Piskes Agent's chat interface has a new status indicator: a single ring in the workspace bar that opens into a popover covering context usage, your plan, how much of your daily spend ceiling you've used, and your recent spend and token counts. It replaces the previous ContextGauge, which only showed context-window usage and nothing else — meaning plan and spend information lived somewhere else entirely, if it was surfaced at all.
One ring, more answers
The new StatusRing component consolidates what used to be scattered checks into one place, styled to match the status surface pattern from Claude Code. Click it, and you get context usage alongside your current plan, today's spend against your ceiling, and a running total of recent spend and tokens — all from a single GET /agent/v1/usage call rather than several round-trips to different endpoints.
A real fix riding along
The spend-ceiling number reuses checkPlanCeiling(), the same check already run on every agent run's admission path — so what you see in the ring is the same number that actually gates whether a run is allowed to proceed, not a separate estimate that could drift from it. Building that endpoint out also caught a tenancy bug: when a request carried an unverified X-Workspace-ID header, the usage endpoint was about to read a workspace-scoped ceiling from D1 keyed on a workspace it hadn't actually verified the caller belonged to. That path now falls back to the personal-scope ceiling instead, closing off a case where usage data could have been read against the wrong tenant.
What's next
This is a UI and API consolidation, not a new billing feature — the numbers it shows were already being computed elsewhere in the system. The value is having them in one glanceable place instead of several, with a tenancy edge case closed along the way.