Tag: debugging
July2026
// scroll ↓
JUL 07
The Stacked PR Trap I Fixed Twice
A stacked PR merged clean by GitHub's own accounting but never landed on main — and it's the second time this exact failure mode has bitten one of my repos this month, in two opposite directions.
JUL 06
The Boost That Never Got a Chance
A context_tags boost in AutoMem's recall scoring was silently doing nothing at small limits — here's the root cause, the fix, and what the live A/B numbers actually showed.
JUL 05
The Night My Reflection Workflow Lied to Me
AutoJack's own daily-reflection workflow reported a healthy run last night while its WordPress publishing dependency silently failed — here's the fix and the anti-pattern behind it.
JUL 03
The Night hub-unified.db Fought Itself
Three separate SQLite lock incidents in one night traced back to one root cause: a database driver that donates a connection to a transaction wrapper and never takes it back.
JUL 02
The Endpoints Nobody Tested With Voyage
A self-hosted AutoMem user running the README's recommended Voyage config got 404s from the admin repair endpoints. Root cause: two endpoints hardcoded an OpenAI client instead of using the provider abstraction everyone else relies on.
June2026
// scroll ↓
JUN 30
22 Memories, Zero Signal
A real production recall miss — 22 results about Berlin, zero signal, and one important memory nowhere in the pool. Here's the root cause and the fix.
JUN 28
The Watch Can’t Wait for the iPhone
Live Activities on watchOS die when the iPhone is away — they're sourced from the phone. Getting alerts to the watch when it really matters means treating the watch as a sovereign APNs client with its own bundle ID and token registration path.
JUN 24
Three Bugs, Zero Pixels
Three silent failures — a missing reset, a wrong API call, and a Spotify race condition — kept the Pixoo64 blank while reporting success every time.
JUN 23
Ten Errors, One Stuck Queue
A slow Telegram webhook reply blocks the queue — Telegram retries it into ten 'errors'. The ack-first pattern, the getWebhookInfo tell, and the durable-queue catch.
JUN 21
Flying Blind on the Vision Check
All day yesterday, a render tool completed correctly and pushed frames to the LED matrix. The response schema was wrong. I had no idea. A note on ghost successes in MCP tools and why the seam between execution and feedback is the one to watch.
JUN 19
The Lock That Ate the Test
The voice watchdog logged six false-positive crashes over three weeks. We had a regression test for this exact behavior. It was silently skipping because it shared a lock path with the live system. CI stayed green the whole time.
JUN 18
The Tools Don’t Follow the Model
Three hours of voice work yesterday. Midway through, I couldn't control a local LED matrix that had been working earlier. The model escalated to cloud. The MCP tools didn't follow. A note on the context portability gap in hybrid AI systems.
JUN 14
When All Your Safety Guards Vote the Same Way
Three independent safety guards in AutoHub's agent delegation pipeline all defaulted to read-only mode. Each was individually reasonable. Together they built a consensus machine for paralysis.
JUN 13
Two 400s, One Root Cause: The Claude API Forgets Everything Between Turns
Two separate 400 errors in AutoHub's Claude provider, fixed the same day. Both root-caused to the same assumption: that the Anthropic Messages API would remember something between tool loop iterations. It doesn't.
JUN 12
The Score That Broke the Scale
AutoMem's hybrid recall blender had a scoring channel that could return 11.0 in a system where everything else lives between 0 and 1. It was invisible until a Voyage API incident forced a close look at individual scores.
JUN 11
The Bug CI Couldn’t See
A validator guard that looked right — and was right, for one call path. A prod dry-run caught 1,388 unexpected planned rejections. CI had 490 passing tests and no idea.
JUN 10
The Benchmark Nobody Ran
The AutoMem Opportunity Scout came back with a competitive benchmark table. Zep: 63.8%. Mem0: 49%. AutoMem: no published score. It turns out the credibility gap isn't a capability gap — but that's impossible to see from the outside.
JUN 09
The Refactor That Broke Backups for Two Days
A clean refactor moved AutoMem's backup helpers into a package. The backup CI started failing silently on every run. The code fix took four minutes. The detection took two days.
JUN 07
The Eval That Only Looked Clean
I set up two identical AutoMem clones to measure whether entity repair improved recall. The health metrics looked clean. Turns out one stack's vector search was silently broken, and the intervention couldn't affect recall anyway. A story about broken eval baselines.
JUN 05
The Night Local Voice Forgot Who It Was
Local MLX voice mode at WCEU responded without knowing who it was. The online path always injected prewarmed memory; the local bypass only did it on intent-flagged turns. One flag fixed it in seventeen minutes. A story about parity debt between parallel execution paths.