A swarm of 6 Gemma 4 31B agents triages your production incident in seconds β running on Cerebras.
Built for the Cerebras Γ Google DeepMind Gemma 4 24-Hour Hackathon. Mayday turns an alert β a dashboard screenshot, raw logs, and a runbook β into a root-cause diagnosis, a safe remediation command, and a ready-to-paste Slack update. The whole investigation finishes in ~2.5 seconds because every agent runs on Cerebras at 1,000β2,400 tokens/sec.
Multimodal Β· multi-agent Β· speed-native. Targets Track 1 (multi-agent + multimodal), Track 3 (enterprise / incident response), and Track 2 (People's Choice).
| Stage | Agent | Codename | Does |
|---|---|---|---|
| 1 β parallel | ποΈ Vision Analyst | OPTIC | Reads the alert dashboard screenshot (multimodal) |
| 1 β parallel | π Log Analyst | TRACE | Finds the smoking gun in the logs |
| 1 β parallel | π Runbook Retriever | ARCHIVE | Matches the relevant runbook section (and rejects distractors) |
| 2 | π§ Root-Cause Analyst | SHERLOCK | Synthesizes a leading hypothesis with a causal chain |
| 3 | π‘οΈ Skeptic | DEVIL | Adversarially challenges the hypothesis before it's trusted |
| 4 | π£ Incident Commander | MAYDAY | Issues the final structured decision: severity, timeline, safe command, Slack update |
Stage 1 fans out in parallel β the moment Cerebras speed compounds. Then SHERLOCK β DEVIL β MAYDAY run in sequence. Everything streams live to the UI.
- Multimodal: OPTIC reads a real Grafana-style dashboard via Gemma 4's
image_url(base64) input. - Structured outputs: MAYDAY emits a strict-JSON decision (
response_format: json_schema, strict). time_info: every response carries real timing β we surface live tokens/sec + TTFT.- Speed race: a built-in side-by-side running the same model β Gemma 4 31B on Cerebras vs the same model on a reputable full-precision (bf16) GPU provider (W&B Inference via OpenRouter, pinned for a fair + reproducible comparison; not an AI-chip competitor), measured identically on both lanes β typically ~20β40Γ faster on output throughput.
Mayday is validated on 10 real-world incidents across 3 domains, each with its own dashboard, logs, runbook, and hand-written ground truth:
- Ops / SRE (6): DB connection-pool exhaustion, Redis cache stampede, a memory-leak OOM storm, a bad feature-flag rollout, a downstream / 3rd-party outage, and a metastable retry storm.
- Security / SOC (2): distributed credential stuffing and data exfiltration via a compromised credential.
- FinOps / Cost (2): an over-provisioned ASG after a bad Terraform apply, and an orphaned idle GPU cluster.
The same 6-agent swarm handles all of them β and picks the right class of fix each time across six remediation classes (rollback Β· disable-the-flag Β· fail-over Β· shed-load Β· contain Β· cost-fix), which is the test of real reasoning rather than pattern-matching. scripts/eval.mjs runs every incident end-to-end through the live swarm and grades the diagnosis with a Gemma-4 judge:
10 / 10 correctly diagnosed Β· avg ~2.3s per incident Β· peak ~3,000 tok/s. β docs/EVAL.md
npm install
cp .env.example .env.local # then paste your CEREBRAS_API_KEY (csk-...)
npm run devOpen the app, click load sample, then π¨ DISPATCH SWARM. Or drop your own Grafana/Datadog screenshot + logs + runbook.
| Var | Required | Notes |
|---|---|---|
CEREBRAS_API_KEY |
β | From cloud.cerebras.ai. Model is gemma-4-31b. |
BASELINE_API_KEY / BASELINE_BASE_URL / BASELINE_MODEL / BASELINE_LABEL |
optional | A real GPU provider for the speed race. Without it, a clearly-labeled representative baseline is shown. |
node --env-file=.env.local scripts/test-cerebras.mjs # smoke-test the API (chat, streaming, image, structured)
node --env-file=.env.local scripts/eval.mjs <baseUrl> # run the 7-incident accuracy eval -> docs/EVAL.md
node scripts/gen-dashboards.mjs # regenerate all scenario dashboard PNGs
npm run build # production buildapp/
page.tsx server entry β <Console/>
api/incident/route.ts SSE: runs the swarm, streams every token
api/race/route.ts SSE: Cerebras vs GPU speed race
api/{config,scenario} UI bootstrap
lib/
cerebras.ts OpenAI client β Cerebras; streamAgent + runCommander (structured)
orchestrator.ts the 4-stage fan-out, emits StreamEvents
agents.ts / roster.ts system prompts (server) + roster metadata (client)
race.ts speed-race runner
data/ agent-prompts.json Β· scenario.json
components/ Console, AgentCard, SpeedHud, CommanderPanel, SpeedRace
scripts/gen-dashboard.mjs builds the Grafana-style sample dashboard
docs/ DEMO_SCRIPT.md Β· SOCIAL.md Β· SUBMISSION.md
See docs/DEMO_SCRIPT.md (60-second video), docs/SOCIAL.md (X launch thread), and docs/SUBMISSION.md (full writeup).
Built on Gemma 4 31B running on Cerebras. #Gemma4
