Docs

Autonomy and limits.

What Perfloop may start on its own, per repository, and the limits that stop work. The five policies are in Setup under Automatic work. None of them lowers the proof bar, and none lets Perfloop merge.

Repository policy

An Admin changes these five policies in Setup and selects Save, which appears with Discard once a row changes. On a phone, expand a repo name to show its five policies. For PR defaults, open the repo's Settings under its code host on Connections. Each policy label explains its control on hover, focus or tap. A dash means that repo has no choice for the policy.

Perfloop never approves or merges.

Workspaces that started with manual work keep those defaults: every policy off and research off, also for repos added later. Setup shows each repo's saved policy.

On GitLab, Pull requests and PR feedback apply to merge requests Perfloop opens. PR review reviews other merge requests.

Compare screenshots
Setup, Automatic work: a repo in a workspace created at signup, at its defaults.
Setup, Automatic work: the same repo with Case work set to Wait.

Where pull requests open

Perfloop opens pull requests in the repo you connected, including when it is a fork. On Connections, open the fork's Settings: PRs to upstream is off by default. An Admin can turn it on to send future proposals to its parent; that still needs permission to publish there. Changing the target does not move a pull request already opened.

When a GitHub repository requires an issue before a pull request, Perfloop uses an existing issue or drafts one from the repository's template, and the pull request cites it. Some results are better as an issue, such as a measured problem the maintainers should handle themselves; Perfloop then proposes one issue instead. Both follow the Pull requests setting: with Ask, Inbox shows them for one member decision.

When feedback calls for closing a pull request Perfloop opened, Perfloop proposes a closing comment. Under Pull requests: Ask, Inbox shows the exact comment and waits for approval before posting it and closing the pull request. Rejecting the proposal leaves the pull request and Case open.

Stop work ends only the running Session and keeps the case's evidence. Automatic work can start another Session later. Close case holds future work. Reopen case makes it available again. Turning a control off stops later automatic starts. It does not cancel a Session or build already admitted.

Member sign-off is a separate workspace choice, off by default, described under The pull request. An Admin turns it on by selecting themselves with a complete profile; any Admin can turn it off.

Research

One cadence per workspace: off, every hour, every day, every week, or a number of seconds. A new workspace that can run research starts at every day. Each turn runs one research Session on one active Initiative and is billable. An Initiative takes cadence turns only after its first research Session, which a coding agent starts with startResearch whatever the cadence is. setResearchCadence changes the cadence; zero turns it off.

Usage and work limits

Usage is the prepaid balance every Session draws on. When it is out, no new Session starts, whatever the controls say; a proven candidate can still open its pull request. Setup names the automatic work that Usage cannot fund. The Usage page shows the balance, every Session's use, and each day's Initiative checks.

Each case has a Case limit, shown on the case page as Used / Case limit. A case whose work stopped at or near its limit waits in Inbox for an Admin to set a new total, continue it without a limit, or close the case. Work starts to wind down at 80% of the limit. Inbox estimates room from completed comparable work on that case. When no such evidence exists, it shows completion cost as unknown and leaves the amount blank for you to choose. An estimate does not guarantee completion. Until an Admin raises or removes the limit, or a new Usage period starts, no new work starts on that case, including PR feedback, repair and Work this case. If work stopped at the limit itself, maintainer comments on its open pull request still need answers and PR feedback is Handle, Perfloop posts a short comment there to say work has stopped. With Ask, or while a member decision waits on that pull request, Perfloop posts nothing.

An Admin can also raise or remove an open Case's limit through a coding agent at any time, without starting work. Raising a limit adds no Usage and approves no pending work. A budget stop does not settle PR feedback; work can continue when Usage and the Case limit permit it.

A workspace can run a limited number of Sessions at once. At that limit, a Session you or a coding agent start is refused with WORK_LIMIT_REACHED; retry when work finishes. Adding Usage does not free a place. Automatic work tries again on its own. Customer saves of automatic Case concurrency cannot exceed this maximum. A refused save leaves the saved count unchanged. Lowering a limit does not cancel work already admitted.

New work needs a positive Usage balance. Work already in progress can cost more than the balance left. Unpaid Usage carries into the next Usage period. New funds first cover that shortfall.

Usage names each pull request review by its number and title, as one link. An older review shows its number alone until Perfloop reads the title from the code host. Branch reviews show the branch name and repository, with a link to the reviewed code comparison when the code host supports it.

Billing terms

You can buy Usage without first saving a card. Automatic top-ups need a saved card and separate consent.

Automatic top-up charges the saved card the amount you set when the balance is below your threshold. It repeats while the balance stays below, up to your monthly limit per calendar month in UTC. Each top-up counts in the month it starts, at its own amount, even if payment completes later. The limit resets at the start of each UTC month. New funds first cover any shortfall; more than one top-up can be needed before the balance is positive.

In Usage, select Set up or Edit, choose the card and amounts, then select Save to give consent. Self-serve consent starts when you save and runs until an Admin turns it off. A change in Admins does not end it. Removing the card or ending the account stops new top-ups. An eligible first charge can start within minutes.

Paid Usage bought under the self-serve Terms does not expire when consent ends or is turned off. A signed agreement can instead limit new top-ups to an active Usage period. Those top-ups cannot start on the period's last UTC date; a one-day period allows none. Unused Usage expires at the end of that period, so a late top-up can expire within a day. A top-up does not renew or extend the period. Earlier purchases keep their accepted terms.

An Admin can select Turn off in Usage at any time. A successful response stops new top-ups immediately, without waiting for the payment processor. A payment in flight can still charge the card. A charge accepted while your successful withdrawal is being saved or afterward adds no Usage. Contact billing support for a manual refund; refunds are not automatic. Usage already added keeps its accepted terms.

If automatic payments are paused, contact billing support. Saving consent does not retry an outstanding payment. If that payment is still pending when you save, top-ups stay paused.

Also in this section: Quickstart, Performance, Bugs, Security, The loop, Case states, Pull requests, Steering and learning, Initiatives, Members, The MCP server, and Events.

Questions: hello@perfloop.ai