← All posts

Agents that interrupt less - how Rezee's agents ask, act and step back

A note from the team on the work behind DOC-64. Agent suggestions that say why, writes you can undo, corrections that stick, leave to act that is earned per tool, and a daily budget for how often an agent may interrupt you.

Oct 20, 2026 · 11 min read · Kash Gohil · LinkedIn · X

There is a quiet way for agents to make a team slower. Each one does useful work, and each one also posts a comment, asks a question, opens a suggestion and sends a notification. The small helps add up to a steady stream of small interruptions. The work got done, and the people who should have gained the time spent it reading about the work.

We built most of Rezee's agent layer on one rule: agents are members, held to the same gate as people. That rule keeps agents safe. It does not keep them quiet. So in October we wrote DOC-64, a spec with a narrow aim: agents should take routine work off people and ask only for the decisions that need a person. Nineteen issues later it is in the product. This note says what changed, how each part works, and where we stopped on purpose.

The spec opens with principles, and every part below answers to one of them. People decide commitments. Every suggestion says why. Autonomy is earned and granted by a person. Everything an agent does can be seen and taken back. Attention is scarce. Signals about a person go to that person first.

A suggestion is a record, not a message

Before this work, most of what an agent wanted to offer you arrived as a comment, a chat message or a notification. You read it, and then you acted on it by hand.

Now a suggestion is its own record. It shows in the Inbox as a card: "@kobeni suggests", a confidence chip ("Sure", "Fairly sure" or "Unsure"), the reason, links to the evidence, and one line that starts "On accept" and says exactly what will run. The buttons are "Accept", "Decline" and "Don't suggest again". Decline means "not now". Don't suggest again means never, for that person or team.

Accepting does not take a shortcut. It makes an agent task whose one step is the proposed action, and approves it through the same approval gate a person uses for any task. If the gate refuses, the suggestion opens again. Each suggestion goes to one person or one team, so a suggestion about your work is visible to you, not to the whole workspace.

The weekly cleanup shows the shape well. An agent that watches for it (the "Weekly cleanup" choice under "What it watches" on its page, or watch: {cleanup: true} in its definition file) offers each team one batch a week. The batch can hold four kinds of item:

  • An open pull request with no activity for 14 days: post a nudge on it.
  • An issue whose assignee is no longer on the team: unassign it.
  • Active work with no owner, opened by somebody on the team: assign it to them.
  • Two open issues whose titles share most of their words: link them as duplicates.

It arrives as one card, "Weekly cleanup for Platform from @kobeni". You can press "Accept all", or decide item by item. The agent includes only what it can reach. The duplicate check compares title words and nothing more, so treat it as a hint.

What agents did, with an undo on each line

The Inbox now opens with "While you were away" when agents changed your work since you last looked. Each line reads like "@kobeni on REZ-42", then the change, for example assignee: @kash → @aki, then the task it was done for, and an "Undo" button. A task that made several changes gets one line and "Undo all". "Got it" clears the list.

Every write an agent task makes to an issue is recorded with its value before and after. That covers the title, body, priority, stage, assignee, team, project, cycle, parent and repository, plus labels, comments and links. A line shows to the person who asked the agent, the issue's assignee and its author. The undo window is seven days.

The undo is the part we care about most. It does not write the old values straight into the database. It sends the reverse request through the API, as you, with your permissions. So it is checked, logged and announced exactly as if you had made the change by hand. If somebody edited a field after the agent did, the undo keeps their edit and tells you: "Undone, except what changed since". An undo that overwrites a colleague's later work is worse than no undo.

The limit is clear: this ledger covers issues and Inbox clears. An agent's pull requests, documents and chat messages are not in it. Those have their own review paths, and pull requests already wait on a person to merge.

Corrections that stick, and steer only your work

When you decline a suggestion, you can type why and tick "Remember this". When you undo a write, Rezee asks "What should @kobeni have done?" Either answer becomes a correction, saved with the agent and with your name on it.

On the agent's next task, its corrections go into its instructions under one line: "People in this workspace have asked you to keep the following in mind." Here is the design choice. A correction you gave applies when you asked for the task, not when your colleague did. If you tell kobeni to stop moving your issues to In Progress before a branch exists, that is your preference. It should not become a rule for aki.

You can see everything you taught agents under Settings > Profile, "What agents have learned from you", and reword or forget any of it. The agent's own page lists "What people have asked it to remember", with each one marked as being for its author's work. An agent keeps at most 25 of these, each up to 500 characters. A correction is an instruction in a prompt, not training. It is cheap to add and easy to remove, and it can still be ignored by a model on a bad day. That is why it sits beside the undo and does not replace it.

Leave to act is earned, per tool

Some suggestions get boring. When you have accepted "label this as a bug" twenty times, the twenty-first card is an interruption that adds nothing.

So an admin can give an agent leave, one tool at a time. The agent's page has a section, "Suggestions it may carry out itself". Each tool the agent has suggested shows its record for the last 30 days (accepted, declined, undone) and a choice: "Ask first", "Act, with undo" or "Act and report". With leave, a new suggestion for that tool runs at once, as the person who gave the leave, through the same gate, and lands in the ledger with its undo. Today the two acting levels behave the same. The difference in how they report is not built yet.

Two rules limit this. A tool that cannot be undone, such as a merge, shows "Always asks: can't be undone", and no admin can change that. And three undos in a row take the leave back. The admin who gave it gets a notice: @kobeni will ask before "issue_add_label" again: its last 3 were undone. Drafted status updates never run on leave, because a summary posted in your name is yours to publish.

A budget for interruptions

Agent questions and suggestions that would notify you now count against a daily budget. It starts at five, and it can go from one to fifteen.

When an agent wants your attention, Rezee checks three things in order:

  1. Does the question block an open incident? Then it comes through, at any hour.
  2. Are you in your quiet hours? Then it waits.
  3. Have you used today's budget? Then it waits.

What waits goes to "Waited for you" in the Inbox and to one morning digest email. Morning is when your quiet hours end, or 08:00 your time if you have none. Suggestions are ranked by value: the minutes they save, how many people wait on them, and how sure the agent is. Only the top few of each pass may notify you at all.

The budget learns once a week from what you did. If you opened most interruptions within a few hours and still ran out on two or more days, it goes up by one. If most went unopened for a day, it goes down by one. Settings > Notifications shows the number, what you used today, and the reason in plain words, for example "Last week you opened 6 of 8 interruptions within a few hours and reached your limit on 2 days, so agents may now interrupt you 6 times a day." We chose a learned number over a fixed one because a fixed number is wrong for nearly everybody, and a number you cannot see is worse.

The Decisions tab

The Inbox has a new tab, "Decisions". It shows only what needs you, "Most waited on first: who is waiting, and for how long." Approvals for your agents' tasks, questions they asked you, review requests, suggestions and mentions go in one list, and each row says who waits and since when. A blocked agent with three people behind it ranks above one review that came in an hour ago.

Under it, "Nothing to decide" gathers updates by what they are about: an incident, a project, a repository or a channel. When a group reaches three updates and goes quiet for half an hour, an agent offers to clear it. That clear is an agent write like any other, so it is in the ledger with an undo.

A few drafts arrive here too:

  • Replies to mentions. An agent drafts one to three sentences under "Your reply". "Send as you" posts it in your name. "Not this" drops it.
  • Status. "Drafted for you" holds a cycle summary for its owner when the cycle settles, a weekly check-in for a team, and your own daily or weekly summary if you want one (Settings > Profile, "Your summary"). Each is written from what happened. You edit it, then "Publish as you". A personal draft says "Only you see this until you publish it."
  • Threads. A long chat thread, or one where somebody wrote "agreed" or "ship it", can come back as a card like "This thread became 3 issues and 1 decision". Nothing is made until you accept. Then the asks go to Intake, the decision becomes a doc linked to the thread, and the agent replies in the thread to say where it all went.

When somebody is away

Under Settings > Profile, "Away" takes dates and who covers. A day before you leave, an agent drafts a handoff: your open issues, reviews asked of you, agents waiting on you, and a suggested owner for each. For an issue, that owner is your cover, then the teammate on the issue's team with the least open work, then whoever worked on it last. You change what you want and press "Hand off". If you leave without approving it, your lead gets it an hour later. When you come back, "Welcome back" lists what changed and offers to take your work back.

Asking the right person

An agent that is stuck used to ask the person who started its task. Now its question can name the files it is about, and say whether it blocks the work. Rezee then ranks who knows the first file named: share of the current lines they wrote, changes they merged, reviews they gave, questions about it they answered before, and docs that name it. Only people who can open the task are candidates.

The task shows the choice in words. In the demo workspace, a question from kobeni about src/runner/mask.ts on web#131 would read like "Asked @aki, who wrote 42% of src/runner/mask.ts and reviewed 2 changes to it." If the best person is in quiet hours and the question blocks, it goes to the next person. If it can wait, it waits for the best person, and the task says until when.

Workload goes to the person first

This part needed the most care. Rezee can see when someone has far more work in a cycle than usual: at least twice the median of their last six settled cycles, and at least three units over. It can see when somebody works in their quiet hours on three of the last fourteen days. Both are useful to know. Both could become a dashboard nobody wants to be on.

So it is off by default for the workspace and off for each person, and both have to turn it on. When it finds something, it tells you, privately, in Decisions and on your profile: "You have twice your usual load this cycle. Want me to move what can wait?" It offers only work that has not started and is not urgent, lowest priority first. The moves are agent writes with an undo. Your lead sees nothing unless you press "Share with my lead". There is no score, no comparison and no list of people anywhere in the code.

A first day that nobody had to write

A new member who joined their first team in the last week gets a first-day tour in Decisions: the projects they will touch, the people they will work with, the docs that matter and up to three good first issues. It is built only from what they can open. "Keep as a doc" saves it as a closed doc of their own. "Dismiss" removes it.

One switch to know about

Several of these drafts come from the workspace's automation agent: Inbox clears, status drafts, thread cards, handoffs, workload moves and tours. An admin picks it under Agents > Config > Patterns, in "Offer automations and next steps as". It starts as "Nobody". Until somebody picks an agent there, those parts stay silent. That is the right default for a feature about interrupting less, but the label names only automations and next steps, so it is easy to miss.

Nothing here makes an agent smarter. A model is as good or as bad as it was last week. What changed is the frame around it: what it may do without asking, what it must show you, how you take it back, and how often it may tap your shoulder. That frame is the part a team can rely on, whichever model sits inside it.