Skip to main content

Fleet — capability map

Every capability in scope, what good looks like, what Ever Works has today, the verdict, and the epic that owns it. Verdicts: adopt (new to Ever Works), extend (exists, grows), feed (exists; this program only feeds it), keep (exists, unchanged), defer (worth it, not in this program), refuse (deliberately not).

"Today" cites EXISTING-SUBSTRATE.md sections (§1 node runtime, §2 platform fleet and live view, §3 sessions, §4 schedules, §5 Tasks and nouns, §6 plugins, §7 sidebar, §8 contracts, §9 known gaps).

A. Machines​

CapabilityWhat good looks likeEver Works todayVerdictEpic
Enrol a machineOne command, nothing listens, secret stays on the machineOne-time token, outbound enrol, keychain secret (§1)keep—
Health: CPU, memory, disk, uptime, GPUCards with the last check time; history for "is this getting worse?"Disk floor + limits only; no metrics history (§2)extendFL-03
Machine statesPlain-language states with a fix button (wake, re-enrol, grant consent)enrolling · online · offline · paused · disabled + worker states (§2)extendFL-03
"Needs a look" listOne list above the cards: disk low, runner stopped, agent waiting, node throttledKill-switch banner onlyadoptFL-01, FL-03
Wake on LANWake an offline machine from a sibling on the same network—adopt (via sibling node)FL-03
Favourites, rename, nesting under hostStarred machines first; VMs and containers nest under their hostrename/remove in node drawer (§2)extendFL-01, FL-16
Direct peer-to-peer link, overlay-network awareness—outbound-only HTTPS + one outbound WS (§1)refuse (transport) / adopt (one multiplexed outbound link)FL-02
Machine checks on an interval, refresh allPeriodic read-only check; manual refreshheartbeat 60 s (§1)extendFL-03

B. Sessions and terminals​

CapabilityWhat good looks likeEver Works todayVerdictEpic
Persistent agent/shell sessions on a machineSurvive closing the browser, node upgrades, network loss; replay the screen on attachHeadless claude -p Task runs; Computer terminal channel is read-only (§1, §3)adoptFL-04
Supported CLIsClaude Code, Codex and a shell first; any other CLI as a plain PTYclaude-code, codex detected; Task runs already isolate both — Codex with --ignore-user-config since 2026-10-16 (§1.7, §9 gap 17)extend (Agent sessions reuse that isolation)FL-04
Start dialog: machine → kind → agent → checkout → worktree → first messageInstalled CLIs marked; recent folders; new worktree as the default for Agentsrun-now on Agent; affinity picker (§3)adoptFL-04
Live terminal in the web, input, resize, scrollback, splitsOne terminal pane everywhere; splits laterTerminalPane for cloud-worker Runs; the Computer tab already renders a read-only node shell through the same renderer (§1, §2)extendFL-04
Attach from your own terminalever-works fleet sessions attach <id> (alias fleet session attach)no fleet CLI verbs (§8.2)adopt (CLI)FL-19
Status: working / needs you / done / idleFrom the agent's own hooks; screen rules as fallback; exit provenAgentRun.status + awaitingInput; 5 s polling (§3)adoptFL-05
Question / permission with answer buttonsCards that replace the composer; one click answersHITL ask_human → Inbox; fleet QUESTION.md (§3)extendFL-05
Sessions board (Needs you · Working · Done · Idle)Attention-first columns; tint only for attention and doneTask board, Works board (§5)adopt (Activity → Sessions; Fleet → Sessions)FL-05
Attention keys, unread, ack, notification dedupeOne key per "needs you" edge, same on every surface; ack older than the edge never re-flagsInbox, notification channels, AW-13 (§3)adoptFL-05
Git line: branch, ±lines, files, commits vs base, PR + checksOn every session card and detailTask detail shows branch/checks/PR (§5)adoptFL-06
Actions: commit, push, PR, review, fix comments, conflicts, recapEditable prompt templates with {branch} {base} {pull}; irrelevant actions hiddenplatform opens the PR after the node pushes (self-build)adoptFL-06
Worktree per session, cleanup after mergeSeveral agents on one repo at once; "clean up" when the PR merges, branch keptnode worktree pool for Task runs (§1)extendFL-06, FL-14
Rename / restart / end a sessionFrom every surface that shows itcancel / interrupt / resume a Run (§3)extendFL-04
Session recordings / re-watchTerminal and screen recordings bound to the session and its RunAW-11 P3 columns exist, nothing recorded (§9)extendFL-04, FL-07
Structured transcript ("chat view") over a PTY—Session detail timeline for cloud Runs (§3)defer—
Hibernate idle sessions and resume——defer—
Permission-bypass flags by default—acceptEditsrefuse—

C. Desktop​

CapabilityWhat good looks likeEver Works todayVerdictEpic
Live screen of the whole desktopChanged regions only; per-OS capture; starts at native on LANAgent's Chromium window only (§2)adopt (as desktop source)FL-07
Mouse and keyboard controlUnder the existing take-over rulesinput injector exists for the browser; input tag not advertised (§2)extendFL-07
Quality presetsSharp / Smooth / SteadySharp / Smooth / Steady (§2)keepFL-07
Multi-monitor pickerPick a monitor; remember it—adoptFL-07
Virtual monitors (headless machines)Add a display the OS recognises—defer (Linux X11 only, phase 3)FL-07
Desktop beside the terminal with a dividerWatch what the agent did while reading its shellScreen or Terminal, one at a time (§2)adoptFL-07
Take-over rules, grants, auditPermissioned, time-boxed, exclusive, auditedAW-11 control arbiter (§2)keepFL-07
Screen recording and re-watchBound to the session; retention enforcedAW-11 P3 columns and retention declared; nothing records (§9)extend (FL-07 closes AW-11 P3)FL-07
Wayland——defer (portal-based, later)—

D. Machine facts​

CapabilityWhat good looks likeEver Works todayVerdictEpic
Logs: system, files, containers, services; tail, filter, pauseLast 500 lines then live; filter; pause counts arrivals—adoptFL-08
Services: list, start/stop/restart, at boot; cut-off warningssystemd / launchd+brew / Windows; warn when a stop could cut the node off—adoptFL-09
Docker: containers, images, Compose picture/list/logs, shell insideCLI shell-outs; a Compose project as a picture of its servicesdocker tag (§1)adoptFL-09
Processes with CPU/memory, stop/kill, GPUBusiest few hundred; confirm before signals—adoptFL-09
Listening ports, web servers first with title + statusWeb servers first, "N other ports" folded—adoptFL-10
Open a port locally——refuse (no local listener in a web app) → open on the machine; preview tunnel phase 2FL-10
File browser, copy between machines, upload/downloadAllowed roots; streamed with progress; same-name conflicts shown—adopt (allowed roots)FL-11
Clipboard into a desktopPaste text into this desktop, opt-in, per session—adoptFL-11
Run a command on N machinesOutput cards filling live; recent commands—adoptFL-12

E. Schedules, checkouts, GitHub​

CapabilityWhat good looks likeEver Works todayVerdictEpic
Schedules that run on the machineRun whether or not the platform is reachable; history kept; overlap skipped; cap enforcedUnified Schedules over seven sources; none targets a machine (§4)adopt (node_schedule source)FL-13
Scheduled agent work or commandA command with a cadence, or a recurring Task pinned to a Noderecurring Tasks → RunsextendFL-13
Checkouts discovered on machines; fetch/pull/pushScan code folders; link to repo Worksnode worktree pool, hidden (§1)adoptFL-14
Create a checkout: fresh clone / worktree / container-isolatedReady in seconds for worktrees; isolated for untrusted codenode fleet-task-workspace (§1)extendFL-14
GitHub inbox (review requests, assigned, my PRs)—Triggers, Tasks (§5)feed (Trigger source → Tasks)FL-15
"Fix with agent" from an issue / PR on a chosen machineOne dialog: machine, checkout, worktree, first message prefilledassign-task → Agent → affinityextendFL-15
Per-machine git identity checkName/email and credential status with a fix buttonGitHub App installation tokens, run-scoped push credential (§1)extend (no gh dependency)FL-15
Self-hosted Actions runners: install, status, jobs, stuck diagnosisRegister via the GitHub App; service mode; "no runner can take this job" explained; "Cancel workflow run"no runner concept (§2.13); the build plugin only selects a runner label for workflows it writesadopt (plugin github-actions-runners + node jobs, R-14)FL-18

F. Creating machines​

CapabilityWhat good looks likeEver Works todayVerdictEpic
Windows VMs on a Linux host (KVM-backed installer image)Installs itself; appears nested under the host; start/stop/destroyFleetNode.kind has desktop-node · node · k8s; k8s rows are merged live, never stored or leased (§2)adopt (stored child Nodes running the node runtime)FL-16
Linux containers as computersReady in a minute, node runtime inside, auto-enrolled— (§2.2: no parent/host column)adopt as ContainersFL-16
Cloud machines, cost shown, idle policyProvider plugin; price before creation; hourly / month-to-date / projected; idle → tell me / power offno machine-provider category (§6)adopt (plugin category machine-provider, R-15)FL-17
A created machine is never orphanedRemove from Fleet refused while the machine exists; destroy insteadRemove deletes the registration only (§2.5 DELETE nodes/:id)extend (additive guard, R-36)FL-16, FL-17
Per-workspace ephemeral environment recipes——defer—

G. Agents, MCP, CLI, usage​

CapabilityWhat good looks likeEver Works todayVerdictEpic
One API behind UI / CLI --json / MCP, typed errors with hintsSame shapes everywhere; code + hint with the exact fixOne Agent tool (list_fleet_nodes); MCP whitelist exposes reads, affinity set/clear, drain (enrolment deliberately not exposed); apps/cli has no fleet commands (§2, §6)extend (Agent, MCP) / adopt (CLI)FL-19
Read-only tools always, state-changing markedAnnotations on every tool; policy enforced server-sideAgent permissions, tool grants (AW-15)extendFL-19
An Agent asks before it actsHeld action → a Decision in My Decisions; one confirmation mechanism for every calleragent_action_proposals (approvals queue) — R-33extend (reuse, no new table)FL-19
Usage and cost from Claude/Codex transcriptsPer session, machine, folder; list prices; unknown models tokens-onlycostCents per job, Budgets, AW-17 (§3); a headless fleet run already records the CLI's own price as a non-debiting ledger row (fleet-node:<provider>)extend (node scan → attribution for every session, list-price port R-30)FL-20
Account switching for CLIs—per-Agent profile dir (§1)refuse (credentials stay on the machine)—
Palette entriesGo to any computer or session from the palettecommand palette (AW-01)feedFL-01
Mobile app / relay—webdefer (responsive web is the surface)—
Telemetry——refuse (no new telemetry)—