{
  "title": "Connect the mechanical review to a staff handoff",
  "subtitle": "Six service stages. Reference reconciliation returns to the current record.",
  "height": 1095,
  "width": 1000,
  "nodes": [
    {
      "id": "A",
      "kind": "source",
      "title": "Locked contract",
      "body": "Supplied parameter contract; unchanged.",
      "x": 70,
      "y": 40,
      "origin": "human"
    },
    {
      "id": "B",
      "kind": "insight",
      "title": "Mechanical review",
      "body": "Part IDs, interfaces and open conflicts.",
      "x": 678,
      "y": 40,
      "origin": "human"
    },
    {
      "id": "C",
      "kind": "dataset",
      "title": "Setup manifest",
      "body": "Setup and geometry references for review.",
      "x": 678,
      "y": 390,
      "origin": "human"
    },
    {
      "id": "D",
      "kind": "observation",
      "title": "Local staff record",
      "body": "IndexedDB metadata with revision checks.",
      "x": 70,
      "y": 390,
      "origin": "human"
    },
    {
      "id": "E",
      "kind": "insight",
      "title": "Staff reconciliation",
      "body": "Resolve missing or changed references.",
      "x": 70,
      "y": 740,
      "origin": "human"
    },
    {
      "id": "F",
      "kind": "source",
      "title": "Handoff receipt",
      "body": "Review receipt, never permission to operate.",
      "x": 678,
      "y": 740,
      "origin": "human"
    }
  ],
  "edges": [
    {
      "id": "A-B",
      "from": "A",
      "to": "B",
      "relation": "informs",
      "annotation": "Dimensions and nominal envelopes",
      "labelX": 500,
      "labelY": 144,
      "channel": "flow",
      "fromPort": "out",
      "toPort": "in",
      "canonicalLabel": null
    },
    {
      "id": "B-C",
      "from": "B",
      "to": "C",
      "relation": "feeds-input",
      "annotation": "Part / group IDs and open limits",
      "labelX": 804,
      "labelY": 319,
      "channel": "flow",
      "fromPort": "out",
      "toPort": "in",
      "fromSide": "bottom",
      "toSide": "top",
      "canonicalLabel": null
    },
    {
      "id": "C-D",
      "from": "C",
      "to": "D",
      "relation": "feeds-input",
      "annotation": "Manifest revision and setup references",
      "labelX": 500,
      "labelY": 494,
      "channel": "flow",
      "fromPort": "out",
      "toPort": "in",
      "fromSide": "bottom",
      "toSide": "top",
      "canonicalLabel": null
    },
    {
      "id": "D-E",
      "from": "D",
      "to": "E",
      "relation": "raises-question",
      "annotation": "Reference problem · changed / missing refs",
      "labelX": 196,
      "labelY": 669,
      "channel": "flow",
      "fromPort": "out",
      "toPort": "in",
      "fromSide": "bottom",
      "toSide": "top",
      "canonicalLabel": "Reference problem"
    },
    {
      "id": "E-D",
      "from": "E",
      "to": "D",
      "relation": "informs",
      "annotation": "Staff-reconciled references",
      "labelX": 196,
      "labelY": 1015,
      "channel": "flow",
      "fromPort": "out",
      "toPort": "in",
      "fromSide": "bottom",
      "canonicalLabel": null
    },
    {
      "id": "D-F",
      "from": "D",
      "to": "F",
      "relation": "qualifies",
      "annotation": "Staff review · current record revision",
      "labelX": 500,
      "labelY": 712,
      "channel": "flow",
      "fromPort": "out",
      "toPort": "in",
      "toSide": "top",
      "canonicalLabel": "Staff review"
    }
  ],
  "provenance": {
    "authorship": "The API-authored Mermaid node names and topology are unchanged. Card roles, short context summaries, relation types, payload labels and presentation positions were authored later for the cookbook.",
    "canonical": {
      "path": "flow.mmd",
      "sha256": "5ebcda95daac33a75e0b1692d89bcadae431a529291b78b81bf971c110bf9207"
    },
    "context": {
      "path": "review-notes.md",
      "sha256": "ea38b7cecb240df6e9386b06e2449387f14599b5e1e6f0253756645c391f71ae"
    },
    "liveInvestigationNodeCount": 3,
    "separatePresentationDiagram": true
  }
}
