Tootsie's

behind the bar · how she stays up

She keeps herself running

Tootsies watches her own vitals, catches a service going down, and files her own fix, usually before anyone in the room notices.

The whole idea: every part of her reports how it's doing. She reads her own health on a loop, and when something craters she doesn't just go quiet, she trips a safety switch, leans on a backup, and orders a fix herself.
every ~30 minutes, on her own 🩺 CHECK VITALS reads her own telemetry ⚠ SPOTS A CRATER a feed's failing hard 📝 files her own fix-order 🔔 flags it in #bot-logs She doesn't wait for a complaint, the day a music feed throttled her 1,600× and she stayed silent is exactly what this catches now. (The fix-order runs the same pipeline as Order a feature.)

Safety switches (circuit breakers)

When an outside service starts failing, she doesn't keep slamming a dead door. A breaker trips, she stops calling it for a bit, and she leans on a backup feed, so she degrades gracefully instead of going dark.

feed A failing ××× BREAKER TRIPS stops calling it feed B (backup) picks up the slack After a cool-down she sends one test call; if the feed's healthy again, she flips it back on.
Each outside service has its own breaker, so one going down never drags the rest with it.

Two brains, always one up

She thinks with one AI and keeps a second on standby. If her main brain goes down or runs out of credit, she hands off to the backup mid‑answer and keeps talking, and it works both ways. Every surface can run on either.

if one's down, she borrows the other 🧠 CLAUDE her main voice 🤖 GPT the backup brain out of credit / down or the other drops best swaps for best, cheap for cheap, so quality never dips answers, recaps, music, odds talk, all can run on either
Neither outage takes her dark, a stalled brain just hands the mic to the other.

A backup for every feed

The live data comes from outside services, and any one can throttle or drop. So each kind has more than one source. When the main one fails she falls to the backup on her own, you just get the answer.

MAIN BACKUP betting lines SGO The Odds API if SGO's capped song catalog Apple Music Deezer if it throttles prediction % Polymarket Kalshi either can lead live scores several feeds merged into one always on When the main source throttles or drops, she falls to the backup mid‑request. You just see the answer.
Odds, scores, music, prediction markets, none of it rides on a single service.

Budget watch

The paid feeds have monthly or daily limits. She tracks how much of each is left and flags one nearing its cap before it hits the wall, so a feed never silently runs out mid-game.

how much budget is left sports scores 32% used betting lines 89%, flagged voice minutes 20% used A feed crossing its line raises a flag before the limit, not after the wall, the gap that once took /bet dark.

How she scales

The server is hundreds of thousands of messages, and she redeploys on every merge. She keeps every stat current without ever recounting from scratch. Three tricks carry it, each with a name.

counting what a deploy keeps interrupting CHECKPOINT & RESUME # general ✓ saved # music ✓ saved # habibis folding… # memes waiting ⚡ deploy interrupts # habibis on restart skips the saved channels, resumes at # habibis She folds one channel at a time and saves her place, so a crash only loses the one in flight.
A whole-server scan can't finish before the next deploy, so it finishes across as many as it takes.
this week, without re-reading a message SNAPSHOT DIFF 4,931 total, today 3,780 snapshot, 7 days ago = 1,151 this week One daily photo of the totals covers both weekly and monthly, no second scan, instant.
Weekly and monthly are one subtraction away, so the window costs nothing to compute.
add today, never recount yesterday ADDITIVE MERGE recount all history the slow way yesterday + just today what she actually does 4,931 same answer, either way Folding in a day equals recounting from scratch, so she only ever adds the new part.
Proven in the tests, so a cheap daily catch-up is trusted to match a full rebuild exactly.

A twice-daily self-review

On top of the live watch, a routine runs twice a day that grades her own recent posts, checks her speed, and groups any errors, then files a tracked issue for anything off, so a slow drift gets caught even when nothing's outright broken.

SELF-REVIEW · 2×/day grades her own posts, speed & errors anything off the mark? flag it files a tracked issue deduped, no spam

She grades herself, with a rigged test

A set of quality checks run her real posts past a judge, is this grounded, in her voice, not invented? Each check ships with a known‑bad example that must get flagged. If the judge ever lets the bad one through, the test itself is broken, so the checks can't quietly rot. She reads the trend, not one off night.

the test that keeps the tests honest KNOWN‑BAD SAMPLE a made‑up final score ⚖ THE JUDGE grades it flags it → the test works misses it → test's broken The same judge grades her live posts too, and she's read on the trend, never one bad night.
A judge is just another model, so every check keeps a trap that proves the judge still has teeth.
Add it up and she's her own night-shift: two brains that cover each other, a backup for every feed, breakers for the outages, a budget watch, and checks that grade her own work, most of which fixes itself before the room ever sees a hiccup.

under the hoodRailway (runtime logs + deploys) · GitHub (files the fix-orders + issues) · Claude + GPT (two model backends, either can cover the other) · Apple Music/Deezer, SGO/The Odds API, Polymarket/Kalshi (backup data feeds) · her own circuit breakers, budget polls, evals & structured telemetry

mostly invisible by design · see also Order a feature