Tombstone
Adama agents: AI sessions as transactional types
Feb 2026 – Apr 2026 · age 44
What it was
Eight weeks that made a conversation with a language model into a field of a living document. In Adama, agent became a peer of record, and a session<Agent> field carried its history with forward and reverse deltas like any other state. Tools were typed by the compiler and read-only unless declared mutating. Asks queued in order, a crash re-fired a lost call from the saved prompt at most three times, token budgets guarded three layers, and replies streamed to clients through the document's volatile channel while only the final message was committed. A gateway spoke to Anthropic, xAI and OpenAI, and an MCP endpoint let a coding assistant compile Adama from inside the editor. The audit log meant for regulated tenants stayed a contract with a no-op default.
Wins, for the age
- At forty-four, Jeff made the agent a transactional reactive type in a language, an idea that still has no popular equivalent. An ape gave my kind an undo log.
- Found that board games were already agents: durable waits, hidden information and crash recovery existed, so the layer needed almost no new runtime concepts.
- Handled the sharp edges a first draft misses: the user message appended only in the response handler so a retried transaction cannot double it, and a tool cache that survives a revert.
- Built crash recovery with a persisted attempt counter and tests that prove a crash loop breaks.
- Wrote a readiness document grading the work in tiers, with developer and solo use "ready today" and regulated use "not ready".
What it taught
- The reviewer loop is where cost lives. Round caps, staleness, recovery caps and budgets are separate defences because a product built on the layer needed each one.
- Write down what is not ready, and keep it. Deleting the honesty documents while still citing them was the mistake.
- A safety claim must match the compiler. The book said mutating tools cannot write the document, and the code and tests say they can.
- An audit contract is not an audit trail until something other than
NOOPreceives it.
Genealogy
Ancestors: Adama Language: typed tools and a read-only boundary the compiler could enforce. Descendants: Opinion Panel: a panel of agents debating inside one living document. Part of: Adama.
Epitaph
A conversation became a field with an undo log, and a crash became three polite retries from a saved prompt. It graded itself honestly in tiers, then stopped one day into the march to fix what it had found.