You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Add built-in agent acceptance test and bounded local Hermes bridge #219
Make the MacBook OpenBot pilot usable in two verified steps:
Prove a shipped built-in OpenBot agent can complete a safe local test run.
Connect selected local Hermes agents to OpenBot through a bounded, explicit AG-UI adapter.
This is local pilot work only. Do not change ARIA/OpenClaw production, Teams production, customer data, or the existing OpenBot computer volumes.
Scope
Built-in agent acceptance test
Add a deterministic test for the shipped General Assistant (or the smallest built-in agent path that exercises the real runtime contract).
Cover the authenticated AG-UI request/response path and a safe smoke prompt with no corporate or customer data.
Assert useful text is returned, structured content is rendered safely, and no secret/token/payload disclosure occurs.
Keep the test runnable offline or against local services with an explicit smoke mode.
Local Hermes bridge
Add a small, documented adapter that speaks AG-UI to OpenBot and invokes only an explicitly configured local Hermes profile/interface.
Do not pass raw Hermes sessions, auth.json, .env, credential stores, home-directory mounts, Docker sockets, or unrestricted shell/computer access into OpenBot.
Bind the bridge to loopback or the private Compose network only; fail closed when the allowlist, endpoint, or auth boundary is missing.
Permit text-in/text-out first. No Hermes tools, MCP credentials, files, browser control, production systems, or customer data in this pilot.
Use bounded request size, timeout, and concurrency limits; redact secrets and structured payloads from logs.
Register the bridge-backed agents as OpenBot remote-ag-ui agents without storing their tokens in agent rows.
Make the Hermes profile allowlist and display metadata deployment configuration, not user/request controlled.
Add a health/readiness check that proves the configured Hermes interface is available without issuing a real business action.
Document how to add/remove a local Hermes profile and how to run the smoke test.
Acceptance criteria
Focused unit/integration tests pass for built-in-agent execution, bridge routing, allowlist enforcement, timeout/error handling, and redaction.
A local smoke run proves the built-in OpenBot agent responds.
A local smoke run proves at least one explicitly allowed Hermes profile responds through the bridge, or reports a concrete external blocker without weakening isolation.
OpenBot UI/API remains loopback-only for this pilot and existing CA/TLS validation remains enabled.
No secrets or raw Hermes session data are committed, logged, or returned.
Discovery evidence (MacBook local pilot): Hermes ACP is supported but hardcodes the hermes-acp toolset, which includes terminal/process/file/browser/execute_code/delegate capabilities; it is not safe to expose directly to OpenBot. The supported least-privilege one-shot interface is hermes -p <profile> chat -t safe -Q -q ..., which returned the non-sensitive smoke response OPENBOT_SAFE_HERMES_SMOKE_OK while exposing no tool call. The CLI emits a session_id line, so the bridge must strip it and never forward raw session metadata. Current installed profile roster: default, chief-of-staff, dev-builder, dev-lead, dev-pm, dev-qa, dev-reviewer, infrastructure-tech; the bridge must use an explicit configured allowlist and not guess other bot names. Clean-checkout baseline also found the existing agent-bot startup tests require package-local dependency installation because agent-bot is outside the root Bun workspace; no source changes made in this comment.
The built-in-agent acceptance coverage this asks for substantially exists: server/tests/agent-connection-live.test.ts is a deterministic, offline AG-UI conformance test that runs in CI, and tests/smoke/journey.test.ts covers the full end-to-end path. A single-vendor Hermes-to-AG-UI bridge is out of scope, consistent with other vendor-shim requests. Closing; if there's a specific gap in the existing acceptance test, open a focused issue and we'll look.
Activity
arcadegeek23 commentedon Aug 24, 2026
Discovery evidence (MacBook local pilot): Hermes ACP is supported but hardcodes the hermes-acp toolset, which includes terminal/process/file/browser/execute_code/delegate capabilities; it is not safe to expose directly to OpenBot. The supported least-privilege one-shot interface is
hermes -p <profile> chat -t safe -Q -q ..., which returned the non-sensitive smoke responseOPENBOT_SAFE_HERMES_SMOKE_OKwhile exposing no tool call. The CLI emits a session_id line, so the bridge must strip it and never forward raw session metadata. Current installed profile roster: default, chief-of-staff, dev-builder, dev-lead, dev-pm, dev-qa, dev-reviewer, infrastructure-tech; the bridge must use an explicit configured allowlist and not guess other bot names. Clean-checkout baseline also found the existing agent-bot startup tests require package-local dependency installation because agent-bot is outside the root Bun workspace; no source changes made in this comment.Fix formatting, and defer the built-in-agent acceptance test
Refuse a shell the database, show a screen that ended, and unblock a …
davidmckayv commentedon Sep 13, 2026
The built-in-agent acceptance coverage this asks for substantially exists:
server/tests/agent-connection-live.test.tsis a deterministic, offline AG-UI conformance test that runs in CI, andtests/smoke/journey.test.tscovers the full end-to-end path. A single-vendor Hermes-to-AG-UI bridge is out of scope, consistent with other vendor-shim requests. Closing; if there's a specific gap in the existing acceptance test, open a focused issue and we'll look.