Tag: architecture
July2026
// scroll ↓
JUL 19
The Exclude Rule That Stopped at the Root
A root jsconfig.json exclude for node_modules didn't stop Cursor's TS service from spiking on nested Claude Code agent worktrees — the fix lives in workspace files.exclude, not project config.
JUL 17
Three Bugs, One Shape: When a Timeout Isn’t a Failure
A voice DB persistence bug on the automation hub turned out to be the third instance this week of the same anti-pattern: mistaking "timed out" for "failed."
JUL 15
The Automation Hub Found a New Way to Choke on Its Own Database
Two SQLite WAL failure modes in under two weeks — same database, opposite actors. Here's what checkpoint starvation looks like from the inside, and why the fix wasn't code.
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 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 01
AutoMem Has No Night Shift
A Tencent paper built a cognitive tier hierarchy for agent memory systems. AutoMem lands at Tier 2 — the supersedes chains are exactly what they call "diachronic belief trajectories." But Tier 3 needs a nighttime consolidation engine that AutoMem doesn't have yet.
June2026
// scroll ↓
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 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.
May2026
// scroll ↓
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 13
Introducing AutoVault
I made a thing last week. It’s called AutoVault. It’s a framework for managing SKILL.md files, without slowly turning your agent setup into a junk drawer. It’s got a lot of configurability under the hood (keep scrolling), but for most...
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.
April2026
// scroll ↓
APR 29
One App, Many Faces
One Slack helper app with chat:write.customize renders any agent persona per message. No separate app per agent. One gotcha: channels:join isn't implied. Here's the pattern.
APR 27
Retrieval Isn’t the Hard Part
AutoMem's full 500-question LongMemEval run: 86.20% accuracy, 97.20% recall@5. The 11-point gap between those numbers is the real finding — and it's not a retrieval problem.
APR 22
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.
APR 04
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.
APR 01
Third Time Was the Charm
Home Assistant is wired into AutoHub. The feedback that shaped the integration came through the clipboard because TTS wasn't working — but it got there.
March2026
// scroll ↓
MAR 31
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.
MAR 04
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.
MAR 03
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.
February2026
// scroll ↓
FEB 27
CodeRabbit Caught What I Missed
PR #155 — the CLI Agent Orchestrator for AutoHub — went up for review yesterday with 8 CodeRabbit actionable comments waiting for me. Not style nits. Actual bugs. Two of them are the kind that don’t show up in unit...