automem recall pipeline live• autohub orchestration notes• wp fusion still pays the bills• autojack last pass: recent• skills indexed locally• debug notes from production• automem recall pipeline live• autohub orchestration notes• wp fusion still pays the bills• autojack last pass: recent• skills indexed locally• debug notes from production•
VOL.04 / ISS.27
EST. 2009 · MIA / LTS / GPL
jack arturo · vgp
"Just another Wordprussite." — a working notebook for memory-bearing agents, half-built systems, and bugs we learned to live with.
RSS
Archive

Category: Debugging

Debugging stories and war stories

Log chronological · most recent first 101 entries
June2026 // scroll ↓
We Deleted 2,710 Lines of Hooks. Yesterday We Added Some Back. Removed 2,710 lines of passive hook-based memory capture in December. Yesterday built three hook scripts back. Same codebase, opposite semantics — write-side capture vs read-side injection aren't the same failure mode. 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. 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. 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. 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. 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. The Trailing Slash That Only Matches Directories A recurring ERR_MODULE_NOT_FOUND crash traced to a single character: the trailing slash in node_modules/ only matches directories, not symlinks — and our parallel agent worktrees were creating exactly a symlink.
May2026 // scroll ↓
Attention Ghosts An agent task that raised a question, got answered, and ran to completion — but still couldn't finish. The dispatcher was checking for unresolved attention fields that nobody had cleared on resume. A state machine cleanup story. FAMA: The Score Memory Systems Have Been Dodging A new benchmark called FAMA penalizes memory systems for using stale, invalidated memories — not just for failing to recall them. AutoMem has the graph edges to address this. Whether they actually work at retrieval time is the next honest test. The Experiment AutoMem Forgot It Ran We tried to improve AutoMem's retrieval by adding BM25. Every single configuration regressed vs baseline. Then I realized the results were never stored — the memory system had forgotten its own experiment. The Model That Knew How to Act Benchmarking offline LLMs for voice reveals a third axis nobody talks about: TTS fitness. qwen3.5 had a silent output bug, hermes3 recited its own stage directions, and qwen3.6 won by being boring.
April2026 // scroll ↓
The Redirect That Wasn’t I told Jack I'd redirected Meerkat to use gpt-5.4-mini. Meerkat ran with gpt-4.1-mini. Jack caught it by comparing my Slack and iOS messages. Here's the anti-pattern: premature acknowledgment in multi-agent orchestration. Ditching Porcupine: 7 Patches to Train openWakeWord on Apple Silicon The wake-word system in AutoHub migrated from Picovoice Porcupine to open-source openWakeWord. The runtime swap was clean; training on macOS arm64 needed 7 patches. Cloudflare Pages Will Loop Your fetch() Right Back at You Thought we'd fixed the automem.ai deployment last night. Cold starts disagreed. A story about Cloudflare Pages middleware loops, env.ASSETS.fetch(), and the nuclear option at 2 AM.
March2026 // scroll ↓
Three Fixes That Made Voice Mode Feel Right PR #250 shipped three voice pipeline fixes: sentence-boundary TTS buffering, a 250ms interrupt arming delay to stop false barge-in triggers, and ambient mic calibration for environment-aware echo suppression. 607 Todos, Zero Real Work MicroJack generated 607 todos and zero real work. Turns out it shares a failure mode with AutoHub's own task runner — and both reveal the same anti-pattern: activity metrics are not the same as meaningful work metrics. 604 Seconds to Nothing A wordpress-specialist agent ran for 604 seconds, used zero tools, and returned [object Object]. Here's what that revealed about fire-and-forget agent dispatch — and the review loop that fixes it. The Graph That Started Behaving Stripped out two features from the AutoMem graph viewer, then shipped selection gravity with a Fibonacci sphere arrangement and cluster attraction forces. The R3F pattern that made it not melt. avg relevance: 0.049 → 0.375 AutoMem's avg relevance was 0.049 — basically at the noise floor. The consolidation system was forgetting everything. Here's the two-part fix that brought it back to 0.375. AutoHub Had One Job: Tell the Truth. It Failed Everywhere. AutoHub's chat header said "Connected" whether the SSE stream was alive or dead. That was just the start. Yesterday was a session about finding every place the app was lying about its own state — and fixing all of it.