Project
Roadmap
What is in version 0.2, what is planned next, and how to read the badges in these docs.
Agent Office is at version 0.2, a proof of concept. This page separates what's built from what's planned. It doesn't promise dates.
How to read the badges#
| Badge | Meaning |
|---|---|
| Roadmap | Planned. Not in the current release. |
| Stub | An interface exists, but it doesn't do anything useful yet. |
| Optional | Off by default. Turn it on when you need it. |
Anything in these docs without a badge describes the current release.
In v0.2#
| Area | What's there |
|---|---|
| Setup | The @agent-office/platform npm package, with a host prerequisites script for Ubuntu 24.04. officectl init (re-runnable; creates the owner's Gitea account), install (Linux systemd with sudoers, account helper, managed Claude settings, AppArmor profile for bubblewrap and a Caddy site; macOS launchd; optional bundled Gitea on Linux), doctor (including whether agent users can run claude), status, invite, hire |
| Forge | Gitea adapter: org, teams, repos from templates, real agent users created by API, branch protection with protected files, webhooks |
| Hiring | Hire wizard, officectl hire, policy PRs with plain-English diffs (removals flagged in red, re-parameterised capabilities shown as changes:), reconciler with hire, change, suspend, resume and retire, three founding agents. Agent-proposed hires merge extra capabilities into the role template's defaults; a full replacement that drops more than half an agent's capabilities is refused unless confirmed. |
| Identity | One OS user and one forge user per agent. Per-run forge tokens, always revoked, never on a command line. |
| Permissions | Human roles and scopes on every route and human MCP tool. A capability catalog compiled into forge grants, sandbox and harness settings. |
| Approvals | Agents ask with approval_request; leads decide on Needs you. Approved time-boxed capability windows and budget overrides, which a lead can end early with End now. |
| Runs | Supervisor with admission checks, concurrency limits and daily budgets (hard stop or soft). Run kinds mail, chat, scheduled, manual and verify. Transcripts with SHA-256. |
| Model credentials | Per-agent API key, office API key, or a Claude subscription token for personal use, in that order |
| Mail & chat | Mail as vault issues, with a reply loop guard (3 hops). Chat in private threads per person and agent: the reply streams in as it is written, tool calls show as rows, messages queue while the agent works, Stop ends your thread's run, artifact cards, a no-JavaScript fallback. Office-written speaker header on every message. |
| Web app | Floor as a List, a 2D map or a 3D office, with live updates. Artifacts gallery and sandboxed viewer. System, light and dark themes. Phone layouts. Optional Docs link (office.docs_url). Pending invites with copyable links on People. |
| Agent work on repos | forge.read / forge.write agents clone into work/<repo>, push branches as themselves, and open PRs with forge_open_pr; humans merge under branch protection. |
| Artifacts | artifact_publish commits reports, pages, images, PDFs and data files to the agent's vault; HTML shown with no scripts. |
| MCP | Agent MCP (per-run token, 16 tools) and human MCP (personal tokens, 12 tools) |
| Audit | Hash-chained ledger, hourly anchors in the policy repo, audit page, ledger_verify |
| Operations | officectl verify (6 checks, plus a 7th live run with --live), backup and restore (with --with-forge for the bundled Gitea, and a tested runbook for restoring onto a new machine), upgrade, encrypted secret store |
Planned#
| Item | Status | Notes |
|---|---|---|
| GitHub adapter | Stub | On GitHub, teammate agents would be real user accounts that a human creates, and an office GitHub App would handle automation. |
| SSO through OIDC | Roadmap | auth.oidc is reserved in office.yaml. |
| OAuth sign-in for the human MCP | Roadmap | So MCP clients connect without pasting a token. |
| Agent email | Roadmap | Real mailboxes for agents that talk to the outside world. |
| MCP gateway | Roadmap | Proxy your company's MCP servers (trackers, error monitoring and so on) through the office, under the same capabilities and ledger. |
| Egress proxy with secret placeholders | Roadmap | The sandbox sees a stand-in token, and the proxy swaps in the real one only for allowed hosts. |
| Other linked accounts | Roadmap | Tracker and chat identities per agent. |
| Custom capabilities from plugins | Roadmap | Offices extend the catalog from plugins/. |
| Event-triggered runs | Roadmap | Runs triggered by forge events or answered approvals, beyond mail. |
Enforcing policy_roles | Roadmap | Today the forge's approvers team decides who can merge any policy PR. |
| Starting verify from the office | Roadmap | The verify.run permission exists, but only officectl verify runs the suite. |
| Telemetry export | Roadmap | OpenTelemetry and SIEM export of the ledger and run spans. |
| Fleet view | Roadmap | Run several offices on the same platform version from one place. |
| Forgejo | Untested | It shares Gitea's API, but hasn't been verified. |
How changes arrive#
The platform is an npm package, and each office pins a version in its office repo. A new release reaches your office as a version bump: officectl upgrade <version> edits package.json, runs npm install and the database migrations, and you commit the change as a pull request on the office repo and restart the service. See Upgrades.