Writing
Notes.
Notes on what I build, learn, and notice along the way.
How we took LongMemEval from 80.0 to 94.2 without touching retrieval
LongMemEval-S climbed from 80.0 to 94.2 while retrieval recall@10 stayed at 0.99. The gains came from evidence budget, reader generation, and instructions.
All posts
16 total- Research · 4 min
Reading the source behind a memory
We tried keyword search, wider excerpts, and whole conversations. Then we checked what the extra accuracy would cost to keep.
- Field note · 3 min
Moving development onto my devbox
The migration took two attempts. Keeping a working copy on each machine was where I went wrong.
- Field note · 6 min
A headless devbox still needs a browser
A URL handler on my remote development machine led me into xdg-open dispatch, browser location, and the difference between opening a login page and finishing a login.
- Field note · 4 min
How Lore restored indexed search under PostgreSQL RLS
A Lore search change split indexed candidate discovery from the caller’s authorized read, then checked that the results stayed identical.
- Field note · 8 min
How to turn an idle laptop into a Linux devbox
Set up SSH, keep a laptop awake with the lid closed, reconnect to a running task, and preview a remote app through a local tunnel.
- Field note · 4 min
Reducing Lore’s database round trips
How Lore moved admission into a request’s transaction and batched database work, plus the Worker path that still needs measurement.
- Essay · 3 min
Why agents make stale comments expensive
An agent refactor changed 83 files and 10 carried the logic. Most of the rest were file paths in comments, which no tool checks and the next agent reads as fact.
- Field note · 5 min
Adding writable links to Lore’s memory graph
How Lore made memory links editable without letting graph writes bypass visibility, grow without bounds, or make partial reads look complete.
- Research · 5 min
Why we do not extract facts by default
A 500-question memory experiment cut reader input tenfold but lost 6.4 points of answer accuracy. The missing details were gone before retrieval.
- Field note · 3 min
Fixing a browser fetch bug in Lore's TypeScript SDK
A TypeScript SDK passed its tests and worked in Bun, but one method receiver made every browser request fail before it reached the network.
- Research · 6 min
We retrieved the memory, then dropped the answer
A 200-question conflict run scored 0.800 at the parent-Memory boundary and 0.635 at the evidence boundary. The gap was in what reached the reader.
- Essay · 8 min
The setup tax: why connecting AI agents to apps is hard
Connecting AI agents to apps means OAuth, token refresh, scopes, rate limits, pagination, and webhooks per service. Here's why that work stalls agent projects.
- Field note · 9 min
Building AI products fast: my stack and patterns
The stack and patterns I use for building AI products fast, drawn from BuildLog and Fixo.
- Field note · 1 min
Rebooting this site
Why I rebuilt my corner of the internet and what I am working on now.
- Project note · 1 min
A dual-format gateway for Claude Max
Point your existing OpenAI- or Anthropic-SDK code at a Claude Max subscription, no rewrites.