{
  "meta": {
    "id": "low-single-model-0.1",
    "title": "Low Single Control Graph",
    "version": "0.1",
    "status": "working hypothesis",
    "description": "A discrete graph-rewrite model of John Smith's low single and one defensive reversal branch. It records anatomical structure, temporary controls, prerequisites, and resulting options."
  },
  "edgeTypes": {
    "anatomical": {
      "label": "anatomical chain",
      "directed": false
    },
    "reach": {
      "label": "reaches toward",
      "directed": true
    },
    "grip": {
      "label": "controls",
      "directed": true
    },
    "pressure": {
      "label": "applies pressure",
      "directed": true
    },
    "counter": {
      "label": "attacks control",
      "directed": true
    },
    "support": {
      "label": "supports on mat",
      "directed": true
    },
    "threat": {
      "label": "threatens",
      "directed": true
    }
  },
  "jointTemplate": [
    { "id": "left_forefoot", "label": "L forefoot", "piece": "d-pawn", "group": "left-leg", "x": 24, "y": 88 },
    { "id": "left_ankle", "label": "L ankle", "piece": "c-pawn", "group": "left-leg", "x": 24, "y": 72 },
    { "id": "left_knee", "label": "L knee", "piece": "b-pawn", "group": "left-leg", "x": 27, "y": 55 },
    { "id": "left_hip", "label": "L hip", "piece": "a-pawn", "group": "left-leg", "x": 34, "y": 40 },

    { "id": "right_forefoot", "label": "R forefoot", "piece": "e-pawn", "group": "right-leg", "x": 76, "y": 88 },
    { "id": "right_ankle", "label": "R ankle", "piece": "f-pawn", "group": "right-leg", "x": 76, "y": 72 },
    { "id": "right_knee", "label": "R knee", "piece": "g-pawn", "group": "right-leg", "x": 73, "y": 55 },
    { "id": "right_hip", "label": "R hip / thigh", "piece": "h-pawn", "group": "right-leg", "x": 66, "y": 40 },

    { "id": "left_palm", "label": "L palm", "piece": "b-knight", "group": "left-arm", "x": 10, "y": 35 },
    { "id": "left_elbow", "label": "L elbow", "piece": "c-bishop", "group": "left-arm", "x": 20, "y": 25 },
    { "id": "left_shoulder", "label": "L shoulder", "piece": "a-rook", "group": "left-arm", "x": 34, "y": 20 },

    { "id": "right_palm", "label": "R palm", "piece": "g-knight", "group": "right-arm", "x": 90, "y": 35 },
    { "id": "right_elbow", "label": "R elbow", "piece": "f-bishop", "group": "right-arm", "x": 80, "y": 25 },
    { "id": "right_shoulder", "label": "R shoulder", "piece": "h-rook", "group": "right-arm", "x": 66, "y": 20 },

    { "id": "head", "label": "Head / neck", "piece": "queen", "group": "center", "x": 50, "y": 7 },
    { "id": "torso", "label": "Torso / waist", "piece": "king", "group": "center", "x": 50, "y": 30 }
  ],
  "anatomicalEdges": [
    ["left_forefoot", "left_ankle"],
    ["left_ankle", "left_knee"],
    ["left_knee", "left_hip"],
    ["left_hip", "torso"],
    ["right_forefoot", "right_ankle"],
    ["right_ankle", "right_knee"],
    ["right_knee", "right_hip"],
    ["right_hip", "torso"],
    ["left_palm", "left_elbow"],
    ["left_elbow", "left_shoulder"],
    ["left_shoulder", "torso"],
    ["right_palm", "right_elbow"],
    ["right_elbow", "right_shoulder"],
    ["right_shoulder", "torso"],
    ["head", "torso"]
  ],
  "states": [
    {
      "id": "neutral",
      "name": "Distance",
      "phase": "approach",
      "summary": "Both wrestlers are free. No temporary control edge exists.",
      "status": "neutral",
      "edges": [],
      "next": [
        {
          "to": "reach_forefoot",
          "label": "Smith changes level and reaches",
          "actor": "smith",
          "preconditions": ["Defender's lead leg is reachable", "Smith has a clear penetration line"]
        }
      ]
    },
    {
      "id": "reach_forefoot",
      "name": "Reach",
      "phase": "entry",
      "summary": "Smith's right palm reaches toward the defender's left forefoot.",
      "status": "attack",
      "edges": [
        { "from": "smith.right_palm", "to": "defender.left_forefoot", "type": "reach" }
      ],
      "next": [
        {
          "to": "forefoot_control",
          "label": "Close the grip",
          "actor": "smith",
          "preconditions": ["Right palm reaches the forefoot before it withdraws"]
        },
        {
          "to": "reset",
          "label": "Defender withdraws the leg",
          "actor": "defender",
          "preconditions": ["Forefoot leaves the reachable line before control is established"]
        }
      ]
    },
    {
      "id": "forefoot_control",
      "name": "Forefoot Control",
      "phase": "entry",
      "summary": "Smith controls the forefoot. Rotation by the defender is unsafe while the knee remains torsionally constrained.",
      "status": "control",
      "edges": [
        { "from": "smith.right_palm", "to": "defender.left_forefoot", "type": "grip" }
      ],
      "constraints": [
        "Defender cannot safely rotate before weakening distal control."
      ],
      "next": [
        {
          "to": "head_pressure",
          "label": "Add head pressure",
          "actor": "smith",
          "preconditions": ["Smith keeps the forefoot grip", "Head reaches the inside leg line"]
        },
        {
          "to": "grip_attack",
          "label": "Attack the grip immediately",
          "actor": "defender",
          "preconditions": ["Defender's left palm can reach Smith's controlling hand"]
        }
      ]
    },
    {
      "id": "head_pressure",
      "name": "Head Pressure",
      "phase": "forced threat",
      "summary": "Smith combines forefoot control with head pressure inside the defender's knee. Without an effective grip defense, the fall is forced.",
      "status": "threat",
      "edges": [
        { "from": "smith.right_palm", "to": "defender.left_forefoot", "type": "grip" },
        { "from": "smith.head", "to": "defender.left_knee", "type": "pressure" },
        { "from": "smith.torso", "to": "defender.torso", "type": "threat" }
      ],
      "next": [
        {
          "to": "grip_attack",
          "label": "Defender attacks Smith's grip",
          "actor": "defender",
          "preconditions": ["Left palm remains free", "Response occurs before balance is lost"]
        },
        {
          "to": "fall",
          "label": "No effective response",
          "actor": "smith",
          "preconditions": ["Forefoot control and head pressure remain intact"]
        }
      ]
    },
    {
      "id": "grip_attack",
      "name": "Grip Attack",
      "phase": "defense",
      "summary": "The defender's left palm attacks Smith's right-hand control before attempting rotation.",
      "status": "contested",
      "edges": [
        { "from": "smith.right_palm", "to": "defender.left_forefoot", "type": "grip" },
        { "from": "smith.head", "to": "defender.left_knee", "type": "pressure" },
        { "from": "defender.left_palm", "to": "smith.right_palm", "type": "counter" }
      ],
      "next": [
        {
          "to": "grip_loosened",
          "label": "Loosen distal control",
          "actor": "defender",
          "preconditions": ["Grip attack changes Smith's hand position"]
        },
        {
          "to": "fall",
          "label": "Grip remains firm",
          "actor": "smith",
          "preconditions": ["Defender cannot remove the torsional constraint"]
        }
      ]
    },
    {
      "id": "grip_loosened",
      "name": "Grip Loosened",
      "phase": "defense",
      "summary": "Forefoot control is weakened enough to permit rotation, but Smith may retain ankle control.",
      "status": "release window",
      "edges": [
        { "from": "smith.right_palm", "to": "defender.left_ankle", "type": "grip", "strength": "partial" },
        { "from": "smith.head", "to": "defender.left_knee", "type": "pressure", "strength": "partial" },
        { "from": "defender.left_palm", "to": "smith.right_palm", "type": "counter" }
      ],
      "next": [
        {
          "to": "first_rotation",
          "label": "Swing free leg and rotate 180 degrees",
          "actor": "defender",
          "preconditions": ["Forefoot torsion has been reduced", "Right leg is free to swing"]
        },
        {
          "to": "fall",
          "label": "Miss the rotation window",
          "actor": "smith",
          "preconditions": ["Smith restores forefoot control or completes head pressure"]
        }
      ]
    },
    {
      "id": "first_rotation",
      "name": "First Rotation",
      "phase": "scramble",
      "summary": "The defender rotates, but Smith retains the ankle. Smith can seek the thigh while the defender can pressure Smith's head and rotate again.",
      "status": "race",
      "edges": [
        { "from": "smith.right_palm", "to": "defender.left_ankle", "type": "grip" },
        { "from": "smith.left_palm", "to": "defender.left_hip", "type": "reach" },
        { "from": "defender.left_hip", "to": "smith.head", "type": "pressure" }
      ],
      "next": [
        {
          "to": "thigh_control",
          "label": "Smith reaches the thigh first",
          "actor": "smith",
          "timing": "race"
        },
        {
          "to": "second_rotation",
          "label": "Defender displaces Smith's head first",
          "actor": "defender",
          "timing": "race"
        }
      ]
    },
    {
      "id": "thigh_control",
      "name": "Two-Point Leg Control",
      "phase": "finish",
      "summary": "Smith retains the ankle and adds thigh control with the free left arm.",
      "status": "forced threat",
      "edges": [
        { "from": "smith.right_palm", "to": "defender.left_ankle", "type": "grip" },
        { "from": "smith.left_palm", "to": "defender.left_hip", "type": "grip" }
      ],
      "next": [
        {
          "to": "fall",
          "label": "Complete the takedown",
          "actor": "smith",
          "preconditions": ["Defender fails to create a second rotation"]
        },
        {
          "to": "second_rotation",
          "label": "Defender still clears Smith's head",
          "actor": "defender",
          "preconditions": ["Hip pressure breaks Smith's alignment before the finish"]
        }
      ]
    },
    {
      "id": "second_rotation",
      "name": "Second Rotation",
      "phase": "counterattack",
      "summary": "The defender turns belly-down, faces Smith, and brings Smith's right ankle into reach.",
      "status": "counterattack",
      "edges": [
        { "from": "smith.right_palm", "to": "defender.left_ankle", "type": "grip", "strength": "migrating" },
        { "from": "defender.left_hip", "to": "smith.head", "type": "pressure" },
        { "from": "defender.right_palm", "to": "smith.right_ankle", "type": "reach" }
      ],
      "next": [
        {
          "to": "counter_grip",
          "label": "Defender captures Smith's ankle",
          "actor": "defender",
          "preconditions": ["Smith's right ankle remains reachable"]
        },
        {
          "to": "fall",
          "label": "Smith completes control first",
          "actor": "smith",
          "timing": "race"
        }
      ]
    },
    {
      "id": "counter_grip",
      "name": "Counter-Grip",
      "phase": "counterattack",
      "summary": "The defender controls Smith's right ankle while Smith still controls the defender's left ankle.",
      "status": "mutual control",
      "edges": [
        { "from": "smith.right_palm", "to": "defender.left_ankle", "type": "grip" },
        { "from": "defender.right_palm", "to": "smith.right_ankle", "type": "grip" }
      ],
      "next": [
        {
          "to": "stand_with_ankle",
          "label": "Stand and secure ankle at abdomen",
          "actor": "defender",
          "preconditions": ["Defender establishes enough support to rise", "Smith remains low"]
        },
        {
          "to": "reset",
          "label": "Both controls dissolve",
          "actor": "both",
          "preconditions": ["Neither wrestler preserves a useful grip"]
        }
      ]
    },
    {
      "id": "stand_with_ankle",
      "name": "Standing Counter-Control",
      "phase": "reversal",
      "summary": "The defender stands above Smith and fixes Smith's ankle against the abdomen.",
      "status": "advantage shift",
      "edges": [
        { "from": "smith.right_palm", "to": "defender.left_ankle", "type": "grip", "strength": "weakening" },
        { "from": "defender.right_palm", "to": "smith.right_ankle", "type": "grip", "strength": "secured" },
        { "from": "defender.left_palm", "to": "smith.right_ankle", "type": "grip", "strength": "secured" }
      ],
      "next": [
        {
          "to": "grip_migration",
          "label": "Rotate trapped leg outward",
          "actor": "defender",
          "preconditions": ["Smith's ankle is fixed at the abdomen", "Defender has standing support"]
        }
      ]
    },
    {
      "id": "grip_migration",
      "name": "Grip Migration",
      "phase": "reversal",
      "summary": "Outward leg rotation makes Smith's control migrate from forefoot/ankle toward the knee.",
      "status": "advantage shift",
      "edges": [
        { "from": "smith.right_palm", "to": "defender.left_knee", "type": "grip", "strength": "weak" },
        { "from": "defender.right_palm", "to": "smith.right_ankle", "type": "grip", "strength": "secured" },
        { "from": "defender.left_palm", "to": "smith.right_ankle", "type": "grip", "strength": "secured" }
      ],
      "next": [
        {
          "to": "reversal_advantage",
          "label": "Establish reversal advantage",
          "actor": "defender",
          "preconditions": ["Smith remains below", "Knee-only control cannot stop the defender's posture"]
        },
        {
          "to": "reset",
          "label": "Smith releases and disengages",
          "actor": "smith",
          "preconditions": ["Smith abandons the low position before reversal completes"]
        }
      ]
    },
    {
      "id": "reversal_advantage",
      "name": "Reversal Advantage",
      "phase": "terminal evaluation",
      "summary": "The original defender is standing with Smith's ankle secured while Smith remains low with only weak knee control.",
      "status": "defender advantage",
      "edges": [
        { "from": "smith.right_palm", "to": "defender.left_knee", "type": "grip", "strength": "weak" },
        { "from": "defender.right_palm", "to": "smith.right_ankle", "type": "grip", "strength": "secured" },
        { "from": "defender.left_palm", "to": "smith.right_ankle", "type": "grip", "strength": "secured" },
        { "from": "defender.torso", "to": "smith.torso", "type": "threat" }
      ],
      "terminal": true
    },
    {
      "id": "fall",
      "name": "Fall",
      "phase": "terminal",
      "summary": "The defender cannot restore support or complete an effective defensive transition.",
      "status": "smith scores",
      "edges": [],
      "terminal": true
    },
    {
      "id": "reset",
      "name": "Neutral Reset",
      "phase": "terminal",
      "summary": "Useful controls dissolve and the attack episode ends without a decisive score.",
      "status": "neutral",
      "edges": [],
      "terminal": true
    }
  ]
}
