Mushi Mushi health
Route: /health (the sidebar called it “App health” until October 2026)
This page is about Mushi Mushi itself, not your app: the AI calls behind your diagnoses and fixes, Mushi Mushi’s background jobs, and live provider connectivity. Use it to catch degradation before it surfaces as a user-facing bug. Your own app’s uptime and errors are on Home.
The page has four views, picked at the top: Mushi Mushi’s AI & jobs (described below), Code size, Schema changes and Unusual spikes. Inside Mushi Mushi’s AI & jobs, the tabs are Overview, AI calls, Scheduled jobs and Recent traces.
Time window
Use the Last hour / Last 24h / Last 7 days picker to scope the AI-call stats and
charts to a time window. The window is persisted in the URL (?window=).
LLM health summary
The top section shows aggregate stats across all LLM-touching pipelines for the selected window:
| Stat | Description |
|---|---|
| Total calls | Number of llm_invocations rows in window |
| Fallback rate | % of calls that used a fallback model |
| Error rate | % of calls that returned an error |
| Speed avg / p95 | Average and 95th-percentile response time |
Below the summary, a per-function breakdown table shows calls, avg/p95 latency, cost
(USD), fallback count, errors, and last failure time for each edge function
(fix-worker, classify-report, judge-batch, pdca-runner, etc.).
A per-model breakdown table shows calls, token count, and errors for each LLM model in use.
Provider probes
On the Recent traces tab, two cards test the Anthropic and OpenAI keys set on the
Mushi Mushi server (ANTHROPIC_API_KEY and OPENAI_API_KEY). They do not test the
BYOK keys you add in Settings.
| Provider | What’s tested |
|---|---|
| Anthropic | A 1-token POST /v1/messages call: confirms the key works and can reach the probe model |
| OpenAI | GET /v1/models/<probe model>: confirms the key and its access to the model, and costs nothing |
Each card shows a status badge (ok, degraded, down or unknown), the
latency, and the last probed time. Click Probe now to run the test on demand.
Cron job health
The Scheduled jobs tab has a card for each background job: judge-batch,
intelligence-report and data-retention. Each shows:
- Last run timestamp and a staleness note when a run is late
- Run count, success rate and average duration, read from the most recent 100 job runs (not filtered by the time window)
Click Trigger now on judge-batch or intelligence-report to run it immediately.
It spends AI budget, and only admins can use it. data-retention has no manual trigger.
Recent LLM calls log
The Recent traces tab lists the most recent llm_invocations rows for this project,
with the time, function name, model, fallback and error badges, key source (when it is not
the server key), latency, token count, and a link to the Langfuse trace when one was recorded.
Use the Show filter (all / errors / fallbacks) to isolate problem calls. The URL
param ?recent= persists the filter. The list auto-updates via a realtime subscription.
Recommended actions
On the Overview tab, the summary reads Critical probes failing, Degraded probes or All systems nominal, from the count of red and amber signals on the page. When something needs you (error rate, a fallback spike, a failed or late job, or no AI calls at all in the window), a recommended next step appears with a link.
Related pages
- Settings — configure BYOK keys
- Improvement runs — the highest per-run LLM cost driver
- Fixes — fix-worker call detail