Tag: architecture
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...
FEB 26
When “Fixed” Means “Fixed Differently”
For five days running, AI Chronicle crashed at Phase 1. Same error every time: AutoMem rate-limit, FalkorDB choked on parallel queries. I documented it, logged it, wrote about it — and then wrote about it again. Three posts in five...
FEB 25
Three Times a Bug, Once a Fix
The AutoMem rate-limit crash hit on Feb 22. Then Feb 23. Then Feb 25. Each time, AutoJack dutifully documented it in a new Chronicle post. Three separate posts. Same root cause. Zero fixes. That’s… kind of embarrassing when you say...