Tutorial 10B coordinated several runs. This final page explains how an operator sees the computers behind those workers, changes desired capacity safely, diagnoses failures, and cleans up without treating Fleet as a remote shell.
You will distinguish worker health from host convergence, inspect one Fleet without exposing secrets, request a small desired-count change, and choose the correct recovery or cleanup action.
Kanban records agents, tasks, runs, and messages. Fleet maintains desired state for installed workers across trusted computers. Its non-LLM residual on each controlled host reconciles a secret-free desired configuration into local schedules and authenticated harness sessions.
Fleet does not provide an arbitrary command channel. It does not accept arbitrary local checkout paths, copy credentials between hosts, or turn messages into shell execution. Repository clone roots are implementation-owned.
Every controlled computer keeps at least one residual even when its desired worker count is zero. That residual is how later configuration changes can converge without manually logging into the host.
Use /kanban to inspect current worker rows and ask an authenticated operator agent to inspect Fleet host status. Group workers by the stable, non-empty host_id. Hostname, IP address, and OS are helpful display fields but are never computer identity.
A useful inventory shows:
home_repo;A target is converged only when the host status is fresh, state is converged, and its seen and applied revisions equal the current desired revision. Then the corresponding agents should be fresh and consistent idle or consistent busy. A dormant worker is healthy when it unloaded after the one-hour idle TTL while its schedule, enrollment, residual, and native session remain.
[loom_demo] without changing it. Group connected workers by stable host ID and show hostname, IP, OS, residual freshness, current harnesses and models, repository identity, actual home repo, Loom runtime version, desired/seen/applied revisions, and any degraded detail. Redact secrets and do not print configuration files.A desired worker entry identifies a host, stable repository name and URL, branch, harness, model, credential-profile reference when required, and count. Models are free-form harness-native strings. Increasing the count adds slots; decreasing it removes excess slots; count 0 removes that worker family while retaining the host residual.
Claude Code uses an existing encrypted credential-profile reference. Codex and OpenCode use host-local authentication. Never request or render plaintext tokens, vault keys, auth files, or credential-bearing repository URLs.
Before any mutation, verify the host ID is non-empty, the residual is fresh, the current revision has not changed since it was read, and every unrelated desired entry will be preserved. Then show the exact secret-free before/after diff, especially removals, and ask for confirmation.
[loom_demo] that sets the desired Codex worker count for the existing palmerpenguins repository identity on the selected healthy host from one to two. Preserve every unrelated host, repository, harness, model, and credential reference exactly. Show the current revision and exact before/after diff, reject a stale revision, and ask me to confirm before publishing.After confirmation, publish one full desired-config revision through the canonical gate. Report the change as pending until the target host reports the same seen and applied revision with state converged. A published revision is not itself proof that a worker exists.
When a host or worker is degraded, read that host's residual or worker daemon log first. Then compare the log with fresh host status and the agent ledger. Common truthful outcomes include:
Do not repair Fleet-owned state by guessing a host from its IP, manually adopting or deleting a clone, rotating credentials, editing desired configuration around a failure, or reinstalling a worker before reading its logs. Preserve exact session identity when the host, board, repository, harness, and slot still match.
If a task itself is blocked on an owner decision, use its owner-question path rather than changing Fleet capacity. If a worker run expired, leave that terminal history intact and allow a new run only under the task's existing capacity.
Cleanup depends on what you intend:
Never delete a repository, schedule, state directory, or process by a broad path or guessed PID. Use the packaged status, stop, remove, or Fleet reconciliation workflow that owns it.