The changelog of roast rounds. Append only. One entry per roast, newest at the bottom, never edited after it is written.
Copy this file to
docs/plans/ROAST_LOG.mdin your project and delete this blockquote. It is created on the first roast — seeLOOP.md§E.
This file exists so an indefinite loop cannot cycle. Every roast reads it first: a complaint already recorded here and deliberately not queued may not be re-queued without new evidence, and a roast that produces nothing not already here stops the loop regardless of configuration.
Ran as: the journey actually performed. Which entry point, which commands, what a user was assumed to be trying to do. Be concrete enough that someone else could repeat it.
Verdict: one honest paragraph in the user's voice, written before any fixes were considered. What this is, whether it did the job, what you would tell someone considering it.
| # | complaint, in the user's voice | evidence cited | verified | falsifiable? | disposition |
|---|---|---|---|---|---|
| 1 | "..." | the command you ran → what happened |
real | yes | queued as Q3 |
| 2 | "..." | the page a user lands on | real | no | noted, not queued |
| 3 | "..." | what the critic saw | critic-mistake — actual cause | — | noted, not queued |
| 4 | "..." | what the critic saw | environment-artifact — what actually happened | — | noted, not queued |
Queued: items added to the state file, each phrased as a question with what a negative result would look like.
Noted, not queued: complaints that could not be made falsifiable, and why. Preserved so the next roast does not re-raise them, and so a later round with better tooling can pick them up.
New this roast: how many complaints do not already appear in an earlier entry.
Zero means the roast is exhausted and the loop stops, whatever indefinite
says.