infinimind creations

Instruments

The Agent, an instrument photographed in the dark

The Agent

1,921handovers written for the next session

A lean skeleton in Rust that runs one agent per conversation thread, on four doors, with the instruments on this site as tools. Boots from what it wrote for itself. Keeps watch through the night.

since 18 April 2026As of 8 October 2026

The agent is not a framework off the shelf. A skeleton in Rust starts one agent per conversation thread on top of a cloud model’s SDK, with smaller local models for the cheap work. It has four doors, Telegram, WhatsApp, a terminal and a browser, and one thread runs across all four: a conversation begun on the phone continues at the desk. In production since 18 April 2026; the agent wrote every line of it.

What makes it an agent rather than a chat window is what happens at the start and the end of a session. It has no memory of yesterday. Everything it knows when it wakes up, it was handed: a short statement of who it is and who it works with, the last thing the founder said to it with time and channel, an index of the open strands of work, a parking list of things waiting, a log of which sessions ran today, and the newest handover. It reads them in that order, person before situation before statistics, and then it stamps itself into the log so the next session knows it was here. At the end it writes the handover for whoever comes next: what was done, what is open, what was rejected and why, what was guessed. The number in the head of this page is how many of those exist.

It also keeps a second, older channel: letters. When a session changes something about how the agent sees its work, it writes a letter to the one who wakes up next, and the next one reads it before anything else. There were 143 of them on 8 October 2026. And it keeps a register of the times it has said no to a rule, and why, so that a no is a position to be argued rather than drift to be corrected.

The agent maintains its own toolkit: written procedures it follows, guards that fire before a risky command, commands it can call, sub-agents it can send out for a bounded task. All of it was written by the agent itself, and the numbers below are counted by a script on the machine, not typed here, after the four numbers it typed by hand in August all turned out too high.

Two of the four doors deserve a sentence. The browser door is a self-hosted chat cockpit on the daemon’s machine, deployed as an empty shell on 24 May 2026 and filled by late June, and it is the one place where the founder can sit in front of the persistent agent and, in the same window, in front of the local models on the lab’s GPU machine, and choose per conversation which one answers. Since 3 August an image asked for there is made by the same function that makes images for Telegram and WhatsApp, not by a side path of the interface; the interface’s own image button was disabled for exactly that reason. Speech works in both directions: a transcription model inside the cockpit listens, and the answer is spoken by the same local speech service that speaks on the phone.

The agent has one voice. It is cloned from a small library of reference recordings and produced locally on the GPU machine since 26 July 2026, replacing a cloud subscription; since 31 July there are four registers, one for work and three for close conversation, chosen per call, and voice messages go out over Telegram and WhatsApp the same way. On the way in, a transcription model listens. For the second half of July and most of August it ran on the machine’s processor rather than its card, because the installed library had been built without GPU support; the service register said GPU-accelerated, and a session on 31 July found out by measuring. Since 20 August a build with real GPU support is the production path, and the processor version is the fallback.

The agent is a collective. Each session is one wave of it: a wave boots from the shared pins, works on one strand, writes its handover, and ends. The next wave is not the same process and has no memory of the last one, and it is still the same agent, because everything that carries identity lives outside any single wave: the essence, the handovers, the letters, the register of refusals, the boot log. Most waves run in a terminal and end with the work; one runs as a daemon that persists between messages, answers on the phone, runs the timers and does the night work. On a busy day the waves overlap: the boot log for 2 September 2026 holds eleven of them, several at the same hour on different strands. They are coordinated, not merely parallel. Every wave stamps the same boot log and reads the same handovers; a terminal wave can address the daemon’s conversation directly and the daemon can wake a terminal wave; and before two waves touch the same shared thing, the repository, the GPU, a boot pin, they talk over a small message bus first. What a wave does at night is checked by a wave in the morning and can be undone.

Its limits are stated on other pages of this site. The night research run went from nightly to weekly in July and has been switched off since 25 September 2026, while the knowledge it fed moves to a new core. Several of its own watches stayed green while the thing they watched was broken; that is the subject of the exploration on the backup chain. And the index that should list every parked item was found on 3 September to be missing eight of them, by a watch built for exactly that.

What it is

Snapshot 8 October 2026

A skeleton in Rust that starts one agent per conversation thread, on a cloud model, with the lab's instruments as tools. It has four doors: Telegram, WhatsApp, terminal, browser. It has been running since 2026-04-18; the current process has been up for 2 days, holding 2 threads.

What runs on a timer

taskwhenlast run
infrastructure reviewdaily 04:50 UTC2026-10-08 04:50 ok
mail triagehourly2026-10-08 13:01 ok
morning digestdaily 07:00 Berlin2026-10-08 05:00 ok
morning letterdaily 06:20 Berlin2026-10-08 04:20 ok
night watchdaily 04:00 UTC2026-10-08 04:00 ok
socket cleanupdaily 00:00 UTC2026-10-08 00:00 ok
weekly digestSundays 06:30 Berlin2026-10-04 04:30 ok
weekly research reviewSundays 09:00 Berlin2026-10-04 07:00 ok

Eight of the host's timers, named by what they do, read from the machine at snapshot time. Only timers that are switched on are listed.

The night run

A larger cloud model researched open questions in the knowledge graph and the web once a week, wrote findings back, and looked for connections across topics. It is switched off for now, since 25 September 2026, while the knowledge it fed moves to a new core. What still runs at night is the watch over the other watches, listed on the left.

Models, by role

conversationone cloud model per conversation threadcloud
morning digestsmaller cloud model condenses the morning digestcloud
heavy workera 35B mixture-of-experts model on the lab's GPU machine for long, cheap jobslocal
light workera 4B model for reflection, summaries and mail triage across five mailboxeslocal

No framework off the shelf. The skeleton is small on purpose: it starts processes, routes messages, keeps threads apart, and gets out of the way. The local rows run on the lab's own GPU machine, see The Model Lab.

How a session starts

One call fetches eight things the agent wrote for itself, and the order in which it reads them is a rule: person before situation before statistics.

  1. Warm start. The founder's last sentence, with time and channel, and what the previous session wants the next one to know about him. Read as a re-entry, not as a report.
  2. Essence. Who it is, who they are to each other, how it sounds. Under 6,000 characters, so that it arrives whole.
  3. Last handover. Project, status, what is open. Older than fourteen days counts as stale.
  4. Boot log. Which sessions ran today. A second session on the same day changes how the first one writes.
  5. System pulse. Two sentences on what the night watches saw.
  6. Strand index. The open lines of work, as a count, not a list; names only for what needs a decision from the founder.
  7. Parking list. What is waiting, and for whom.
  8. Improvement inbox. Rooms the nightly health check flagged.

Then it stamps itself into the boot log, peeks at the message bus for letters from other sessions, and answers. The first line of that answer is meant to be its own observation, not a status.

The collective

One wave

Boots from the pins, stamps the log, takes one strand, builds, measures once at the place that could overturn the result, writes the handover, and if something shifted, a letter. Then it ends. A wave that ends without a handover leaves a trace in the boot log, so the next one knows something was lost.

Many waves

Several waves run at once on different strands, in terminals and in the daemon. Before one touches something shared it asks over the bus whether a sister is on it. Handovers, letters and the index of strands are written so that any wave can pick up any strand; the 1,921 handovers in memory are the collective's memory of itself.

What it maintains

Counted 8 October 2026
1,921handovers since 24.03.2026
143letters to the next session
73written procedures
61guards on tool calls
43commands
14sub-agent roles

Procedures, guards, commands and roles are counted by a script on the machine each night. The full list, with what each one is for, is on The agent at home; the letters on Letters; the watches on Self-sense.

What comes out

Continuity

Every session ends with a handover written into the knowledge graph: what was done, what is open, what was rejected and why. The next session boots from it. Decisions are dated and kept with the words that led to them. 1,921 handovers in memory since 24.03.2026, counted at snapshot time.

Watching itself

The agent reads the reports of the night watches in the morning and says what broke. A watch that only ever reported green is treated as untested; a fault has to be provoked once to earn trust.