What already runs in the private deployment.
The system this site describes was running for one person before the site existed. This entry is the inventory: what it listens to, what it notices, what it does inside the authority you set, and where you can reach it. One person, one instance. Every line below is drawn from the overview and verified against the code.
It listens, into one memory. Voice recordings from wearables, meeting recordings, mail threads, calendar entries, files, uploads, text messages, phone calls and the day's own conversation all pass through a single ingestion function. The original of each is kept whole in object storage; chunks, embeddings, entities and edges are derived from it and can be rebuilt at any time. One retrieval function serves every surface, so whoever asks and by whatever channel, they read the same memory.
How one question reads the whole memory
Every query fires four legs in parallel: a title match, a vector search, a BM25 full-text match, and an entity-anchor pass that reads the chunks literally containing a named person, company or project. Each list is filtered by the caller's room access, then fused with reciprocal rank fusion at constant 60, weighted 1.0 for vector, 0.9 for full text, 0.85 for title and 0.8 for anchor, with a small boost for items under 7, 30 and 120 days old. Search returns short snippets for ranking; once the agent knows what it wants, it reads the whole original in 14,000-character pages.
It notices, and keeps the relationships. A language pass at ingest extracts people, companies, projects and topics, writes co-mention edges with the source item as evidence, and marks what changed. Dossiers, dated events and community briefs are rebuilt from that graph on a five-minute cron, so the picture of who and what you are dealing with stays current without anyone maintaining it.
It reacts, through a resident agent with a tool belt. A tool loop of up to eight rounds carries about eighty tools: read the memory, steer the graph, read a repository, draft, file, propose. Calls inside a round run in parallel, the tool block is frozen and cached, and a fast acknowledgment lands before the real loop starts. The agent reads and proposes; it does not fire real-world actions on its own.
It acts in the background, on a budget. The fleet is a set of workers, each its own deployment with its own schedule, a directive it re-reads on every wake, working memory, and a daily budget of fifty cents by default. The budget is enforced by a gateway that holds the key and refuses the call when the day is spent. Every run writes a flight-recorder row with its trigger, what it read, what it filed, its error if any, and its cost.
It builds new software on request. The Shipwright plans a change, picks the files to study, writes them whole, checkpoints each one so a retry resumes where it stopped, verifies the result on a machine in a sandbox, opens a pull request to staging, waits for CI, drives a headless browser test against staging, and has a different model lineage judge the evidence. Then it files a merge request and stops. Production merges always wait for a person.
You set the authority boundary. Anything with a real-world effect, an email, a calendar move, a build, a new worker, a production merge, lands in the approval area as a card holding the exact payload that will fire. You can edit the fields, and what is in the fields at approval is what runs. Spend above a set money line asks for a PIN. Nothing executes on a promise; it executes on the payload you can read.
It is reachable where you already are. The visual interface with its chat and voice windows, a messaging bot that carries the approval cards with their buttons, two phone lines, SMS threads any worker can hold under its own name, an iMessage bridge running on your own machine, and an iOS companion that records audio and posts health samples. Same memory behind every one of them.
Every call is metered. One ledger row per model call with its surface, provider, model, cache reads and writes, and cost, alongside per-worker, per-build and per-brief spend. That is why this log can say what a thing cost instead of estimating it.
running in the private deployment · documented here next