Pipeline phases and editorial states
What each phase badge on a story means, and the editorial states a story moves through before delivery.
Every story in ErmisAI carries two labels that look similar and mean different things. On a feed card they sit next to each other on the right-hand side; on a review row they are two adjacent table columns.
- The pipeline phase describes production: how far the article itself has got.
- The editorial state describes the decision: what your desk has said about it.
They move independently, and they routinely disagree. A card reading Ready to compose next to In review is not a bug, and this page explains why.
The two systems side by side
| Pipeline phase | Editorial state | |
|---|---|---|
| Answers | Is there an article yet, and where is it in production? | What has the desk decided about it? |
| Set by | ErmisAI, from the state of the article | People, through Submit, Approve, Reject and Send back to compose |
| Values | Collecting, Clustering, Ready to compose, Review, Published | Draft, In review, Rejected, Published |
| On the feed | The chip in the Pipeline column, with a small live or stable dot | The badge beside it |
| Filter | All pipeline | All editorial |
Both filters live in the feed's filter bar. Both are exact-match, so choosing one narrows the list to stories carrying exactly that label.
Pipeline phases
The five labels you can select in the All pipeline filter are:
| Label | What it means | Will you see it? |
|---|---|---|
| Collecting | Source coverage is still being gathered | No |
| Clustering | Related reports are being grouped into one story | No |
| Ready to compose | The story exists and no article has been written for it yet | Yes — on every story nobody has written |
| Review | An article exists and is in, or has been through, editorial review | Yes |
| Published | An article exists and was approved | Yes |
Collecting and Clustering are unreachable
Fetching, grouping, and writing the synthesised source story all happen in one pass before a card ever appears in your feed. By the time you can see a story, that work is finished, so no story is ever labelled Collecting or Clustering. Both remain in the filter dropdown, and selecting either returns the empty state, "No stories match your current filters."
If a colleague reports "my filter shows nothing", check whether they have picked Collecting or Clustering. Those two options can never match anything.
Ready to compose is the phase that needs you
Ready to compose means exactly what it says: there is a source story, and there is no article. It is not a transitional state and it does not resolve on its own. Every story arrives with placeholder text, and only someone opening it and running compose produces the first article. Waiting produces nothing.
A story keeps this chip while the article is being written and while it sits in Draft after being saved. The chip only changes once the article enters review.
Review covers rejected articles too
Review is shown for an article that is In review and for one that was rejected. The editorial badge next to it is what distinguishes the two.
The same phase is labelled differently on different screens
This is worth knowing before you compare screens with a colleague.
| Screen | How it labels the phase |
|---|---|
| Feed card and feed filter | Collecting, Clustering, Ready to compose, Review, Published |
| Story workspace header chip | Stage: Source intake, Stage: Article synthesis, Stage: Editorial review, Stage: Published |
| Story workspace status panel | Kicker Story status, then the bare phase name — Source intake, Article synthesis, Editorial review, Published (no Stage: prefix) |
| Editorial board table, Pipeline and Editorial columns | The raw internal values, untranslated — you will see review and in_review in lower case, in every interface language |
In the workspace, the phase the feed calls Ready to compose is called Article synthesis, and both Collecting and Clustering collapse into a single Source intake label. The workspace also shows a four-stage strip — Source intake, Article synthesis, Editorial review, Published — with a single Last updated time. It is a position indicator, not a history: there are no per-event timestamps behind it.
Editorial states
Four states, and they are the same four everywhere in the product.
| State | Meaning | Set by |
|---|---|---|
| Draft | Nobody has submitted this for review | The starting state for a high-confidence story; also where Send back to compose puts an article |
| In review | Submitted and waiting for a decision | Submit for review in the story workspace, or the pipeline at the moment the story first appears |
| Rejected | A reviewer sent it back with changes | Reject on the review desk |
| Published | A reviewer approved it | Approve on the review desk |
Published is terminal, and only a person can set it
Nothing in ErmisAI publishes anything by itself. Editorial Published is written by exactly one action — a human pressing Approve on the review desk — and once written it cannot be undone. A published article cannot be edited, cannot be resubmitted, and cannot be sent back. If it is wrong after approval, that is a correction to handle in your own publishing system.
Why some stories start in Draft and others start in review
When a story first appears, ErmisAI assigns its editorial state from its own read of the source coverage:
- A story with a confidence score of 85 or above that was not flagged as sensitive starts in Draft.
- Everything else — lower confidence, or sensitive material — starts in In review, with the submission time already stamped.
That second case is deliberate but it produces the combination that confuses everyone.
A story can read Ready to compose and In review at the same time, and it will not be on the editorial board. The board only lists articles that have actually been written. A story routed to review before anyone composed it has an editorial state but no article, so there is nothing for a reviewer to open. Compose it and submit it, and it appears on the board normally.
Reading the two labels together
| Pipeline chip | Editorial badge | What it means |
|---|---|---|
| Ready to compose | Draft | Nothing written yet, or an article is saved but not submitted |
| Ready to compose | In review | Nothing written yet, and the pipeline pre-routed it to review. Not on the board |
| Review | In review | An article is written and submitted. On the board |
| Review | Rejected | An article came back from review and is editable again |
| Published | Published | Approved. Counts against your daily delivery allowance |
The article-status line on the left of each card helps, though it does not fully disambiguate: Needs first article in english (the language name renders lower-cased, and is your article language) means no article; Article ready means a saved article that is neither Published nor In review — so it covers both Draft and Rejected; Article in review means submitted; and Published article means approved.
What each state lets you do
| Draft | In review | Rejected | Published | |
|---|---|---|---|---|
| Run compose | Yes | Only if no article exists yet | No | No |
| Edit the headline or body in the story workspace | Yes | No | Yes | No |
| Edit on the review desk | — | Yes | — | — |
| Submit for review | Yes | Already submitted | Yes | No |
| Appears on the editorial board | No | Yes, once an article exists | No | No |
Two consequences are worth spelling out.
In review locks the author out of the copy, not out of the story. Trying to change the headline or body from the story workspace while an article is in review fails. Claiming an unclaimed story still works. Edits during review belong to the reviewer, who can change the headline, body, category, owner, and priority on the review desk and press Save.
A rejected article can be revised by hand, but not regenerated. Compose is only available in Draft, or while the story is still placeholder text. So after a rejection you can edit and resubmit, but you cannot ask ErmisAI to write it again. Regenerating needs Send back to compose, and the review desk only opens articles that are In review — so a reviewer must use it while the article is with them, not after rejecting it. See Editorial review and approval for how reviewers choose between the two.
The transitions
| Action | Button | Where | From | To |
|---|---|---|---|---|
| Submit | Submit for review | Story workspace, Editorial handoff panel | Draft, Rejected | In review |
| Save | Save | Review desk | In review | In review |
| Approve | Approve | Review desk | In review | Published |
| Reject | Reject | Review desk | In review | Rejected |
| Return | Send back to compose | Review desk | In review | Draft |
Submitting requires a written article. In the workspace, Submit for review on placeholder text short-circuits with "Generate the article before sending it to review."; the API's own refusal for the same case is "Generate the first article draft before submitting for review."
Anyone with a newsroom role can submit; members are limited to stories they own or that nobody has claimed, and claiming an unowned story assigns it to them. The three decisions are restricted to owners and admins. There is no separate approval permission on top of review access, so anyone who can open the board can approve — including approving their own article. A newsroom with one active member sees the note "You're the only active member of this newsroom, so you review and approve your own drafts."
Priority
Every story also carries one of three priorities: Standard, High, or Urgent. On a feed card the badge only appears when the priority is not Standard.
ErmisAI sets the initial priority once, at the moment the story appears: High when the story is flagged breaking or sensitive, Standard otherwise. Nothing ever sets Urgent automatically — it is only ever a human choice.
You change it in the Editorial routing controls, which appear both in the story workspace under Editorial handoff and on the review desk. The panel note is accurate: "Owner and priority move with the article into the review queue."
Priority does one thing. It orders the editorial board — Urgent first, then High, then Standard, with the most recently updated first within each group — and it feeds the board's Urgent / High counter. There is no deadline, no escalation, and no reminder attached to it. The board's Age column, shown in minutes since submission, is likewise informational: nothing acts on it.
Because ErmisAI treats any article published in the last 90 minutes as breaking, and breaking stories start at High, High is common on a busy feed and does not on its own mean the desk decided anything.
What these labels do not decide
- The pipeline's own "Published" is not a publication. It is a confidence reading on the source coverage, and it materialises as an ordinary editorial Draft. Only the approve action publishes.
- Neither label gates delivery. What reaches your publishing stack is an article that is both written and editorially Published, and it is subject to your plan's daily allowance. See Getting approved stories out.
- The confidence score gates nothing at all. It decides which editorial state a story starts in, and after that it is a reading for you to act on, not a control. See Confidence, sources and conflicts.
- Sensitive is not a state. It raises the initial priority to High and routes the story to In review at the start, and it is shown as a Sensitive badge on the review desk and a column and counter on the board. It adds no approver and blocks nothing. See Sensitive coverage and editorial limits.
The feed
Where both labels appear, and how to filter on them.
Editorial review and approval
The board, the four decisions, and what each one changes.
Composing and refining a story
Getting a story out of Ready to compose.
Confidence, sources and conflicts
What the signal score is built from, and what it does not prove.
Glossary
Phase versus state, and the three different things called a queue.
Troubleshooting
The messages you see when a transition is refused.
