{
  "title": "Review the mechanism before proposing a bench check",
  "subtitle": "Seven planning steps. CAD review and a physical check are separate gates.",
  "height": 1355,
  "width": 1000,
  "nodes": [
    {
      "id": "A",
      "kind": "note",
      "title": "Review interfaces and travel",
      "body": "Resolve interfaces before drawing geometry.",
      "x": 70,
      "y": 40,
      "origin": "human"
    },
    {
      "id": "B",
      "kind": "idea",
      "title": "Plan base and feet",
      "body": "240 × 180 × 10 mm base; four feet.",
      "x": 678,
      "y": 40,
      "origin": "human"
    },
    {
      "id": "C",
      "kind": "idea",
      "title": "Plan supports and guides",
      "body": "Two guide rods; support bores need review.",
      "x": 678,
      "y": 390,
      "origin": "human"
    },
    {
      "id": "D",
      "kind": "idea",
      "title": "Plan jaws and pads",
      "body": "Two jaws and inward pads; bushings provisional.",
      "x": 70,
      "y": 390,
      "origin": "human"
    },
    {
      "id": "E",
      "kind": "idea",
      "title": "Plan screw nut and knob",
      "body": "Manual drive; thrust and retention stay open.",
      "x": 70,
      "y": 740,
      "origin": "human"
    },
    {
      "id": "F",
      "kind": "insight",
      "title": "Separate CAD geometry review",
      "body": "BRep checks are separate from physical tests.",
      "x": 678,
      "y": 740,
      "origin": "human"
    },
    {
      "id": "G",
      "kind": "note",
      "title": "Conditional bench check proposal",
      "body": "Proposed check; method and approval stay open.",
      "x": 678,
      "y": 1090,
      "origin": "human"
    }
  ],
  "edges": [
    {
      "id": "A-B",
      "from": "A",
      "to": "B",
      "relation": "informs",
      "annotation": "Interface constraints",
      "labelX": 500,
      "labelY": 144,
      "channel": "flow",
      "fromPort": "out",
      "toPort": "in",
      "canonicalLabel": null
    },
    {
      "id": "B-C",
      "from": "B",
      "to": "C",
      "relation": "supports",
      "annotation": "Datum and mounting envelope",
      "labelX": 804,
      "labelY": 319,
      "channel": "flow",
      "fromPort": "out",
      "toPort": "in",
      "fromSide": "bottom",
      "toSide": "top",
      "canonicalLabel": null
    },
    {
      "id": "C-D",
      "from": "C",
      "to": "D",
      "relation": "requires",
      "annotation": "Guide / bushing interfaces",
      "labelX": 500,
      "labelY": 494,
      "channel": "flow",
      "fromPort": "out",
      "toPort": "in",
      "fromSide": "bottom",
      "toSide": "top",
      "canonicalLabel": null
    },
    {
      "id": "D-E",
      "from": "D",
      "to": "E",
      "relation": "informs",
      "annotation": "Jaw opening and nut position",
      "labelX": 196,
      "labelY": 669,
      "channel": "flow",
      "fromPort": "out",
      "toPort": "in",
      "fromSide": "bottom",
      "toSide": "top",
      "canonicalLabel": null
    },
    {
      "id": "E-F",
      "from": "E",
      "to": "F",
      "relation": "feeds-input",
      "annotation": "Declared CAD assumptions",
      "labelX": 500,
      "labelY": 844,
      "channel": "flow",
      "fromPort": "out",
      "toPort": "in",
      "canonicalLabel": null
    },
    {
      "id": "F-G",
      "from": "F",
      "to": "G",
      "relation": "qualifies",
      "annotation": "Geometry findings and open limits",
      "labelX": 804,
      "labelY": 1019,
      "channel": "flow",
      "fromPort": "out",
      "toPort": "in",
      "fromSide": "bottom",
      "toSide": "top",
      "canonicalLabel": null
    }
  ],
  "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": "d81adebea534fd6843de41c4fee3ad7e0870b19fb06e6aed60f2372a5819688c"
    },
    "context": {
      "path": "review-notes.md",
      "sha256": "2afddd7be30fa16a946aa9d4fa9a738eb929893451ff1c4bc5cd5c164622f0c5"
    },
    "liveInvestigationNodeCount": 3,
    "separatePresentationDiagram": true
  }
}
