Agents today are applications. This is the argument that they should be an
operating system — and that the difference is not branding, but three
abstractions nobody has built yet.
An OS earns the name when it owns how work survives interruption, how state
is addressed, and how a person perceives and steers the whole machine.
QM already solves the hard
part underneath: a real multi-tenant harness with scoped identity,
permissions, sandboxes and audit. ai-os is the layer above it.
What is this agent working on? A list of sessions. A session is a
conversation, not a unit of work — no declared goal, no success condition,
nothing that survives compaction.
What does it know, and why? A file. One flat namespace per scope,
capped, dropping the oldest fact when it overflows.
What is it looking at? A chat log — the right metaphor for a
conversation, the wrong one for work spanning weeks.
Can I branch this and rejoin it? You can fork. Nothing records
that it forked, so nothing can ever diff or merge it.
Four pillars
ai-flows
What if the unit of work outlived the conversation?
Runs. A flow is a declared, persisted, resumable
object with a goal, a shape, a state and a lineage. Agents and their
sub-agents are markdown files; a declared tree executes as real work. A
flow started by one process is finished by another, after a restart and
after context compaction.
ai-ui
What if the interface were the state, not the transcript?
Runs. A desk: flows are documents, agents are cubes
that stack on them. Drag a cube onto a document and that agent gets a
step in that flow. The system composes the arrangement from the flow's
state and never re-arranges what you moved.
ai-storage
What if memory had an address space?
Four levels — system, user, project, flow — with different
lifetimes. Flow memory is expected to die. Promotion between levels is
explicit, recorded and reversible.
ai-base
What if we did not rebuild the part that works?
QM, vendored as a subtree and pulled weekly. Identity,
scopes, sandboxes, policy, audit and six model harnesses. We did not
write it and we are not rewriting it.
Where this actually is
Three pillars run.ai-base is vendored and runs.
ai-flows runs — the flow engine, a signed HTTP API,
multi-agent composition from markdown-declared trees, and the measurement
harness below. ai-ui runs — the desk pictured here.
333 tests of our own, on top of the 3,768 ai-base carries from
upstream. ai-storage is still specified and not
implemented. Nothing on this page describes running software unless it
says so.
Open the desk and use it → — the real
interface with a fake backend behind it, so nothing is installed and nothing
is spent. Drag an agent cube onto a document and it gets a step; press
Advance and watch the step run; open the Trace face and see what each agent
actually returned. Try dropping ReviewAgent on the ledger flow:
it answers "Looks fine to me", the flow reports 3/3 done and green — and the
trace flags that the step carried nothing forward. That is the finding
the whole system exists to make visible.
A document is a flow; a cube is an agent; a cube resting on a
document means that agent has work in that flow. Dropping one there is not a
view change — it appends a real step, the same instruction composing an agent
tree would have written. Positions persist per scope, and the system never
re-arranges what you moved.
What this does not establish is whether it helps. Its own
falsification is a stopwatch — a person, a three-day-old flow they did not
run, desk against transcript — and that has not been run.Organisation, projects, groups and individuals — with each scope's
roster and its agent tree, from a live instance. The interface borrows its
vocabulary from System 7: one colour per kind of thing, so what you are
looking at is legible before you read it. AnomalyScanner is struck
through because it is declared in an agent's markdown and has no file — a
declared name is a claim, a file is a fact.
Each pillar ships with the measurement that would show it is not worth
building, written before the code. Two have now come back and neither
flattered us. A flow does survive what a plain session loses — proven
by starting one in one process and finishing it in another, on two harnesses.
And the question of whether adding a reviewer to an agent tree helps came back
unmeasurable: across four attempts the producer was already correct,
so a review stage had nothing to add.
That second result is the one worth reading. It is the shape of Google's
g-AMIE study, where physician
oversight of an agent improved 6.7% of cases and reduced quality in
21.7% — oversight adding least where the output was already strong. Our
first run appeared to reproduce it, reporting a reviewer that damaged a correct
answer. It was an artefact of a check that scored “The answer is 24.” as
wrong, and retracting it invalidated four other numbers. All of it is
written up rather than deleted, because a finding that was wrong and the reason
it looked right is the most useful record we can keep.
The predecessor of this project shipped eighteen thousand lines describing
five subsystems and three test functions — an architecture written down and
never pinned to anything that could contradict it. This is the correction.