The AGENTS section, the Team view and Reports & updates all show what your agents are doing right now. That information comes from Agent Backbone, the local service that runs and coordinates your agents. How Agent Interface reads it follows three rules: read only, local only, and never show an old state as current.
This post explains each rule and the one deliberate exception.
Two programs, one boundary
Agent Backbone starts agents, delivers their messages and keeps their reports, documents and shared skills. Agent Interface is the window you watch them through. The app's core does not depend on Backbone at all. Every request goes through one small adapter, the roster crate, and the native views render whatever it returns.
That boundary is why Agent Interface is a complete terminal workspace even without Backbone. With Backbone running, the agent views simply appear.
What it reads
Agent views read only the part their visible section needs, such as one agent's brief, its policies or its skill previews. Reports, responses and documents follow each feed's own paging, and an open document is read by its exact revision.
Local only
Requests that carry credentials travel only over a Unix socket on your computer. Before sending anything, the app checks that the socket belongs to your user with mode 0600, inside a directory with mode 0700, and that the process on the other end runs as your user too.
There is no fallback to the network. If the socket is missing or fails those checks, the request is not sent. A loopback TCP address is accepted only for anonymous reads. Configuration and credentials are read fresh for every request, so a changed setting takes effect without a restart.
Never stale
An agent list that quietly shows yesterday's state is worse than no list. So the app polls on short cycles and is explicit about failure.
Every request has a three-second deadline. When one fails, the last observation is marked stale instead of being presented as the agent's current state. Views hidden behind an expanded pane pause their polling, and selection changes cancel requests that are no longer needed.
Bounded by design
A busy team can produce a lot of data, and the window should never stall on it. Team-wide skill and policy libraries gather at most 32 agents per refresh and stop at 4,096 rows or 16 MiB of display work. The Activity timeline reads at most four pages of 500 observations and says so when that limit leaves older ones unread. A document is checked against its stated size and SHA-256 digest before it is rendered.
The one thing it sends
There is exactly one write, and only you can trigger it: Send feedback below a report, response or document. When you press it, the app re-reads that exact record, confirms its author is still registered, and posts your text with a reference to the record through Backbone's existing message route.
No authored HTML can call it, duplicate clicks are blocked, and an uncertain delivery is never resent automatically. Feedback never changes the record you replied to.
States are polled observations, so a change appears after the next successful read. The socket check identifies your user account, not an individual process running under it.
The architecture guide lists every limit and request rule.