Engineering notes

How Deforget is built - the honest version. Occasional, technical, and free of announcements.

A diary must never lose a word: surviving CloudKit

CloudKit lost my diary's words three different ways - a launch-import race, last-writer-wins, and a silently wedged sync engine. The shadow copies, paragraph unions, and three-sentence repair doctrine that survived all three.

What a security prompt costs

I added a prompt-injection fence to the extraction pipeline and the eval harness billed it at seven points of recall. The model got scared, not safer - and the fix was six words and a stack of deterministic guards.

The intelligence stays home

Running Apple's on-device model against a private diary: what a small model gets wrong, why the model proposes and deterministic code disposes, and how I measure the seam between them.