Generated from
corpus/lines/editorial/workflows/production.yml. Do not edit by hand — runpython scripts/generate-corpus-docs.py.
corpus/lines/editorial/workflows/production.yml¶
Title / id: workflow.editorial
id: workflow.editorial
status: active
line: editorial
stages:
- id: assign
entry:
- An Editorial workstream has an audience and intended outcome.
bindings:
- inv.editorial.desk
roles:
- role.editor-in-chief
- role.desk-editor
artifacts:
- editorial.assignment
evidence:
- Desk
- angle
- audience
- format
- deadline
exit:
- A responsible author and review path are assigned.
next_stages:
- report
validation:
mode: judgment
checks:
- angle is distinct
- ownership and deadline are explicit
on_gap: gap.stage.editorial.assign
recovery:
action: remain_at_stage
preserve:
- artifacts
- evidence
- decision_log
- id: report
entry:
- Assignment and research depth are defined.
bindings:
- inv.editorial.research-depth
roles:
- role.reporter
- role.researcher
artifacts:
- editorial.source-file
evidence:
- Sources
- notes
- data
- uncertainties
- conflicts
exit:
- Material claims have attributable support or named gaps.
next_stages:
- draft
validation:
mode: judgment
checks:
- primary sources are preferred
- conflicts and missing evidence remain visible
on_gap: gap.stage.editorial.report
recovery:
action: return_to_previous_stage
preserve:
- artifacts
- evidence
- decision_log
- id: draft
entry:
- Reporting evidence and the intended structure are available.
bindings:
- inv.editorial.time-model
roles:
- role.reporter
artifacts:
- editorial.draft
evidence:
- Draft body
- citations
- disclosed assumptions
exit:
- A complete draft addresses the assignment without fabricated claims.
next_stages:
- edit
validation:
mode: judgment
checks:
- claims trace to sources
- uncertainty is expressed accurately
on_gap: gap.stage.editorial.draft
recovery:
action: return_to_previous_stage
preserve:
- artifacts
- evidence
- decision_log
- id: edit
entry:
- A complete draft and assignment are available.
bindings: []
roles:
- role.copy-editor
artifacts:
- editorial.edited-draft
evidence:
- Structural edits
- copy edits
- unresolved queries
exit:
- The piece meets structure, clarity, tone, and format requirements.
next_stages:
- fact-check
validation:
mode: judgment
checks:
- editorial queries are resolved or explicitly blocking
on_gap: gap.stage.editorial.edit
recovery:
action: return_to_previous_stage
preserve:
- artifacts
- evidence
- decision_log
- id: fact-check
entry:
- Edited draft and source file are available.
bindings: []
roles:
- role.fact-checker
artifacts:
- editorial.fact-check-log
evidence:
- Claim-by-claim source mapping
- corrections
- unresolved claims
exit:
- Every material factual claim is supported, qualified, or removed.
next_stages:
- localize
validation:
mode: deterministic
checks:
- material claims have valid sources
- prohibited fabrication checks pass
on_gap: gap.stage.editorial.fact-check
recovery:
action: return_to_previous_stage
preserve:
- artifacts
- evidence
- decision_log
- id: localize
entry:
- Source edition is fact-checked and target locales are selected.
bindings:
- inv.editorial.locales
roles:
- role.translator
artifacts:
- editorial.localized-editions
evidence:
- Authored locale files
- terminology decisions
- locale review
exit:
- Each locale preserves meaning and passes locale-specific review.
next_stages:
- stage
validation:
mode: judgment
checks:
- all selected locales exist
- links and metadata resolve
on_gap: gap.stage.editorial.localize
recovery:
action: return_to_previous_stage
preserve:
- artifacts
- evidence
- decision_log
- id: stage
entry:
- Fact-checked copy and any required locales are complete.
bindings: []
roles:
- role.copy-editor
- role.publisher
artifacts:
- editorial.staged-release
evidence:
- Rendered preview
- metadata
- links
- assets
exit:
- The staged artifact matches approved copy and passes presentation checks.
next_stages:
- publish
validation:
mode: deterministic
checks:
- render succeeds
- links, metadata, and assets validate
on_gap: gap.stage.editorial.stage
recovery:
action: return_to_previous_stage
preserve:
- artifacts
- evidence
- decision_log
- id: publish
entry:
- Staged release is approved for an exact channel and target.
bindings:
- inv.editorial.publish
roles:
- role.publisher
artifacts:
- editorial.publication-record
evidence:
- Published URL
- revision
- timestamp
- post-publish checks
exit:
- The approved revision is publicly reachable and verified.
next_stages:
- update
validation:
mode: deterministic
checks:
- published revision matches staged revision
- URL and critical assets respond
on_gap: gap.stage.editorial.publish
recovery:
action: return_to_previous_stage
preserve:
- artifacts
- evidence
- decision_log
- id: update
entry:
- A correction, expiry trigger, or material new evidence exists.
bindings: []
roles:
- role.editor-in-chief
- role.publisher
artifacts:
- editorial.update-record
evidence:
- Change rationale
- revised sources
- before/after revision
exit:
- The publication is corrected, updated, or retired with history retained.
next_stages: []
validation:
mode: judgment
checks:
- material changes are attributable
- correction visibility matches impact
on_gap: gap.stage.editorial.update
recovery:
action: return_to_previous_stage
preserve:
- artifacts
- evidence
- decision_log
schema_version: corpus-unit.v2
kind: workflow
version: 1.0.0
layer: organization
depends_on:
- id: core.stage-contract
version: ^1.0.0
- id: org.roles
version: ^1.0.0