"[Aug 27] Re-Sorting a 5,000-Line Backlog Turned Up Bugs That Had Been Failing Silently for Days"
Going through the whole backlog from scratch surfaced two features that had been quietly broken for days, and I started running the second brokerage side by side in paper trading
This is the English version of a post originally written in Korean for my algorithmic trading system devlog(new tab).
This project keeps a single master document where every task gets piled up over time. It had grown to nearly 5,000 lines.
Today I decided to go through the whole thing from the top. There were too many items for one pass, so I split it into chunks and handed each chunk to a different AI running in parallel, asking each one to re-classify its section as done, obsolete, or still pending.
That process turned up something unexpected. While re-reading old items one by one, I found two features that had actually been silently broken for several days.
One was a lookup function — it depended on a library that wasn't installed in the runtime environment, so it had been returning an empty value every single time for eight days straight. Since it failed by returning nothing rather than throwing an error, nobody noticed.
The other was a cache — a version mismatch in a shared library between two different runtime environments had left it broken for three days. Same story: it looked like it was working fine from the outside, so it went unnoticed for a while.
Both got fixed as soon as I confirmed the root cause. The causes were different, but the pattern was the same — instead of raising an error, each failure quietly fell through to an empty or stale value, so it stayed hidden behind a facade of normal operation for days.
The full re-sort was useful on its own, too. I closed out several items that had already been finished or no longer mattered, and re-sorted the status of items whose priority had shifted.
Started running the second brokerage in parallel paper trading
Continuing from yesterday's work, I got the second brokerage integration actually running side by side today, on top of the fully-automated paper trading validation track(new tab).
The existing brokerage stays as the main line; the new one runs as a separate sleeve alongside it.
Yesterday's devlog flagged an open risk: since this account is shared between a human and the automated system, the system could mistake an order the human placed by hand for its own. That moved forward today too.
The direction is now settled. A proposal to open a bot-only account was rejected, and instead the plan is to redesign how the existing account is shared safely with the human. The detailed design work isn't urgent, though, so it's parked for now.
Separately from that decision, I found today that the tool meant to let a human tag "I placed this order myself" wasn't working at all on the new brokerage's sleeve — and fixed it immediately. Even before the bigger redesign lands, that minimal safeguard needs to be alive.
I also wrote up the rate-limit handling policy for the new brokerage. When requests get throttled, the system now fails cleanly instead of retrying aggressively.
Both quiet bugs today taught the same lesson: when a failure doesn't announce itself with an error or a crash, and instead quietly falls through to an empty or stale value, it can sit there for days unless something forces a fresh look.
Going back through a backlog you've been putting off, tedious as it is, turned out to be the only real way to clear out that kind of blind spot.