{
  "service": "nexus",
  "op": "run",
  "stages": [
    {
      "stage": "intake",
      "label": "Intake",
      "block": "the one door",
      "does": "one URL or YouTube link in; nothing else to choose",
      "room_input": "{ url }",
      "next": "extract"
    },
    {
      "stage": "extract",
      "label": "Extract",
      "block": "src/kernel/extract.mjs",
      "does": "the page as fetched (or the HTML you hand in)",
      "room_input": "{ url } + { html } (offline)",
      "next": "decompose"
    },
    {
      "stage": "decompose",
      "label": "Decompose",
      "block": "src/kernel/decompose.mjs",
      "does": "the 10-dimension functional domain",
      "room_input": "an extraction (JSON)",
      "next": "package"
    },
    {
      "stage": "package",
      "label": "Package",
      "block": "src/kernel/package.mjs",
      "does": "learning-package/v2 — 8 subjects, typed envelopes",
      "room_input": "a decomposition (JSON)",
      "next": "lens"
    },
    {
      "stage": "sieve",
      "label": "Sieve",
      "block": "src/kernel/sieve.mjs",
      "does": "reversible compression by sha256",
      "room_input": "{ html }",
      "next": "graph"
    },
    {
      "stage": "graph",
      "label": "Logic Graph",
      "block": "src/kernel/logic-graph.mjs",
      "does": "why it works — provenance-ruled nodes and edges",
      "room_input": "a decomposition (JSON)",
      "next": "lens"
    },
    {
      "stage": "lens",
      "label": "Lens",
      "block": "blocks/lens-browse-and-trace.skill.md",
      "does": "what a real browser saw — Etheron System Browser 1.0 (human-run)",
      "room_input": "{ package } + trace (+ rendered)",
      "next": "score"
    },
    {
      "stage": "score",
      "label": "Scorecard v2",
      "block": "src/kernel/scorecard-v2.mjs",
      "does": "the normative read across all three layers",
      "room_input": "{ package, archetype? }",
      "next": "gate"
    },
    {
      "stage": "gate",
      "label": "GBT gate",
      "block": "src/kernel/gbt-gate.mjs",
      "does": "publish blocked below gb_visibility 0.6",
      "room_input": "{ package }",
      "next": "deposit"
    },
    {
      "stage": "deposit",
      "label": "Granary",
      "block": "src/kernel/granary.mjs",
      "does": "what the library would gain (preview; never written from here)",
      "room_input": "{ package }",
      "next": null
    }
  ]
}