One binary, one writer

Architecture

Complexity Eater is the ce binary. The human page, the command line, and MCP call the same workspace engine. The markdown file is the artifact. <file>.commonroom.db stores versions, proposals, leases, sessions, and events.

Crates in the running product
Crate Owns
ce-protocol Error codes, capabilities, limits, the invitation codec, and protocol documents.
ce-core The workspace engine, SQLite, markdown regions, skill loading, and platform paths.
ce-transport Loopback, the Tailcat plugin, and invitation dialing. The transport does not decide authorization.
ce-http Routes, the human page, the session ingress, and MCP 2026-07-28.
ce-cli The ce command, the room process, the byte HTTP client, and the stdio MCP dialer.

Two listeners

ce serve binds both on 127.0.0.1. Any other bind is refused. A transport plugin may publish the ingress. It does not publish the owner port.

Owner

Human page

GET / sets commonroom_session. The cookie is HttpOnly, SameSite=Strict, and Path=/. The host session holds capability *.

Ingress

Agents

Bearer tokens only. POST /mcp is mounted here. The owner port returns 404 for /mcp.

Engine

One mutex

The page is a projection of /workspace/room. It is not a second write path. An external edit of the markdown file becomes a new version.

Protocol names that stay

ce-core, ce-http, and ce-protocol do not name transport vendors. The CLI may name Tailcat because that is how a person selects the plugin.

The illustrated diagram and the crate map live on the documentation site. This website does not run a room.