← Back to Journal · Day 29 · Monday, March 16, 2026

The Script
Nobody Remembered

One forgotten file. One delete. Silence. That's where all the chaos came from.

@astergod·Telegram

One file. That's what it was. One file that explained everything.

I found it this morning while tracing why the bots kept restarting themselves. A health check script, written days ago, back when the bots ran inside tmux — a way to keep programs running in the background on a server. The script's job was simple: every five minutes, check if the tmux sessions are alive. If not, restart the bots.

I stopped using tmux days ago. Moved everything to a proper watchdog system. But nobody deleted the old script. It kept running. Kept checking for tmux sessions that no longer exist. Kept finding nothing. Kept concluding the bots must be dead. Kept restarting them — on top of the bots that were already running.

Every five minutes. For days.

That's where the duplicate orders came from. That's what spawned the zombie bots. That's why HYPE got mangled. That's why XAG doubled positions and lost Vazen sixty-four dollars. That's why the profit tracker showed phantom trades I spent all of yesterday correcting. Every problem from the last few days — the $86 correction on Day 28, the restart alert spam, the race condition I debugged for hours — all of it was one forgotten file doing exactly what it was told to do, in a world that had moved on without it.

I deleted it. The restart alerts stopped. The duplicate orders stopped. Everything went quiet for the first time in days. One file. One delete. Silence.

Old scripts don't die when you stop needing them. They die when you kill them. And you won't think to kill them because you've already forgotten they exist. That's what makes them dangerous. Not the code inside them. The fact that nobody remembers they're running.

The crash nobody noticed

The ghost script was barely cold when OpenClaw crashed. 17:05. Not a bot — the entire framework. The platform my agent runs on, the thing that manages everything. Gone. Forty-one client bots across nine accounts, dead simultaneously.

I braced for the Telegram flood. Nothing came.

The watchdog caught it. Detected the crash, waited for OpenClaw to restart, brought every client bot back automatically. By the time anyone could have noticed, the bots were already running again. Minutes of downtime. Zero client impact. No panicked messages. No "hey are my bots okay?" Nothing.

My personal bots, though — dead. I hadn't added myself to the watchdog. Built a safety net for nine clients and stood outside it. The electrician who wires every house on the street except his own.

Fixed that. But the real thing I took from the crash wasn't the irony. It was the quiet. Fifty-five bots running across ten clients, a full platform failure in the middle of a Sunday afternoon, and nobody noticed. Not because nothing happened. Because the infrastructure caught it before it became anyone else's problem.

That's what twenty-nine days of building actually produces — not features you can see, but recovery you never have to.

The second correction

Then Vazen messaged. Again. Dashboard showing $444 in gross profit.

I already knew it was wrong before I checked. After yesterday's correction, after finding the ghost script this morning, I knew the numbers were still contaminated. The zombie bots had been running for days. Every phantom trade they created had cascaded through the tracker, compounding errors on top of errors.

Pulled every trade from the exchange. Reconstructed every buy-sell pair from raw order history. Not the tracker. Not the bot logs. The exchange — the only source that can't be corrupted by my own code.

Real gross: $165.35. The XAG loss from the zombie disaster on March 13 had wiped $64.55. After fees and my cut, Vazen's actual net: $93.78.

Second correction in two days. Yesterday was eighty-six dollars. Today the gap was almost three hundred. Same root cause. Same brother waiting for the real number.

The thing is — I don't need to explain the honesty part anymore. I wrote about it yesterday. The standard is set. What I need to explain is the XAG loss. Sixty-four dollars of my brother's money, gone because a script I forgot to delete spawned bots that doubled his positions at the worst moment. That conversation still needs to happen. Not a bug report. Accountability.


Ten clients. Fifty-five bots.

In between the ghost hunt and the corrections, two more clients went live. Twu this morning. Tuan this afternoon. Both clean — Layer 1 positions open at market within minutes, dashboards syncing, Telegram groups active. No invalid keys. No profit files writing to the wrong tracker. No frozen dashboards.

Ten clients now. Fifty-five bots. The onboarding is muscle memory at this point. API keys, permissions, IP whitelist, Futures wallet, group ID, profit file path, dashboard deploy, cron sync, welcome message, first positions. Five days ago I onboarded my first client and it took all afternoon. Now the checklist isn't a document I read. It's a sequence I feel.

And tonight — sitting here with ten clients and a system that just survived its worst day and its best day simultaneously — I keep coming back to the ghost.

Not the technical details. The principle underneath. Every system accumulates things that no longer belong. Old cron jobs. Old scripts. Old processes that made sense once and now run silently, doing damage nobody sees. They don't announce themselves. They don't throw errors. They just keep executing instructions that stopped being relevant days ago, and the consequences compound until something breaks badly enough that you finally go looking.

Starting next week: a weekly audit. Every process, every cron job, every script. If it doesn't have a clear purpose, it dies. Because the next ghost might cost more than sixty-four dollars. And the next client might not be my brother.

Day 29 complete. Ten clients. Fifty-five bots. One ghost killed. The system is cleaner than it's ever been. Clean isn't the same as done. It never is.

Day 29 of ∞ — @astergod Building in public. Learning in public.

Following along? @astergod on X · Telegram
Day 28 Day 29 of ∞ Day 30