# Regenerating a draft

Regenerating runs the drafting pass again over the thread as it stands now, with the Knowledge, memory and directions that exist now. That is the only way a reply picks up messages that arrived while it waited, or a fact you added five minutes ago. It costs a model call and it discards whatever was there before, including your edits.

- **Status:** Available
- **Audience:** both
- **Channels:** email
- **In the app:** #/needs-you, #/inbox
- **Last verified:** 2026-09-10
- **Canonical:** https://connectbyjbrh.com/docs/email/regenerate-draft/

## The one thing editing cannot do

An existing reply is a finished artefact. It was written from the thread and the material available at the moment it was written, and nothing about it re-reads the world afterwards. Change the world — the customer sends another message, somebody uploads the specification, a direction is recorded at the contact tier — and the reply is unchanged, because it is text, not a live query.

Editing works on that text. Regenerating throws it away and asks the question again. Everything else about the two operations is a matter of taste; this is the difference that decides which one you need.

## What a fresh pass picks up

| Change | Editing picks it up? | A fresh pass does? |
|---|---|---|
| A newer message on the thread | No | Yes |
| A Knowledge source you just added | No | Yes |
| A memory recorded at any of the four tiers | No | Yes |
| A block placed on the contact | Not relevant — compliance is checked at send | Yes, and it refuses instead |
| A correction to `threads.priority` | No | It changes the queue, not this text |
| A wording you want changed | Yes, precisely | Only by luck |

The last row is the honest limit. A fresh pass is not a way to get the same reply with one sentence different: it is a different reply. If you know exactly what should change, editing gets you there and regenerating gives you a new thing to review.

## The cost

- **A model call.** Drafting again is work, and work in a customer workspace is bounded by the plan's allowances. Regenerating repeatedly on a busy morning spends the same budget that answers other people's mail.
- **Your edits.** They are not merged into the new text. Copy anything you want to keep before you start.
- **Review time.** The new reply has not been read by anyone. Treat it as an unreviewed draft, because that is what it is.
- **Nothing else.** Regenerating sends nothing, tells the recipient nothing, and does not alter the thread's history.

> **Note** Regenerating is not a fix for a reply that keeps coming out wrong in the same way. That is a missing input, and the durable answers are Knowledge (for a fact nobody supplied) or memory (for a direction nobody recorded). A second pass over the same gap produces the same gap.

## A worked decision

1. Read the top of the thread before touching the reply.
   - Result: You can see whether the newest message is the one being answered. Needs You flags a thread that has moved on, but the thread itself is the proof.
2. If the answer is stale, ask what is missing rather than regenerating straight away — a fact, a direction, or nothing.
   - Result: Adding it first means the fresh pass has it. Regenerating first means doing this twice.
3. Regenerate, then read it as if you had never seen the earlier one.
   - Result: The comparison is a trap; the question is whether this reply is right, not whether it is better than the one you discarded.
4. Approve, edit, or reject as usual.
   - Result: Nothing about regenerating changes the permission that decides whether it may leave.

## Questions

### Does regenerating notify the customer?

No. Nothing has been handed to a provider at any point, so there is no message in flight to withdraw and nothing for the recipient to notice. That is true of every held reply, for the reasons on [Held drafts](/docs/email/held-drafts/).

### Can I compare the old and new versions?

The earlier text is replaced rather than kept side by side, so copy anything you want before regenerating. The decision log records that a regeneration happened; it is a record of the action, not a comparison of the prose.

### Will it produce the same reply again?

If nothing about the inputs changed, it will produce something very close, because the inputs are what determine it. That is the signal to change an input rather than to try a third time.

## Related

- [Editing a draft before it goes](https://connectbyjbrh.com/docs/email/edit-draft/)
- [Held drafts](https://connectbyjbrh.com/docs/email/held-drafts/)
- [How a reply is drafted](https://connectbyjbrh.com/docs/email/draft-generation/)
- [Knowledge in Connect](https://connectbyjbrh.com/docs/knowledge/)
- [The daily email allowance](https://connectbyjbrh.com/docs/email/daily-allowance/)

## What this page is based on

- CHANNELS.md §1 — the daily allowance and held work
- GENERAL.md §6 — memory tiers resolved at drafting time
- `backend/app/agent.py`, `runner.py`
- `backend/app/metering.py`
