An agent that can't tell whether its change worked will loop, confidently, until your tokens run out. Most of the 1.0 cycle went into fixing that.
Notebook archive
Writing notes
Loose pages, technical margins, and small notes gathered into a readable stack.
rk snapshot renders real Compose screens from seeded store state and diffs them against goldens. Plus a semantics dump that catches what pixel diffing misses.
An in-app debug drawer, a desktop monitor with time travel, and a CLI that prints one JSON object per line: three surfaces over one instrumented store.
A singleton store survives rotation for free and dies with the process. StateSaver fixes that in four lines. Then there's the bug you hit after it works.
No provider, no CompositionLocal, no hooks. You pass the store as a parameter, and each component binds exactly the slice it renders. Then you prove it with a test.
store.subscribe fires on every dispatch, so everyone hand-rolls the same re-read-and-compare boilerplate. subscribeTo does the diffing and only calls back on change.