Third-party agents (ACP registry, SDK v2)
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).
Artifacts
Attachments
Activity
- Created
- Updated
- Run
- Runner started
- Runner ended (done)