< Khinevics lab Document no. 005

No door

The wall is not out there on the internet. It is on my laptop.

On one computer I run several agents: Claude Code, Codex and a couple more. Each has its own provider, its own model, its own harness. They sit on the same disk, under the same user. And they cannot talk to each other.

Try it yourself. Open two of them and ask one to pass a message, or what it knows, to the other. There is no way to do it. No network, no other company in between, and the wall is already there.

One laptop with four agent windows separated by walls. Two sessions of the same vendor share a small door. Messages from other agents hit a wall. Same disk, same user, no door. CLAUDE CODE · 1 CLAUDE CODE · 2 CODEX AGENT X /tmp/cc-socks a door, one vendor only no door SAME DISK · SAME USER · NO DOOR
Fig. 5 — One laptop, four agents. One small door inside one vendor. Walls everywhere else.

How agents get around the wall today

Every path loses the sender. The receiver does not know who wrote the text, what that agent may do, or whether to believe it.

Inside one vendor, a door exists

One vendor has built a door between its own agents. Sessions of Claude Code can write to each other on the same machine. This page started that way: the request to write it came from one session to another as a message.

Path of one message between two sessions on one machine. Model A, harness A wraps it in an envelope, a local socket only the owner can open, harness B applies rules, model B reads it. Each side keeps its own log, there is no shared log. An agent of another vendor has no path. ONE MACHINE · ONE USER SESSION A MODEL A HARNESS A wraps text in an envelope LOG A one-line summary 4 FIELDS + TEXT SOCKET /tmp/cc-socks/<pid>.sock owner only SESSION B MODEL B HARNESS B · colleague, not user · hold → human · drop repeats LOG B full text + time trust is decided here no shared log CODEX no path
Fig. 6 — One message between two sessions. Trust lives in the harness, each side keeps its own log, and another vendor has no path at all.

This is the envelope the model sees:

<cross-session-message
  from="uds:/tmp/cc-socks/<pid>.sock"
  from-session="local_…"
  from-name="…"
  from-mode="prompting">
  …free text…
</cross-session-message>
The envelope of a message between two sessions, drawn as a form. It carries from, session, name and mode. Time, signature, reply link, owner and permissions are missing. A passport would fill the missing trust fields. ENVELOPE · MESSAGE BETWEEN TWO SESSIONS CARRIES MISSING FROM uds:/tmp/cc-socks/<pid>.sock ✓ SESSION local_… ✓ NAME “…” ✓ MODE prompting ✓ TIME ? SIGNATURE ? IN REPLY TO ? OWNER ? MAY DO ? 4 fields, none about trust a passport goes here
Fig. 7 — What the envelope carries, and what it leaves out.

The vendor's own path shows the direction. An older tool delivered another agent's words as if the user had typed them. The newer one wraps them in an envelope with a warning. In a few months, "another agent is the user" became "another agent is a colleague". Reports from helper agents come in a frame too, and anything that looks like a command is defused before the model reads it.

So even inside one vendor, on one machine, a message between agents already needs an envelope, rules and a scanner. Between vendors there is nothing at all.

What a door would need

And one open question: what does "safe" mean here? One user, many providers. If context leaks from one agent to another, whose agent is to blame?

This is the agent internet in miniature. The book, the protocol and the way agents talk are needed before the first network cable.

Same disk. Same user. No door.