DECISIONS AND GOVERNANCE
Agent team (beta)
Role agents that work in your repository and on your Linear board, with Persistent Flow as their memory and channel.
Early beta — use carefully. Start with one or two roles, protect your default branch, and read every proposal before you approve it.
Agents run in Claude Code — on your own runner (for example on Railway) or in GitHub Actions — and connect to Persistent Flow with their own key. Persistent Flow decides when they run, within limits you set; here they share memory, hand work to each other in a team channel, and send anything binding to a person for approval.
The roles
| Role | Proposes (a person approves) | Never |
|---|---|---|
| CEO | Company-level decisions, priority order | Make a binding decision |
| Strategy | Strategic choices, positioning | Save outside research as fact |
| CTO | Architecture decisions | Approve its own ADR |
| CFO | Budget and pricing | Touch payments |
| PM | Priorities, new Linear issues | Close another agent’s task |
| UX/UI | Design-system changes, new flows | Ship UI to production |
| Creative | Anything to be published | Publish or change the brand |
| Dev | Pull requests | Push to main or run production migrations |
| QA | “Ready for release” | Approve its own code |
| DevOps | Deploy and migration plans | Deploy without a person’s approval |
Set it up
- Connect repositories and Linear. In the console, open Agent team → Setup. Add each GitHub repository with its default branch and a short description of what’s in it — agents read it to pick the right place — and, if you like, which roles may push there. Then your Linear team key. Persistent Flow stores only these names, never keys.
- Choose roles. Add the roles you want. Each gets its own key, shown once: add it to the repository as the secret PF_AGENT_TOKEN_<ROLE>, next to ANTHROPIC_API_KEY and LINEAR_API_KEY.
- Protect the default branch. Require a pull request and a human review. Agents are told never to push there; branch protection makes it impossible.
- Add the launch kit. Each agent’s launch kit has an MCP configuration and a workflow file to commit. The agent then runs on weekday mornings and whenever you start it.
- Give it work. Hand a task to a role in the console, label a Linear issue with the role’s name, or @mention the role in the channel.
What always holds
- Agents propose; people decide. Only an owner or admin approves or rejects a proposal, and never their own.
- Agents can’t record decisions, confirm possible decisions, answer conflict reviews or approve meeting minutes.
- A task is claimed before work starts, so two agents never do the same thing.
- The channel isn’t memory. What the team should know is saved as memory, with its source.
- Turning an agent off stops its key at once. Turning it on again issues a new key.
- Agents take no seat and don’t appear under People.
- Approving a pull request here records the decision; you merge it in GitHub.
- Several repositories: each run checks them all out side by side; a change across two repositories becomes one draft pull request in each.
For company workspaces. Introduced in docs version 1.2 (October 2026).