Skip to content
hyperbeamDocs
Project

Testing and limits

How Hyperbeam is tested, and the limits to know about.

Automated tests

The end-to-end tests start a real server, real runner processes driving a scripted ACP agent, and a fake GitHub and GitLab that serve the git smart-HTTP protocol. They cover:

  • the permission model;
  • sign-up, invites and roles;
  • the full session lifecycle through the runner and ACP;
  • cloning and pushing through the git proxy, including default-branch protection;
  • opening pull requests through the gateway;
  • GitLab alongside GitHub: a project under nested groups, its own permissions, and opening and merging merge requests;
  • MCP connections against fake upstream servers: tool review, grants, read calls through a read-only variant, changed tools hidden again, and permissions removed on disconnect;
  • connecting by OAuth against a fake authorization server: discovery, client registration, PKCE, and renewing a token the server has revoked;
  • denial and audit of what is not permitted;
  • immediate revocation;
  • resuming after teardown;
  • conductor delegation;
  • questions from agents, answered by people or, for a worker, by its conductor;
  • notifications when an agent asks, finishes a turn or fails, in Hyperbeam and by chat direct message;
  • reading the web through the gateway’s web_fetch, with its URL rules;
  • choosing an environment per repository, and running setup commands;
  • the master key: generated and wrapped on first start, and rotated between a direct key and wrapped ones;
  • Slack and Discord against stand-ins for both: linking by email and by one-time link, refusing people who are not linked, starting agents in enabled channels, replies, questions answered with buttons, and stopping;
  • model selection;
  • the egress allowlist.

Kubernetes

On a local kind cluster (Kubernetes 1.34) with the Helm chart:

  • the control plane and bundled Postgres come up;
  • a session runs in its own pod as a non-root user with no service account token;
  • allowlisted hosts are reachable through the egress proxy, and others are refused, both through the proxy and directly;
  • a live session survives a control plane restart;
  • stopping a session removes its pod and token secret.

Known limits

  • One team per installation.
  • The control plane runs as a single replica.
  • Sign-in is email and password only (no OIDC yet).
  • A connection has one credential or one OAuth sign-in, shared by every agent, so agents act as that one account. Stdio-only MCP servers can’t be connected yet.
  • Workspaces are ephemeral, so work survives a teardown only if it was pushed.
  • The Slack and Discord apps are tested against stand-ins, not yet against the live services. One workspace or server set-up per installation.
  • The command line has no automated tests of its own; the API it calls is covered.
Esc

Type to search pages and sections.