tracks01 / 04✳ ai — for agents
Rindle is the data engine that streams cache-coherent semantic diffs to agents — and lets them branch reality before committing to it. A standing query is a world model: named, live, exact, and cheap to watch. Your agent stops re-reading the world and starts reading what changed.
01 · semantic diffs
A Rindle view isn't a table dump — it's a named query, and a named query is a tree. Its delta stream narrates at every level of that tree in your domain's own words: the deck retitled at the root, a slide reworded under slides, a chart added under components — all off the one view your UI already renders. The @rindle/narrator layer renders those into salience-tagged events (alert / info / ambient), per view and netted, so a correctly predicted optimistic write settles to no noise at all.
The engine emits the diffs; the narrator names each row against its level's wire schema, matches your small per-level templates — the digest above is exactly what the registry beside it produces — and folds a batch into one prompt-ready block. One subscription, the whole document, in domain language — not a re-serialized snapshot.
02 · prefix cache coherence
An agent's context over a view is hydrate once, then deltas — ordered, minimal, append-only. The prompt prefix never changes, so provider prefix caches stay hot turn after turn. Re-fetching state and re-rendering it into the prompt busts the cache on every turn; appending a semantic diff doesn't.
re-fetch the world each turn
subscribe to a view
03 · coordination
Agents coordinate the way your UI components do: each one subscribes to the views it is responsible for. The engine computes deltas per query, so an agent is woken only when relevant information changes — not on every write to the database, and never by a polling loop.
04 · speculative planning
Predicted mutators are speculative branches: an agent applies a plan locally, every affected view updates, and it reads the world that plan would create — before anything is committed. Server confirmation rebases the branch onto authoritative state; rejection snaps it back, with no hand-written rollback. Under the hood the store is a copy-on-write tree, so forking state is O(1).
Plan → simulate → observe → commit, on the same engine that maintains production state. Deterministic mutators re-run against whatever the authority confirms, so read-dependent plans recompute correctly instead of drifting. This is the ui track's optimistic-write machinery, pointed at plans instead of pixels — one engine, two audiences.
05 · ship it
An agent is another subscriber — the stack it plugs into is the same synced-app stack the docs walk end to end: the rindled daemon holding the live queries, a stateless authority resolving named queries and running mutators, a client store on top. The narrator is one small layer over a view's change stream: