# Your Immune System vs. a Cold Virus

> A process map exported from forks.world (https://forks.world). Author: Brian. Source: https://forks.world/p/cmv0h78cf0004l6060tc1op1h
> 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

- 34 steps across 3 layers
- Persona: Cold virus, Macrophage (the cleanup crew), Helper T cell (the commander), B cell (the antibody factory), Killer T cell (the assassin)
- Technology / systems: Lymph node (the war room), Bloodstream (the highway)

## 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`.

## Your Immune System vs. a Cold Virus

Lanes:
- Cold virus: person / role (id `virus`)
- Macrophage (the cleanup crew): person / role (id `mac`)
- Helper T cell (the commander): person / role (id `helper`)
- B cell (the antibody factory): person / role (id `bcell`)
- Killer T cell (the assassin): person / role (id `killer`)
- Lymph node (the war room): technology / system (id `lymph`)
- Bloodstream (the highway): technology / system (id `blood`)

Steps, in the order they run:

1. **Virus enters your nose** [start; Cold virus; id `v1`]
   - then Hijacks throat cells
2. **Hijacks throat cells** [task; Cold virus; id `v2`]
   - then Macrophage spots it?
3. **Macrophage spots it?** [decision; Macrophage (the cleanup crew); id `v3`]
   - if "Yes" go to Swallow and chop up the virus; if "No" go to Copies itself unnoticed
4. **Swallow and chop up the virus** [task; Macrophage (the cleanup crew); id `m1`]
   - then Display virus fragments on surface
5. **Display virus fragments on surface** [task; Macrophage (the cleanup crew); id `m2`]
   - then Fragments travel to lymph node
6. **Fragments travel to lymph node** [task; Lymph node (the war room); id `l1`]
   - then Inspect the fragments
7. **Inspect the fragments** [task; Helper T cell (the commander); id `h1`]
   - then Matches a T cell I have?
8. **Matches a T cell I have?** [decision; Helper T cell (the commander); id `h2`]
   - if "Yes" go to Sound the alarm: activate the troops; if "No" go to Test the next T cell type
9. **Sound the alarm: activate the troops** [task; Helper T cell (the commander); id `h3`]
   - then Mass-produce antibodies; then Hunt infected cells
10. **Mass-produce antibodies** [subprocess; B cell (the antibody factory); id `b1`], opens the detail layer "Mass-produce antibodies"
   - then Antibodies flood the blood
11. **Antibodies flood the blood** [task; Bloodstream (the highway); id `b2`]
   - then Virus cleared?
12. **Virus cleared?** [decision; Helper T cell (the commander); id `c1`]
   - if "Yes" go to Clean up the dead cells; if "No" go to Raise a fever to slow the virus
13. **Clean up the dead cells** [task; Macrophage (the cleanup crew); id `r1`]
   - then Keep memory B cells for later
14. **Keep memory B cells for later** [task; B cell (the antibody factory); id `r2`]
   - then Immunity remembered for next time
15. **Immunity remembered for next time** [end; Helper T cell (the commander); id `r3`]
16. **Raise a fever to slow the virus** [task; Bloodstream (the highway); id `c2`]
   - then Call for more B and killer T cells
17. **Call for more B and killer T cells** [task; Helper T cell (the commander); id `c3`]
   - if "Reinforce" go to Sound the alarm: activate the troops
18. **Hunt infected cells** [subprocess; Killer T cell (the assassin); id `k1`], opens the detail layer "Hunt infected cells"
   - then Virus cleared?
19. **Test the next T cell type** [task; Lymph node (the war room); id `h4`]
   - if "Try again" go to Matches a T cell I have?
20. **Copies itself unnoticed** [task; Cold virus; id `v4`]
   - then Infected cells send alarm signals
21. **Infected cells send alarm signals** [task; Bloodstream (the highway); id `v5`]
   - if "Alarm recruits macrophages" go to Macrophage spots it?

```mermaid
flowchart LR
  subgraph l_virus["Cold virus"]
    n_v1(["Virus enters your nose"])
    n_v2["Hijacks throat cells"]
    n_v4["Copies itself unnoticed"]
  end
  subgraph l_mac["Macrophage (the cleanup crew)"]
    n_v3{"Macrophage spots it?"}
    n_m1["Swallow and chop up the virus"]
    n_m2["Display virus fragments on surface"]
    n_r1["Clean up the dead cells"]
  end
  subgraph l_helper["Helper T cell (the commander)"]
    n_h1["Inspect the fragments"]
    n_h2{"Matches a T cell I have?"}
    n_h3["Sound the alarm: activate the troops"]
    n_c1{"Virus cleared?"}
    n_c3["Call for more B and killer T cells"]
    n_r3(["Immunity remembered for next time"])
  end
  subgraph l_bcell["B cell (the antibody factory)"]
    n_b1[["Mass-produce antibodies"]]
    n_r2["Keep memory B cells for later"]
  end
  subgraph l_killer["Killer T cell (the assassin)"]
    n_k1[["Hunt infected cells"]]
  end
  subgraph l_lymph["Lymph node (the war room)"]
    n_l1["Fragments travel to lymph node"]
    n_h4["Test the next T cell type"]
  end
  subgraph l_blood["Bloodstream (the highway)"]
    n_v5["Infected cells send alarm signals"]
    n_b2["Antibodies flood the blood"]
    n_c2["Raise a fever to slow the virus"]
  end
  n_v1 --> n_v2
  n_v2 --> n_v3
  n_v3 -->|"Yes"| n_m1
  n_v3 -->|"No"| n_v4
  n_v4 --> n_v5
  n_v5 -->|"Alarm recruits macrophages"| n_v3
  n_m1 --> n_m2
  n_m2 --> n_l1
  n_l1 --> n_h1
  n_h1 --> n_h2
  n_h2 -->|"Yes"| n_h3
  n_h2 -->|"No"| n_h4
  n_h4 -->|"Try again"| n_h2
  n_h3 --> n_b1
  n_h3 --> n_k1
  n_b1 --> n_b2
  n_b2 --> n_c1
  n_k1 --> n_c1
  n_c1 -->|"Yes"| n_r1
  n_c1 -->|"No"| n_c2
  n_c2 --> n_c3
  n_c3 -->|"Reinforce"| n_h3
  n_r1 --> n_r2
  n_r2 --> n_r3
```

### Mass-produce antibodies (detail of step "Mass-produce antibodies")

Lanes:
- B cell (the antibody factory): person / role (id `bc`)
- Helper T cell (the commander): person / role (id `ht`)

Steps, in the order they run:

1. **B cell grabs the virus** [start; B cell (the antibody factory); id `a1`]
   - then Helper T cell approves?
2. **Helper T cell approves?** [decision; Helper T cell (the commander); id `a2`]
   - if "Yes" go to Clone itself thousands of times; if "No" go to Wait for the green light
3. **Clone itself thousands of times** [task; B cell (the antibody factory); id `a3`]
   - then Turn into plasma cells
4. **Turn into plasma cells** [task; B cell (the antibody factory); id `a4`]
   - then Pump out 2,000 antibodies a second
5. **Pump out 2,000 antibodies a second** [task; B cell (the antibody factory); id `a5`]
   - then Antibodies released
6. **Antibodies released** [end; B cell (the antibody factory); id `a6`]
7. **Wait for the green light** [task; B cell (the antibody factory); id `a8`]
   - if "Ask again" go to Helper T cell approves?

```mermaid
flowchart LR
  subgraph l_bc["B cell (the antibody factory)"]
    n_a1(["B cell grabs the virus"])
    n_a8["Wait for the green light"]
    n_a3["Clone itself thousands of times"]
    n_a4["Turn into plasma cells"]
    n_a5["Pump out 2,000 antibodies a second"]
    n_a6(["Antibodies released"])
  end
  subgraph l_ht["Helper T cell (the commander)"]
    n_a2{"Helper T cell approves?"}
  end
  n_a1 --> n_a2
  n_a2 -->|"Yes"| n_a3
  n_a2 -->|"No"| n_a8
  n_a8 -->|"Ask again"| n_a2
  n_a3 --> n_a4
  n_a4 --> n_a5
  n_a5 --> n_a6
```

### Hunt infected cells (detail of step "Hunt infected cells")

Lanes:
- Killer T cell (the assassin): person / role (id `kc`)
- Infected cell: person / role (id `ic`)

Steps, in the order they run:

1. **Scan a nearby cell** [start; Killer T cell (the assassin); id `x1`]
   - then Shows virus fragments?
2. **Shows virus fragments?** [decision; Infected cell; id `x2`]
   - if "Yes" go to Punch holes with perforin; if "No" go to Move on to the next cell
3. **Punch holes with perforin** [task; Killer T cell (the assassin); id `x3`]
   - then Cell self-destructs cleanly
4. **Cell self-destructs cleanly** [task; Infected cell; id `x5`]
   - then Virus factory shut down
5. **Virus factory shut down** [end; Killer T cell (the assassin); id `x6`]
6. **Move on to the next cell** [task; Killer T cell (the assassin); id `x4`]
   - if "Keep patrolling" go to Scan a nearby cell

```mermaid
flowchart LR
  subgraph l_kc["Killer T cell (the assassin)"]
    n_x1(["Scan a nearby cell"])
    n_x4["Move on to the next cell"]
    n_x3["Punch holes with perforin"]
    n_x6(["Virus factory shut down"])
  end
  subgraph l_ic["Infected cell"]
    n_x2{"Shows virus fragments?"}
    n_x5["Cell self-destructs cleanly"]
  end
  n_x1 --> n_x2
  n_x2 -->|"Yes"| n_x3
  n_x2 -->|"No"| n_x4
  n_x4 -->|"Keep patrolling"| n_x1
  n_x3 --> n_x5
  n_x5 --> n_x6
```

## Full data (JSON)

```json
{
  "title": "Your Immune System vs. a Cold Virus",
  "maps": {
    "m_ab": {
      "id": "m_ab",
      "lanes": [
        {
          "id": "bc",
          "name": "B cell (the antibody factory)",
          "type": "person"
        },
        {
          "id": "ht",
          "name": "Helper T cell (the commander)",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "a1",
          "kind": "start",
          "lane": "bc",
          "next": [
            {
              "to": "a2"
            }
          ],
          "uses": [],
          "label": "B cell grabs the virus"
        },
        {
          "id": "a2",
          "kind": "decision",
          "lane": "ht",
          "next": [
            {
              "to": "a3",
              "label": "Yes"
            },
            {
              "to": "a8",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Helper T cell approves?"
        },
        {
          "id": "a8",
          "kind": "task",
          "lane": "bc",
          "next": [
            {
              "to": "a2",
              "label": "Ask again"
            }
          ],
          "uses": [],
          "label": "Wait for the green light"
        },
        {
          "id": "a3",
          "kind": "task",
          "lane": "bc",
          "next": [
            {
              "to": "a4"
            }
          ],
          "uses": [],
          "label": "Clone itself thousands of times"
        },
        {
          "id": "a4",
          "kind": "task",
          "lane": "bc",
          "next": [
            {
              "to": "a5"
            }
          ],
          "uses": [],
          "label": "Turn into plasma cells"
        },
        {
          "id": "a5",
          "kind": "task",
          "lane": "bc",
          "next": [
            {
              "to": "a6"
            }
          ],
          "uses": [],
          "label": "Pump out 2,000 antibodies a second"
        },
        {
          "id": "a6",
          "kind": "end",
          "lane": "bc",
          "next": [],
          "uses": [],
          "label": "Antibodies released"
        }
      ],
      "title": "Mass-produce antibodies",
      "parent": {
        "map": "m_root",
        "step": "b1"
      }
    },
    "m_kill": {
      "id": "m_kill",
      "lanes": [
        {
          "id": "kc",
          "name": "Killer T cell (the assassin)",
          "type": "person"
        },
        {
          "id": "ic",
          "name": "Infected cell",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "x1",
          "kind": "start",
          "lane": "kc",
          "next": [
            {
              "to": "x2"
            }
          ],
          "uses": [],
          "label": "Scan a nearby cell"
        },
        {
          "id": "x2",
          "kind": "decision",
          "lane": "ic",
          "next": [
            {
              "to": "x3",
              "label": "Yes"
            },
            {
              "to": "x4",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Shows virus fragments?"
        },
        {
          "id": "x4",
          "kind": "task",
          "lane": "kc",
          "next": [
            {
              "to": "x1",
              "label": "Keep patrolling"
            }
          ],
          "uses": [],
          "label": "Move on to the next cell"
        },
        {
          "id": "x3",
          "kind": "task",
          "lane": "kc",
          "next": [
            {
              "to": "x5"
            }
          ],
          "uses": [],
          "label": "Punch holes with perforin"
        },
        {
          "id": "x5",
          "kind": "task",
          "lane": "ic",
          "next": [
            {
              "to": "x6"
            }
          ],
          "uses": [],
          "label": "Cell self-destructs cleanly"
        },
        {
          "id": "x6",
          "kind": "end",
          "lane": "kc",
          "next": [],
          "uses": [],
          "label": "Virus factory shut down"
        }
      ],
      "title": "Hunt infected cells",
      "parent": {
        "map": "m_root",
        "step": "k1"
      }
    },
    "m_root": {
      "id": "m_root",
      "lanes": [
        {
          "id": "virus",
          "name": "Cold virus",
          "type": "person"
        },
        {
          "id": "mac",
          "name": "Macrophage (the cleanup crew)",
          "type": "person"
        },
        {
          "id": "helper",
          "name": "Helper T cell (the commander)",
          "type": "person"
        },
        {
          "id": "bcell",
          "name": "B cell (the antibody factory)",
          "type": "person"
        },
        {
          "id": "killer",
          "name": "Killer T cell (the assassin)",
          "type": "person"
        },
        {
          "id": "lymph",
          "name": "Lymph node (the war room)",
          "type": "system"
        },
        {
          "id": "blood",
          "name": "Bloodstream (the highway)",
          "type": "system"
        }
      ],
      "steps": [
        {
          "id": "v1",
          "kind": "start",
          "lane": "virus",
          "next": [
            {
              "to": "v2"
            }
          ],
          "uses": [],
          "label": "Virus enters your nose"
        },
        {
          "id": "v2",
          "kind": "task",
          "lane": "virus",
          "next": [
            {
              "to": "v3"
            }
          ],
          "uses": [],
          "label": "Hijacks throat cells"
        },
        {
          "id": "v3",
          "kind": "decision",
          "lane": "mac",
          "next": [
            {
              "to": "m1",
              "label": "Yes"
            },
            {
              "to": "v4",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Macrophage spots it?"
        },
        {
          "id": "v4",
          "kind": "task",
          "lane": "virus",
          "next": [
            {
              "to": "v5"
            }
          ],
          "uses": [],
          "label": "Copies itself unnoticed"
        },
        {
          "id": "v5",
          "kind": "task",
          "lane": "blood",
          "next": [
            {
              "to": "v3",
              "label": "Alarm recruits macrophages"
            }
          ],
          "uses": [],
          "label": "Infected cells send alarm signals"
        },
        {
          "id": "m1",
          "kind": "task",
          "lane": "mac",
          "next": [
            {
              "to": "m2"
            }
          ],
          "uses": [],
          "label": "Swallow and chop up the virus"
        },
        {
          "id": "m2",
          "kind": "task",
          "lane": "mac",
          "next": [
            {
              "to": "l1"
            }
          ],
          "uses": [],
          "label": "Display virus fragments on surface"
        },
        {
          "id": "l1",
          "kind": "task",
          "lane": "lymph",
          "next": [
            {
              "to": "h1"
            }
          ],
          "uses": [],
          "label": "Fragments travel to lymph node"
        },
        {
          "id": "h1",
          "kind": "task",
          "lane": "helper",
          "next": [
            {
              "to": "h2"
            }
          ],
          "uses": [],
          "label": "Inspect the fragments"
        },
        {
          "id": "h2",
          "kind": "decision",
          "lane": "helper",
          "next": [
            {
              "to": "h3",
              "label": "Yes"
            },
            {
              "to": "h4",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Matches a T cell I have?"
        },
        {
          "id": "h4",
          "kind": "task",
          "lane": "lymph",
          "next": [
            {
              "to": "h2",
              "label": "Try again"
            }
          ],
          "uses": [],
          "label": "Test the next T cell type"
        },
        {
          "id": "h3",
          "kind": "task",
          "lane": "helper",
          "next": [
            {
              "to": "b1"
            },
            {
              "to": "k1"
            }
          ],
          "uses": [],
          "label": "Sound the alarm: activate the troops"
        },
        {
          "id": "b1",
          "kind": "subprocess",
          "lane": "bcell",
          "next": [
            {
              "to": "b2"
            }
          ],
          "uses": [],
          "child": "m_ab",
          "label": "Mass-produce antibodies"
        },
        {
          "id": "b2",
          "kind": "task",
          "lane": "blood",
          "next": [
            {
              "to": "c1"
            }
          ],
          "uses": [],
          "label": "Antibodies flood the blood"
        },
        {
          "id": "k1",
          "kind": "subprocess",
          "lane": "killer",
          "next": [
            {
              "to": "c1"
            }
          ],
          "uses": [],
          "child": "m_kill",
          "label": "Hunt infected cells"
        },
        {
          "id": "c1",
          "kind": "decision",
          "lane": "helper",
          "next": [
            {
              "to": "r1",
              "label": "Yes"
            },
            {
              "to": "c2",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Virus cleared?"
        },
        {
          "id": "c2",
          "kind": "task",
          "lane": "blood",
          "next": [
            {
              "to": "c3"
            }
          ],
          "uses": [],
          "label": "Raise a fever to slow the virus"
        },
        {
          "id": "c3",
          "kind": "task",
          "lane": "helper",
          "next": [
            {
              "to": "h3",
              "label": "Reinforce"
            }
          ],
          "uses": [],
          "label": "Call for more B and killer T cells"
        },
        {
          "id": "r1",
          "kind": "task",
          "lane": "mac",
          "next": [
            {
              "to": "r2"
            }
          ],
          "uses": [],
          "label": "Clean up the dead cells"
        },
        {
          "id": "r2",
          "kind": "task",
          "lane": "bcell",
          "next": [
            {
              "to": "r3"
            }
          ],
          "uses": [],
          "label": "Keep memory B cells for later"
        },
        {
          "id": "r3",
          "kind": "end",
          "lane": "helper",
          "next": [],
          "uses": [],
          "label": "Immunity remembered for next time"
        }
      ],
      "title": "Your Immune System vs. a Cold Virus",
      "parent": null
    }
  }
}
```
