Steering and learning.
How to direct the work, and what Perfloop learns from the way you direct it. Those lessons are kept per repository.
Feedback on a case
Request changes on the case page says what you want changed, with a reason. A coding agent does the same with fileFeedback. Requested changes also hold publication: a pending publication shows your review on its approval, and an already approved one waits in Inbox with Allow publication. To decline it instead, choose Close case on the same Inbox item.
To replace an earlier request, ask your coding agent to call fileFeedback with that review's reviewID and changedAt in supersedes. Put every remaining request in the new feedback. The replaced review stays in history and stops directing new work. Without supersedes, the feedback adds another request.
When feedback asks for several changes, your coding agent can also list them in shortfalls: one short line per change, with an optional action, file and line. The case page then shows one row per change, with your full text one click away. A change with a line in the candidate the page shows reads under that line in its code instead.
To request a change on one line, point at the line in the change's code on the case page and choose +, or tap its line number on a phone. Your request names that line and shows under it, where comments from the pull request also show.
The next Session reads the feedback and may record a corrected candidate. If your feedback asks a question, the Session answers it under your review in the Timeline. When two Sessions in a row end without settling the same feedback, the case waits for you. After you stop a Session, the feedback it started with does not by itself start another. Work this case starts it again, and new or changed feedback lets the next Session start on its own. Other automatic work can still start; Close case holds future work. Feedback never lowers the proof bar. The earlier result and its evidence stay until a replacement passes.
Feedback on a pull request Perfloop opened works the same way. With PR feedback set to Handle, a comment or a review starts a Session when the code host says its author can push to the repository, and a failed check starts one by itself. The setting is on Autonomy and limits.
When a pull request includes a Case and evidence link, follow it to read the Case and its supporting evidence.
Scope
Repositories in scope are set in Setup; out of scope means no model upkeep and no cases. An Initiative gives the work a direction: one outcome, the reasoning, and the targets and exclusions on the model. One Initiative can span repositories. A coding agent changes it with editInitiative.
Closing with a reason
Close case records that the work stopped and asks why; closeCase does the same. It does not stop a Session that is already running; Stop work or stopSession does that. Closing is not refutation: Reopen case reverses a plain close.
A closed case also stops repeats. Perfloop opens no new case for the same change at the same code unless the code has changed in a way that answers your reason.
When a pull request Perfloop opened is closed without a merge, Perfloop reads the discussion and decides whether the case closes or tries another approach. When it cannot decide, the question comes to Inbox, and you answer there or with decidePRClosure. For this decision, a reason is optional when you close the case. You can add something Perfloop should learn. To keep it open, say which approach to try.
A maintainer can also close that pull request and merge their own pull request with the change. Name their pull request with the adopted answer of decidePRClosure. Once Perfloop reads it merged in the same repository, the case shows it as the merged pull request. Until then, nothing changes.
Ideas
submitIdea proposes a report from a coding agent: what should change, and where. Your complete report stays together in one Case if admitted. Poll submission for the outcome, including duplicates and refusals.
A known start refusal names its cause, such as a Usage or work limit, without showing private balances.
Keep the returned submission ID and poll for its outcome. If a source update interrupts an open check, Perfloop continues the same submission.
A measurement you report in an idea is a claim for the case to check. It does not count as a proved result.
What Perfloop learns from you
Perfloop learns your system from the code and your telemetry, and that is the model. From your feedback and the repository's review history it learns lessons, kept per repository. Nothing learned in one workspace reaches another. Lessons come from Request changes, fileFeedback, comments and reviews on Perfloop's pull requests, rejected publications, and the repository's own review history. A stopped Session, an exhausted budget, or a closed case is not evidence against the hypothesis.
Explain why in a review: the constraint the change violated, and what would make another approach acceptable. A closure on its own teaches nothing.
A lesson can change what Perfloop tries first. It cannot make a weak candidate pass or waive a check, and it lowers no proof bar.
Perfloop learns from a repository's feedback when Case work is Keep working, and from its review history when Case work is Keep working or System model is Keep current. You do not read the lessons; neither the app nor the MCP server shows them. Setup reports Learning while Perfloop updates them, and the Usage page shows that cost under Learning. Their effect shows up in the next case they apply to.
Send feedback
To tell the Perfloop team something about Perfloop itself, use Feedback in the side rail, or in the menu on a phone. Select text first to point at what you mean; the panel lists the page context it sends with your words. It goes to the Perfloop team only and does not change any Case or Session.
From an MCP client, ask your agent to send feedback. It writes the message from what you ask it to send and calls sendFeedback with that message alone. It goes to the Perfloop team only and does not change any Case or Session.
Also in this section: Quickstart, The loop, Case states, Pull requests, Initiatives, Autonomy and limits, Members, and The MCP server.
Questions: hello@perfloop.ai