Generated from cat-harness/processes/content/review-narrative.bpmn by gen-processes-viz.ts — do not edit here. All processes

Narrative review

Process_NarrativeReview · advisory · 5 step(s)

Judging changed PROSE: read what the mechanical checkers flagged, decide which findings are real, then look at the two things no checker can judge — whether the editorial dependencies still hold and whether a translation still says what the source does.

You are in this process when prose changed. review-code is its sibling for code nodes and review-task is what dispatches to either, so arriving here means somebody has already decided the change is narrative.

Everything this lane produces is ADVICE. The reviewer records findings; accepting or refusing the change belongs to the editor’s lane in review-task. The separation is why a review can be thorough without being a veto.

BPMN diagram: Narrative review

How it connects

Lanes — who acts

lanerolewhat it does here
Narrative reviewernarrative-reviewerTurns mechanical matches into verdicts, not the other way round: qa-checkers-voice.ts, qa-checkers-uses.ts and translation-block-qa.ts produce candidates, and this lane is the only place a phrase-list hit becomes a wrong-register finding, an out-of-genre criterion, a stated exception, or nothing at all. House voice is adjudicated before any activated overlay is even reached, because an overlay adds to the house judgement rather than replacing it.

Steps

Every one of the 5 step(s) is documented.

steplaneskill / sub-processwhat it does
Read the sidecar findings
Task_ReadFindings
Narrative reviewercontent-reviewOpen the block’s .qa.json, not just the evidence line: register is a
property of the passage, and the sidecar quotes one line of it.
Adjudicate the voice findings
Task_AdjudicateVoice
Narrative reviewercalls Criterion adjudication
voice-editorial-review
adjudication
Three outcomes, all legitimate: the register is wrong for this genre;
the criterion does not belong in this genre and should carry profiles;
or the block is a stated exception and a reviewer entry records why.
Voice overlay review
Call_VoiceOverlay
Narrative reviewercalls Voice overlay review
voice-overlay-review
Descend into Process_VoiceReview for whichever named voices the folio has ACTIVATED — the WHO editorial style, the guideline-development register, the publication design conventions, the Milnor exposition standard. No new role is taken on: register is what this lane already judges, and a voice is a register.
Placed after the base voice adjudication because a voice OVERLAYS the house voice rather than replacing it, so the house finding has to be settled first. Its own first gateway leaves immediately when no voice is active, which is this instance’s case and the default everywhere.
Review the translation
Task_ReviewTranslation
Narrative reviewertranslation-managerCoverage, preserved terms and echoes are mechanical. A semantic round
trip needs a back-translator that has not seen the original; where none
has run, the criterion carries no verdict and that is the honest state.
Record findings as advice
Task_RecordFindings
Narrative reviewercontent-feedbackA reviewer cannot accept a change — that is the editor’s lane — so the
output is findings on the sidecar, not a commit.

Decisions

Every one of the 1 decision(s) is documented.

decisionwhat decides itbranches
Translated?
GW_Translated
Does this block have translations? yes reviews the translation too; no skips straight to the join.yes → Review the translation
no → GW_Join

folio-assistant — code under the Apache License 2.0, documentation under CC BY 3.0. Generated schema and API references are rebuilt from source on every push to main.

deployed b08c961 · 2026-10-23T23:11:09Z