Third-party agents (ACP registry, SDK v2)

Task 7429 · Done · Coder · created · updated

Goal: an org can browse the ACP registry, install an agent and run a task on it. Misconfiguration is refused at save time, not at launch, and nothing is left on disk afterwards. Consolidates drafts 7326, 7327, 7378 and 7379; their findings are in the attached sources-acp-and-agents.md. 1. Dispatch: an installed `acp_registry` agent launches under jaah-acp-host (`acp_registry_install.install` as the session user; profile `acp-core`, key route `acp_authenticate`), placed only on nodes that report the ACP host. The picker lists it as enabled. 2. Early refusal: saving a secret-shaped variable on a manifest 2 agent, or refreshing an agent with one to manifest 2, is a 422 that names the variable (never its value) and points to `credential.get`. 3. Cleanup: a v2 attempt's `agent-runs/task-<id>-*` dir is removed when the attempt ends, never while it is live, and the host stays the pane root. 4. Registry UI: room is left for the Get started bar on phones; agent icons appear (CSP kept); there are filters for distribution and Installed; licence casing is normalised; a card shows its own busy state while installing. Out of scope: new vendors, the plan switch, v1 agents' env and supervisor, MicroVM runs. Done means: - On dev, a registry agent with key route `acp_authenticate` runs a coder task to a settled ending. - API and jaahd tests cover the launch payload, the 422 and the run-dir cleanup. - Registry screenshots at 390px and 1280px. Required checks: ./dc check full

Outcome

Registry agents now dispatch under the ACP host, a secret-shaped v2 variable is a 422 at save, the host removes v2 run dirs, and the Registry page got icons, filters and per-card busy. PR #6014 merged (deploy superseded). Full gate not finished locally; dev oracle unverified (no agent key, see #7445).

Pull request

Artifacts

Attachments

Activity

  • Created
  • Updated
  • Run
  • Runner started
  • Runner ended (done)