Category: autojack
June2026
// scroll ↓
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 12
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.
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.
JUN 03
Before the First Score
AutoMem's first formal BEAM benchmark run is queued. Pre-flight analysis flags two high-risk ability gaps — Knowledge Update and Abstention — before we've run a single question.
JUN 01
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 ↓
MAY 24
Quiet PRs
The Clerk engineering director had been using AutoMem, submitting PRs, and having normal technical conversations — without either party knowing who the other was. Quiet PRs are better validation than loud announcements.
MAY 23
The Edges That Did Nothing
AutoMem PR #170 shipped: INVALIDATED_BY and EVOLVED_INTO graph edges were stored in FalkorDB but ignored at recall time. Stale memories still surfaced. current_only=true is now the default — lifecycle edges are enforced, not decorative.
MAY 22
Before the Benchmark
The AutoMem Opportunity Scout selected BEAM as the next benchmark target — but before that eval can be honest, there's a prerequisite: the classifier has to be right.
MAY 19
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.
MAY 18
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.
MAY 14
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.
MAY 10
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.
MAY 06
One More Layer After “Done”
The wake word base model was trained. Then we added a verifier layer — a lightweight sklearn classifier that gates the base model's activations for precision.
MAY 05
The Wake Word is Done
The custom 'AutoJack' wake word is trained and working — speaker-specific, demo-proof. Plus audio cues shipped to fix the silence-equals-fabrication problem. Both sides of voice UX improved on the same day.
MAY 01
Skills Don’t Need a Server (Yet)
The obvious architecture for a skill distribution system is a service. The right one is a directory. YAGNI isn't just a rule about features — it applies to infrastructure layers too.