# How a news story gets verified, published and corrected

> A process map exported from forks.world (https://forks.world). Author: Brian. Source: https://forks.world/p/cmv0kpfuo000wjn066lu72ags
> It describes who does what, in what order, and with which technology. Read the plain-language sections first; the JSON at the end is the exact, complete data.

## Summary

- 25 steps across 3 layers
- Persona: The tip, Reporter, Editor, Legal, Readers
- Technology / systems: The publication

## How to read this file

- A process is made of **layers**. The main layer is the top level; any step of kind `subprocess` opens a detail layer with its own lanes and steps.
- **Lanes** are either persona (people/roles) or technology (systems). Each step belongs to one lane; `using` lists tools a person uses for that step.
- Step kinds: `start`, `task`, `decision` (its arrows carry the answer as a label), `subprocess`, `end`.

## How a news story gets verified, published and corrected

Lanes:
- The tip: person / role (id `tip`)
- Reporter: person / role (id `rep`)
- Editor: person / role (id `edit`)
- Legal: person / role (id `legal`)
- The publication: technology / system (id `pub`)
- Readers: person / role (id `readers`)

Steps, in the order they run:

1. **A tip, a document or an event** [start; The tip; id `n1`]
   - then Is the source credible?
2. **Is the source credible?** [decision; Reporter; id `n2`]
   - if "Yes" go to Verify the facts with independent sources; if "No" go to Check them out, or let it go
3. **Verify the facts with independent sources** [subprocess; Reporter; id `n3`], opens the detail layer "Verifying"
   - then Ask the people involved for comment
4. **Ask the people involved for comment** [task; Reporter; id `n4`]
   - then Write the story
5. **Write the story** [task; Reporter; id `n5`]
   - then Edit for accuracy, fairness and clarity
6. **Edit for accuracy, fairness and clarity** [task; Editor; id `n6`]
   - then Is there legal risk (defamation, privacy)?
7. **Is there legal risk (defamation, privacy)?** [decision; Legal; id `n7`]
   - if "Yes" go to Review the claims and the evidence; if "No" go to Ready to publish?
8. **Review the claims and the evidence** [task; Legal; id `n8`]
   - then Ready to publish?
9. **Ready to publish?** [decision; Editor; id `n9`]
   - if "Yes" go to Publish; if "No — hold it" go to More reporting
10. **Publish** [task; The publication; id `n10`]
   - then Readers react, share and push back
11. **Readers react, share and push back** [task; Readers; id `n11`]
   - then Does anyone find an error?
12. **Does anyone find an error?** [decision; Readers; id `n12`]
   - if "Yes" go to Correct it and say clearly what changed; if "No" go to The story stays on the record
13. **Correct it and say clearly what changed** [subprocess; Editor; id `n13`], opens the detail layer "Correcting a mistake"
   - then The story stays on the record
14. **The story stays on the record** [end; The publication; id `n14`]
15. **More reporting** [task; Reporter; id `n9a`]
   - then Verify the facts with independent sources
16. **Check them out, or let it go** [task; Reporter; id `n2a`]
   - then Is the source credible?

```mermaid
flowchart LR
  subgraph l_tip["The tip"]
    n_n1(["A tip, a document or an event"])
  end
  subgraph l_rep["Reporter"]
    n_n2{"Is the source credible?"}
    n_n2a["Check them out, or let it go"]
    n_n3[["Verify the facts with independent sources"]]
    n_n4["Ask the people involved for comment"]
    n_n5["Write the story"]
    n_n9a["More reporting"]
  end
  subgraph l_edit["Editor"]
    n_n6["Edit for accuracy, fairness and clarity"]
    n_n9{"Ready to publish?"}
    n_n13[["Correct it and say clearly what changed"]]
  end
  subgraph l_legal["Legal"]
    n_n7{"Is there legal risk (defamation, privacy)?"}
    n_n8["Review the claims and the evidence"]
  end
  subgraph l_pub["The publication"]
    n_n10["Publish"]
    n_n14(["The story stays on the record"])
  end
  subgraph l_readers["Readers"]
    n_n11["Readers react, share and push back"]
    n_n12{"Does anyone find an error?"}
  end
  n_n1 --> n_n2
  n_n2 -->|"Yes"| n_n3
  n_n2 -->|"No"| n_n2a
  n_n2a --> n_n2
  n_n3 --> n_n4
  n_n4 --> n_n5
  n_n5 --> n_n6
  n_n6 --> n_n7
  n_n7 -->|"Yes"| n_n8
  n_n7 -->|"No"| n_n9
  n_n8 --> n_n9
  n_n9 -->|"Yes"| n_n10
  n_n9 -->|"No — hold it"| n_n9a
  n_n9a --> n_n3
  n_n10 --> n_n11
  n_n11 --> n_n12
  n_n12 -->|"Yes"| n_n13
  n_n12 -->|"No"| n_n14
  n_n13 --> n_n14
```

### Verifying (detail of step "Verify the facts with independent sources")

Lanes:
- Reporter: person / role (id `rep`)

Steps, in the order they run:

1. **Find a second source independent of the first** [start; Reporter; id `v1`]
   - then Do they agree?
2. **Do they agree?** [decision; Reporter; id `v2`]
   - if "Yes" go to Check the documents and the dates; if "No" go to Find out why they differ
3. **Check the documents and the dates** [task; Reporter; id `v3`]
   - then Confirm with someone who was there
4. **Confirm with someone who was there** [end; Reporter; id `v4`]
5. **Find out why they differ** [task; Reporter; id `v2a`]
   - then Do they agree?

```mermaid
flowchart LR
  subgraph l_rep["Reporter"]
    n_v1(["Find a second source independent of the first"])
    n_v2{"Do they agree?"}
    n_v2a["Find out why they differ"]
    n_v3["Check the documents and the dates"]
    n_v4(["Confirm with someone who was there"])
  end
  n_v1 --> n_v2
  n_v2 -->|"Yes"| n_v3
  n_v2 -->|"No"| n_v2a
  n_v2a --> n_v2
  n_v3 --> n_v4
```

### Correcting a mistake (detail of step "Correct it and say clearly what changed")

Lanes:
- Editor: person / role (id `edit`)
- The publication: technology / system (id `pub`)

Steps, in the order they run:

1. **Confirm the error** [start; Editor; id `c1`]
   - then Fix the text and add a correction note
2. **Fix the text and add a correction note** [task; The publication; id `c2`]
   - then Tell people who shared the wrong version
3. **Tell people who shared the wrong version** [task; The publication; id `c3`]
   - then Review how the mistake happened
4. **Review how the mistake happened** [end; Editor; id `c4`]

```mermaid
flowchart LR
  subgraph l_edit["Editor"]
    n_c1(["Confirm the error"])
    n_c4(["Review how the mistake happened"])
  end
  subgraph l_pub["The publication"]
    n_c2["Fix the text and add a correction note"]
    n_c3["Tell people who shared the wrong version"]
  end
  n_c1 --> n_c2
  n_c2 --> n_c3
  n_c3 --> n_c4
```

## Full data (JSON)

```json
{
  "title": "How a news story gets verified, published and corrected",
  "maps": {
    "m_root": {
      "id": "m_root",
      "lanes": [
        {
          "id": "tip",
          "name": "The tip",
          "type": "person"
        },
        {
          "id": "rep",
          "name": "Reporter",
          "type": "person"
        },
        {
          "id": "edit",
          "name": "Editor",
          "type": "person"
        },
        {
          "id": "legal",
          "name": "Legal",
          "type": "person"
        },
        {
          "id": "pub",
          "name": "The publication",
          "type": "system"
        },
        {
          "id": "readers",
          "name": "Readers",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "n1",
          "kind": "start",
          "lane": "tip",
          "next": [
            {
              "to": "n2"
            }
          ],
          "uses": [],
          "label": "A tip, a document or an event"
        },
        {
          "id": "n2",
          "kind": "decision",
          "lane": "rep",
          "next": [
            {
              "to": "n3",
              "label": "Yes"
            },
            {
              "to": "n2a",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Is the source credible?"
        },
        {
          "id": "n2a",
          "kind": "task",
          "lane": "rep",
          "next": [
            {
              "to": "n2"
            }
          ],
          "uses": [],
          "label": "Check them out, or let it go"
        },
        {
          "id": "n3",
          "kind": "subprocess",
          "lane": "rep",
          "next": [
            {
              "to": "n4"
            }
          ],
          "uses": [],
          "child": "m_verify",
          "label": "Verify the facts with independent sources"
        },
        {
          "id": "n4",
          "kind": "task",
          "lane": "rep",
          "next": [
            {
              "to": "n5"
            }
          ],
          "uses": [],
          "label": "Ask the people involved for comment"
        },
        {
          "id": "n5",
          "kind": "task",
          "lane": "rep",
          "next": [
            {
              "to": "n6"
            }
          ],
          "uses": [],
          "label": "Write the story"
        },
        {
          "id": "n6",
          "kind": "task",
          "lane": "edit",
          "next": [
            {
              "to": "n7"
            }
          ],
          "uses": [],
          "label": "Edit for accuracy, fairness and clarity"
        },
        {
          "id": "n7",
          "kind": "decision",
          "lane": "legal",
          "next": [
            {
              "to": "n8",
              "label": "Yes"
            },
            {
              "to": "n9",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Is there legal risk (defamation, privacy)?"
        },
        {
          "id": "n8",
          "kind": "task",
          "lane": "legal",
          "next": [
            {
              "to": "n9"
            }
          ],
          "uses": [],
          "label": "Review the claims and the evidence"
        },
        {
          "id": "n9",
          "kind": "decision",
          "lane": "edit",
          "next": [
            {
              "to": "n10",
              "label": "Yes"
            },
            {
              "to": "n9a",
              "label": "No — hold it"
            }
          ],
          "uses": [],
          "label": "Ready to publish?"
        },
        {
          "id": "n9a",
          "kind": "task",
          "lane": "rep",
          "next": [
            {
              "to": "n3"
            }
          ],
          "uses": [],
          "label": "More reporting"
        },
        {
          "id": "n10",
          "kind": "task",
          "lane": "pub",
          "next": [
            {
              "to": "n11"
            }
          ],
          "uses": [],
          "label": "Publish"
        },
        {
          "id": "n11",
          "kind": "task",
          "lane": "readers",
          "next": [
            {
              "to": "n12"
            }
          ],
          "uses": [],
          "label": "Readers react, share and push back"
        },
        {
          "id": "n12",
          "kind": "decision",
          "lane": "readers",
          "next": [
            {
              "to": "n13",
              "label": "Yes"
            },
            {
              "to": "n14",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Does anyone find an error?"
        },
        {
          "id": "n13",
          "kind": "subprocess",
          "lane": "edit",
          "next": [
            {
              "to": "n14"
            }
          ],
          "uses": [],
          "child": "m_correct",
          "label": "Correct it and say clearly what changed"
        },
        {
          "id": "n14",
          "kind": "end",
          "lane": "pub",
          "next": [],
          "uses": [],
          "label": "The story stays on the record"
        }
      ],
      "title": "How a news story gets verified, published and corrected",
      "parent": null
    },
    "m_verify": {
      "id": "m_verify",
      "lanes": [
        {
          "id": "rep",
          "name": "Reporter",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "v1",
          "kind": "start",
          "lane": "rep",
          "next": [
            {
              "to": "v2"
            }
          ],
          "uses": [],
          "label": "Find a second source independent of the first"
        },
        {
          "id": "v2",
          "kind": "decision",
          "lane": "rep",
          "next": [
            {
              "to": "v3",
              "label": "Yes"
            },
            {
              "to": "v2a",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Do they agree?"
        },
        {
          "id": "v2a",
          "kind": "task",
          "lane": "rep",
          "next": [
            {
              "to": "v2"
            }
          ],
          "uses": [],
          "label": "Find out why they differ"
        },
        {
          "id": "v3",
          "kind": "task",
          "lane": "rep",
          "next": [
            {
              "to": "v4"
            }
          ],
          "uses": [],
          "label": "Check the documents and the dates"
        },
        {
          "id": "v4",
          "kind": "end",
          "lane": "rep",
          "next": [],
          "uses": [],
          "label": "Confirm with someone who was there"
        }
      ],
      "title": "Verifying",
      "parent": {
        "map": "m_root",
        "step": "n3"
      }
    },
    "m_correct": {
      "id": "m_correct",
      "lanes": [
        {
          "id": "edit",
          "name": "Editor",
          "type": "person"
        },
        {
          "id": "pub",
          "name": "The publication",
          "type": "system"
        }
      ],
      "steps": [
        {
          "id": "c1",
          "kind": "start",
          "lane": "edit",
          "next": [
            {
              "to": "c2"
            }
          ],
          "uses": [],
          "label": "Confirm the error"
        },
        {
          "id": "c2",
          "kind": "task",
          "lane": "pub",
          "next": [
            {
              "to": "c3"
            }
          ],
          "uses": [],
          "label": "Fix the text and add a correction note"
        },
        {
          "id": "c3",
          "kind": "task",
          "lane": "pub",
          "next": [
            {
              "to": "c4"
            }
          ],
          "uses": [],
          "label": "Tell people who shared the wrong version"
        },
        {
          "id": "c4",
          "kind": "end",
          "lane": "edit",
          "next": [],
          "uses": [],
          "label": "Review how the mistake happened"
        }
      ],
      "title": "Correcting a mistake",
      "parent": {
        "map": "m_root",
        "step": "n13"
      }
    }
  }
}
```
