Skip to content

docs(adr): two consoles — management + per-agent agent consoles (endpoint registry + remote file editor) - #49

Merged
brettchien merged 2 commits into
mainfrom
docs/adr-agent-consoles
Aug 16, 2026
Merged

docs(adr): two consoles — management + per-agent agent consoles (endpoint registry + remote file editor)#49
brettchien merged 2 commits into
mainfrom
docs/adr-agent-consoles

Conversation

@brettchien

Copy link
Copy Markdown
Contributor

What

A direction-alignment ADR for the two-console architecture Brett asked for (thread 2026-08-14): a management console (chat with one designated agent that drives the fleet via reverse-MCP) + per-agent agent consoles (view/edit that agent's files & apply, chat with it directly).

Steps up from the in-flight agent-chat-panel ADR (single-agent, still under development) — that ADR's chat panel becomes a reusable primitive instantiated per endpoint; this one adds the two mechanisms that make N agents reachable and configurable.

Decisions

  • Part A — two consoles, one chat primitive. Reverse-MCP oab fleet-control tools are published only to the management binding (least privilege); agent consoles chat + configure without granting fleet control.
  • Part B — per-agent endpoint registry. Generalize remote.tomlagents.toml ([[agent]] with url/token/cwd/management), back-compat shim for the legacy single file. RemoteState becomes per-agent-keyed.
  • Part C — agent console. Selector → config region (file editor) + chat region (the Part C primitive).
  • Part D — remote file editor. fs/list/read/write/stat over the same /acp endpoint (uniform local/remote; no direct kube/docker creds). Agent-declared editable root; Apply = write (+ optional restart-cycle via ADR-2 scale).

Operator decisions folded in (Brett, 2026-08-14)

  1. Every agent can start /acp; reachability is the operator's job (expose the port). Studio only needs (url, token, cwd) per agent.
  2. "Config" = files — one remote file editor, not separate spec/persona models.
  3. The management agent is just the agent bound as management; may be a fleet member; not required to be Studio-managed.

Gating dependency

The fs/* file-ops wire is upstream on openab (like streaming / tool_call today). Architecture + read-only path land first; the write/apply path sequences after the wire exists.

Open questions (see §8)

fs/* wire shape · editable-root declaration · agents.toml vs in-place array · endpoint discovery.

🤖 Generated with Claude Code

…oint registry + remote file editor)

Steps up from the single-agent chat panel (agent-chat-panel ADR) to the
two-console architecture: a management console that chats with one designated
agent (reverse-MCP → fleet control) and per-agent agent consoles that view/edit
that agent's files and chat with it directly.

Adds the two mechanisms this needs: a per-agent endpoint registry (agents.toml,
back-compat with remote.toml) and a remote file editor over the same /acp
endpoint. Reverse-MCP publication stays least-privilege (management binding
only). The fs/* wire is flagged as an upstream openab dependency; the write path
sequences after it, read-only + chat land first.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
brettchien added a commit that referenced this pull request Aug 16, 2026
…ed provisioning (#63)

* docs(adr): agent deployment — template/skills bundles → provider-tagged provisioning

Studio stands up agents (not just observes): an agent = a prebuilt image tag +
a plain-file bundle (config.toml + persona + skills). Studio holds a
template/skills library, composes a per-agent bundle (template ⊕ overlay), and
provisions it via a provider-tagged driver — pick an image tag + push the bundle
to the runtime's file carrier (S3 state for ECS, ConfigMap/volume for k8s) +
apply the workload. No build in the deploy path (compilation is CI/CD). Defers
#49 Part D (remote editing of a running agent's files). Relates to #18 (desired
state) and #60 (provider-tagged hermetic target).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(adr): accept agent-deployment ADR

Direction greenlit by Brett (2026-08-16). Slices 1&2 (template/skills
library + compose; ECS provision) to follow.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: brettchien <orca@openab.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Implementation lands as stacked slices 1–4 (registry+keying, agent console
shell, file-editor read path, write/apply behind the upstream fs/* wire).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@brettchien
brettchien merged commit fd30f43 into main Aug 16, 2026
1 check passed
@brettchien
brettchien deleted the docs/adr-agent-consoles branch August 16, 2026 15:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant