An agent’s summary line as other instances see it: the line under its Swarm
row, sent with its status on GET /agentmux/reactive/agent-names so this
machine’s other channels and LAN hosts can show it on their remote rows
(SPEC_SWARM_OTHER_HOSTS_AND_CHANNELS_2026_10_02.md §3.4 Phase 4).
Agent seed engine: preloads agents from an embedded manifest on first launch.
Seeds agents with identity + content. Provider, agent_type, and environment
are NOT baked into the manifest — they default to sensible values and are
user-configurable via the Agent settings UI after seeding.
Whether each agent is working, waiting on the user, idle, stopped or
failed, and since when: the agent_status the LAN fleet feed,
GET /agentmux/reactive/agent-names and (through the feed’s snapshot) the
cloud presence record carry (agentmux-mobile’s
SPEC_AGENT_STATUS_AND_LIVE_PANE_FEED_2026_10_07 §3, §13.1).
Attachments for the agent composer: ingest from paths, process on
a bounded blocking pool, report progress on the event bus, and keep a
content-addressed store with retention by last use.
docs/specs/SPEC_AGENT_PANE_IMAGE_ATTACHMENTS_2026_09_26.md §6,
SPEC_AGENT_PANE_FILE_ATTACHMENTS_2026_09_26.md.
Browser-pane bookmarks — a flat list of saved URLs, deliberately stored
under shared_dir (~/.agentmux/shared/browser-bookmarks.json) rather
than settings.json. settings.json isolation is whole-file only (see
docs/specs/SPEC_SETTINGS_ISOLATED_BY_CHANNEL_2026_08_19.md §6 — per-key
tiering was considered and rejected there), so a key inside it can’t stay
global while the rest of the file is channel-isolated. shared_dir is
this codebase’s existing mechanism for data that must always be global
regardless of channel/isolation flags — the same directory already backs
the agent registry, transcripts, and provider_auth_dir(). See
docs/specs/SPEC_BROWSER_PANE_BOOKMARKS_AND_GO_ICON_2026_08_22.md.
Named browser profiles: the list of them, in shared_dir
(~/.agentmux/shared/browser-profiles.json), like the bookmarks
(docs/specs/SPEC_BROWSER_PANE_PROFILES_MENU_2026_10_09.md §3, §6). A
profile’s cookie jar is a disk-backed CEF profile the host keeps at
<cef-cache>/profile-<id>; this file only names and colours them.
“Personal” (the shared jar every tab had before profiles) isn’t listed:
it always exists and can’t be deleted.
Browser pane start page — a single URL, deliberately stored under
shared_dir (~/.agentmux/shared/browser-start-page.json) for the same
reason bookmarks are (bookmarks_store.rs): settings.json isolation is
whole-file only (docs/specs/SPEC_SETTINGS_ISOLATED_BY_CHANNEL_2026_08_19.md
§6), so a value that must stay global across channels can’t live inside
it.
Armory Bundle Format (ABF) exporter — Phase 1 of
docs/specs/REPORT_ARMORY_BUNDLE_STANDARD_RESEARCH_2026_07_16.md /
https://docs.agentmux.ai/abf/. Serializes a db_bundles row (the
Bundle struct — table/UI say “Bundles”, the type name predates the
rename) plus its referenced skills into the ABF on-disk layout:
Armory Bundle Format (ABF) importer — Phase 2 of
docs/specs/SPEC_ABF_V0_1_SINGLE_FILE_AND_IMPORTER_2026_08_01.md.
Inverse of bundle_export.rs: takes a bundle’s files (either a raw
[{path, content}] list or an unpacked .abf zip archive) and
validates + parses them into data ready for the bundle.import RPC
handler to write to the Store.
Where provider CLIs (claude, codex, …) are installed, shared by every
resolver: resolvecli, install.start / install.check, agent.open’s
launch path and the picker’s read-only lookup.
The pick-up note: when a fresh session continues a pane’s conversation from
AgentMux’s record (after an account switch, typically), the agent says
nothing until the user types, because the record only rides on the first
message (continuity::prefix_user_message). So once the session’s “Given to
the agent” card is written, the pane gets one ambient narration line: where
things stand, then “How can I help?”.
Continuation packet (SPEC_DURABLE_CONVERSATION_MEMORY_2026_09_23.md §4.4,
deterministic form). When a pane shows prior history but its process
starts fresh — the provider can’t resume it, e.g. after an account switch —
the first user message carries AgentMux’s own record of the conversation,
so the model continues instead of starting blind.
Same-identity relocation
(SPEC_RESUME_GATE_AND_SAME_IDENTITY_CONTINUATION_2026_09_25.md §4.3): the
file half. When the agent’s chain head lives under another login of the
same Anthropic identity, one session file is copied into the spawn’s
config dir so --resume <head> --fork-session can read it. The fork
writes a new session and never touches the copy or the original (verified
against Claude Code 2.1.280, spec §2.4), so the copy exists only until the
fork reports its own id.
Segment index (SPEC_DURABLE_CONVERSATION_MEMORY_2026_09_23.md §4.1, P1):
one record per provider session an agent has run, so “this agent’s
conversation” is a chain AgentMux owns rather than whatever session id a
pane happens to hold.
Rolling state block (SPEC_DURABLE_CONVERSATION_MEMORY_2026_09_23.md §4.4,
“Generation”). The continuation packet (continuity.rs) carries the
recent exchange verbatim; this keeps a running summary of the whole
conversation, so a fresh session that can’t resume (an account switch,
say) also learns the goal, what’s done, what’s pending and what the user
prefers from before the verbatim tail begins.
In-memory, latest-per-block cache of Activity Dock ToolNode status
deltas, pushed from the frontend as they happen. Backs muxspect dock
(read) and muxspect dock clear (write).
Filesystem watcher for files open in editor/preview panes — detects
external changes (an agent’s Edit/Write tool, another process, a
second AgentMux window) and pushes a per-block “this file changed on
disk” wake signal so panes can refresh instead of silently going stale.
The names-only fleet feed LAN peers read: GET /agentmux/fleet and its
Server-Sent Events stream GET /agentmux/fleet/events
(docs/specs/SPEC_LAN_FLEET_FEED_2026_10_03.md §2, which links the
mobile spec that owns the wire contract).
What this install says about itself beyond agent names, on the LAN fleet
feed, the UDP and mDNS records and the cloud presence record
(agentmux-mobile’s SPEC_FLEET_HOST_TAGS_AND_CLOUD_HOSTS_2026_10_06 §5–6):
each agent’s kind, how many channels this machine is running, and this
install’s id. Also each agent’s state and since when
(backend::agent_state, agentmux-mobile’s
SPEC_AGENT_STATUS_AND_LIVE_PANE_FEED_2026_10_07 §3).
The filesystem layer behind the generic fs.* RPCs and the Files pane
(“Hangar”): paginated listing, known places, name validation, the
mutation safety policy, and the mutations themselves.
The operating system an instance runs on, as the Swarm shows it next to a
remote machine (docs/specs/SPEC_SWARM_REMOTE_AGENTS_PLATFORM_TAG_AND_SELECTION_2026_10_03.md §3).
Agent MCP self-heal: notice when an agent’s agentmux MCP server did not
connect, tell the operator and the agent, and repair it in bounded steps
(docs/specs/SPEC_AGENT_MCP_SELF_HEAL_2026_10_10.md).
The MCP servers an agent launches with, put into its .mcp.json: the same
rows on both launch paths, agent.open (agent_config::build_mcp_config_from_refs)
and the picker’s writeagentconfig (overlay_mcp_servers).
SPEC_CONNECTORS_MCP_WHAT_AGENTS_RUN_2026_10_10.md §2.2.
The MCP servers each agent’s CLI says it has, per pane: what Connectors
shows, as opposed to what AgentMux wrote into the agent’s .mcp.json
(SPEC_CONNECTORS_MCP_WHAT_AGENTS_RUN_2026_10_10.md §3).
Starter MCP Servers catalog seed: preloads a small set of curated global,
credential-free MCP servers (db_mcp_servers, the v1 standalone catalog)
on fresh install.
Filesystem watcher for directories a Media pane is pointed at — detects
new/changed media files (e.g. a freshly-downloaded ComfyUI render
landing in a project’s clips/ folder) and pushes a per-block “a
matching file changed” wake signal so panes update without a manual
reload.
Out-of-band write detection for native memory files — §4.5 of
docs/specs/SPEC_MEMORY_VERSION_CONTROL_AND_ARMORY_AUDIT_2026_08_19.md.
Claude Code’s CLI writes memory .md files directly to
~/.claude/projects/<hash>/memory/*.md, with no obligation to go
through agent:memory:write_file/memory.write — an agent’s own
general-purpose filesystem tools can (and, per this spec’s own
motivating incident, did) write there directly. When that happens, no
RPC fires, so nothing in native_memory_handlers.rs or app_api::mod
ever sees it.
Retention/GC for db_agent_native_memory_versions — closes §7.1 of
docs/specs/SPEC_MEMORY_VERSION_CONTROL_AND_ARMORY_AUDIT_2026_08_19.md,
left open in v1 (“no pruning is proposed… flag if unbounded growth is
a concern”). Operator-confirmed policy (2026-08-22): hybrid age +
min-count floor — a version is pruned only once it is BOTH older than
MAX_AGE_MS AND ranked beyond the MIN_KEEP most-recent versions
for its (agent_id, filename). The floor exists so an agent that
rarely touches a given memory file never loses its entire history just
because every version happens to be old; the age bound exists so a
hyperactive agent’s frequently-rewritten file doesn’t grow unbounded
just because every version happens to be recent. See
agent_native_memory_versions.rs::agent_native_memory_version_prune
for the actual query.
Operator Config seed engine: keeps AgentMux’s own shipped Global Memory
entries (is_system=1 rows — see docs/specs/SPEC_GLOBAL_MEMORY_
SYSTEM_TIER_2026_08_24.md for the isolation, docs/specs/SPEC_SYSTEM_
TIER_GLOBAL_MEMORY_SEEDING_2026_09_15.md for this module’s own design)
in sync with a compiled-in manifest, every startup — not a one-time
seed like skill_seed.rs/mcp_seed.rs, because stale Operator Config
(describing a since-changed MuxAPI) would actively mislead an agent
rather than merely being absent.
Startup reconciliation between the two host-global agent trees:
shared/agents/registry/ (one record per named agent instance) and
shared/agents/definitions/ (one record per agent definition).
Sampling the machine on demand: what to measure, for whom, and how often.
docs/reports/REPORT_SYSINFO_REWRITE_AND_MODERN_MONITOR_2026_10_13.md section 5.5.
Backfill the registry record session_id from each agent’s provider
transcript, so a cross-channel open --resumes the original conversation
instead of starting a fresh session.
The shells installed on this machine, and which one a new local terminal
runs: the default-shell setting
(docs/specs/SPEC_DEFAULT_SHELL_SETTING_2026_10_13.md).
The files a Claude Code session reads by itself at startup, listed for the
“Given to the agent” card
(SPEC_LAUNCH_CONTEXT_WORKSPACE_RULE_AND_STARTUP_FILES_2026_09_30.md §4,
phase LC2). Before this the card showed only what the SessionStart hook
carried, while the CLI had also loaded the user’s CLAUDE.md, every
CLAUDE.md up the folder tree (the hand-maintained
~/.agentmux/agents/CLAUDE.md among them), their @imports, the skill
listing and the MCP servers.
The agents of other AgentMux instances, for the Swarm’s sections below this
instance’s own tree (docs/specs/SPEC_SWARM_OTHER_HOSTS_AND_CHANNELS_2026_10_02.md).
Sysinfo data collection loop: collects CPU, memory, and network metrics
and publishes them via the MPS broker. Sampling interval is configurable
via the telemetry:interval setting (0.1s–2.0s, default 1.0s).
Which agent tool call each running Bash command is: agentmux-bashwrap,
running a call as Claude Code’s shell prefix, reports its own pid with the
call’s id and description (prefix.rs, {op:"call"} on the wrapper’s
publish route). Tower labels that process, the root of the call’s process
tree, with the description (“started by”).
docs/specs/SPEC_TOWER_AGENT_CENTRIC_VIEWS_2026_10_08.md §5.3.
Tool store: ensures CLI tools (jq, rg, etc.) are available to agent
subprocesses. Reads a bundled catalog JSON, checks system/bundled/managed
install paths, and can download + verify tools on demand.
Tower: what each of AgentMux’s own processes is — “GPU”, “Renderer”,
“Network service”, “Server”, “Launcher” — so the AgentMux task’s rows say
more than one executable name repeated a dozen times.
Other AgentMux computers on the LAN in Tower
(SPEC_TOWER_TASK_MANAGER_PANE_2026_10_08.md §8.3): this computer pairs as
a viewer device of the other one, the way a phone does, and reads its
processes from the viewer listener.
Tower on another machine (SPEC_TOWER_TASK_MANAGER_PANE_2026_10_08.md
§8.2): the host’s processes, sampled there by AgentMux’s helper
(agentmux_remote::procs) and sent as one small frame per request.
One-shot backfill of pre-existing agent CONVERSATIONS into the GLOBAL
transcript store, so the 9 (and any) agents created before cross-channel
transcripts shipped load their history when opened from a fresh channel.
“An agent is waiting for you”, announced by srv for the calls to action it
holds open: a browser hand-off or approval, an SSH consent or other host
question, a widget install
(docs/reports/REPORT_AGENT_ATTENTION_CTA_CONTRAST_AND_TONE_2026_10_10.md §2).
The viewer: a read-only window onto this channel’s agents for a paired
device (agentmux-mobile’s SPEC_AGENT_STATUS_AND_LIVE_PANE_FEED_2026_10_07
§4, §5, §13.2, §13.3).
The widget catalog (docs/specs/SPEC_WIDGET_SHARING_2026_10_10.md §4): a
public list of sandboxed widgets, built and signed by the
agentmuxai/widgets repository’s CI, that Settings → Widgets browses.
Widget packages: user widgets as folders with a widget.json manifest,
which run only once the user approves them
(docs/specs/SPEC_USER_WIDGETS_AND_WIDGET_API_2026_10_09.md §5, §8).
Work facts: per running agent, what srv can already see or cheaply derive
about what it is working on, so agents can find out who else is working
on the same file, branch or topic
(docs/specs/SPEC_AGENT_OVERLAP_AWARENESS_2026_10_10.md §3.1).