{
  "revision": "2026-09-21 Rev.5",
  "source": "Cathode1_260915.L5X",
  "source_sha256": "c09af47a9d79884231d944d78b94468480f8ff8e76e778d5e5f2b1d974561a7f",
  "scope": "Bounded Lower → Raise → Hammer → Flex → Lower SFC path from the source DirectedLinks and conditions. Trial-limit failure, position inputs and Hammer completion are controlled test injections, not physical actuator or full controller emulation. Parent completion, gate rung and bypass RLL are evaluated per modeled Program scan.",
  "traces": [
    {
      "sm": 1,
      "finger": 1,
      "variant": "before",
      "enabled": false,
      "sfc": {
        "lower": "State_Lower_Finger1_001",
        "transition": "Tran_099",
        "raise": "State_raise_finger1_001",
        "lowerCondition": "(i_finger_1_down and i_finger_1_no_copper) or State_Lower_Finger1_001.DN",
        "raiseExit": {
          "name": "Tran_100",
          "condition": "i_finger_1_up AND i_flex_cyl_2_retracted"
        },
        "hammer": "State_Hammer_Trial_001",
        "hammerExit": {
          "name": "Tran_098",
          "condition": "f_hammering_complete"
        },
        "flex": "State_Flex_2",
        "flexExit": {
          "name": "Tran_023",
          "condition": "i_flex_cyl_2_extended"
        },
        "failureStep": "State_raise_finger1_001",
        "presetMs": 2500,
        "parentTransitions": [
          "Tran_073",
          "Tran_094"
        ]
      },
      "rows": [
        {
          "scan": "1. 첫 하강: 아직 Down=0",
          "sourceStep": "State_Lower_Finger1_001",
          "nextStep": "State_Lower_Finger1_001",
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": null,
          "enable": null,
          "active": null,
          "gate": false,
          "done": null
        },
        {
          "scan": "2. Down=1, No Copper=1: Raise로 전이",
          "sourceStep": "State_Lower_Finger1_001",
          "nextStep": "State_raise_finger1_001",
          "firedTransition": "Tran_099",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": true,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": null,
          "enable": null,
          "active": null,
          "gate": false,
          "done": null
        },
        {
          "scan": "3. State_raise_finger1_001: 시도 횟수 상한 도달을 시험 주입",
          "sourceStep": "State_raise_finger1_001",
          "nextStep": "State_raise_finger1_001",
          "firedTransition": null,
          "failureInjected": true,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": null,
          "enable": null,
          "active": null,
          "gate": false,
          "done": null
        },
        {
          "scan": "4. Finger Up·Flex 복귀 입력: Hammer로 전이",
          "sourceStep": "State_raise_finger1_001",
          "nextStep": "State_Hammer_Trial_001",
          "firedTransition": "Tran_100",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": true,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": true,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": null,
          "enable": null,
          "active": null,
          "gate": false,
          "done": null
        },
        {
          "scan": "5. Hammer 완료 입력: Flex로 전이",
          "sourceStep": "State_Hammer_Trial_001",
          "nextStep": "State_Flex_2",
          "firedTransition": "Tran_098",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": true,
          "hammerComplete": true,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": true,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": null,
          "enable": null,
          "active": null,
          "gate": false,
          "done": null
        },
        {
          "scan": "6. Flex 전진 입력: Lower로 재진입",
          "sourceStep": "State_Flex_2",
          "nextStep": "State_Lower_Finger1_001",
          "firedTransition": "Tran_023",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": true,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": null,
          "enable": null,
          "active": null,
          "gate": false,
          "done": null
        },
        {
          "scan": "7. Retry 재하강: Down=1",
          "sourceStep": "State_Lower_Finger1_001",
          "nextStep": "State_raise_finger1_001",
          "firedTransition": "Tran_099",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": true,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": null,
          "enable": null,
          "active": null,
          "gate": false,
          "done": null
        },
        {
          "scan": "8. 다음 Program 스캔: 상위 완료 전이 평가",
          "sourceStep": "State_raise_finger1_001",
          "nextStep": "State_raise_finger1_001",
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": null,
          "enable": null,
          "active": null,
          "gate": false,
          "done": null
        }
      ]
    },
    {
      "sm": 1,
      "finger": 1,
      "variant": "after",
      "enabled": false,
      "sfc": {
        "lower": "State_Lower_Finger1_001",
        "transition": "Tran_099",
        "raise": "State_raise_finger1_001",
        "lowerCondition": "(i_finger_1_down and f_sm1_finger1_no_copper_effective) or State_Lower_Finger1_001.DN",
        "raiseExit": {
          "name": "Tran_100",
          "condition": "i_finger_1_up AND i_flex_cyl_2_retracted"
        },
        "hammer": "State_Hammer_Trial_001",
        "hammerExit": {
          "name": "Tran_098",
          "condition": "f_hammering_complete"
        },
        "flex": "State_Flex_2",
        "flexExit": {
          "name": "Tran_023",
          "condition": "i_flex_cyl_2_extended"
        },
        "failureStep": "State_raise_finger1_001",
        "presetMs": 2500,
        "parentTransitions": [
          "Tran_073",
          "Tran_094"
        ]
      },
      "rows": [
        {
          "scan": "1. 첫 하강: 아직 Down=0",
          "sourceStep": "State_Lower_Finger1_001",
          "nextStep": "State_Lower_Finger1_001",
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": false,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "2. Down=1, No Copper=1: Raise로 전이",
          "sourceStep": "State_Lower_Finger1_001",
          "nextStep": "State_raise_finger1_001",
          "firedTransition": "Tran_099",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": true,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": false,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "3. State_raise_finger1_001: 시도 횟수 상한 도달을 시험 주입",
          "sourceStep": "State_raise_finger1_001",
          "nextStep": "State_raise_finger1_001",
          "firedTransition": null,
          "failureInjected": true,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": true,
          "enable": false,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "4. Finger Up·Flex 복귀 입력: Hammer로 전이",
          "sourceStep": "State_raise_finger1_001",
          "nextStep": "State_Hammer_Trial_001",
          "firedTransition": "Tran_100",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": true,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": true,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": false,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "5. Hammer 완료 입력: Flex로 전이",
          "sourceStep": "State_Hammer_Trial_001",
          "nextStep": "State_Flex_2",
          "firedTransition": "Tran_098",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": true,
          "hammerComplete": true,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": true,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": false,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "6. Flex 전진 입력: Lower로 재진입",
          "sourceStep": "State_Flex_2",
          "nextStep": "State_Lower_Finger1_001",
          "firedTransition": "Tran_023",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": true,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": false,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "7. Retry 재하강: Down=1",
          "sourceStep": "State_Lower_Finger1_001",
          "nextStep": "State_raise_finger1_001",
          "firedTransition": "Tran_099",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": true,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": false,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "8. 다음 Program 스캔: 상위 완료 전이 평가",
          "sourceStep": "State_raise_finger1_001",
          "nextStep": "State_raise_finger1_001",
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": false,
          "active": false,
          "gate": false,
          "done": false
        }
      ]
    },
    {
      "sm": 1,
      "finger": 1,
      "variant": "after",
      "enabled": true,
      "sfc": {
        "lower": "State_Lower_Finger1_001",
        "transition": "Tran_099",
        "raise": "State_raise_finger1_001",
        "lowerCondition": "(i_finger_1_down and f_sm1_finger1_no_copper_effective) or State_Lower_Finger1_001.DN",
        "raiseExit": {
          "name": "Tran_100",
          "condition": "i_finger_1_up AND i_flex_cyl_2_retracted"
        },
        "hammer": "State_Hammer_Trial_001",
        "hammerExit": {
          "name": "Tran_098",
          "condition": "f_hammering_complete"
        },
        "flex": "State_Flex_2",
        "flexExit": {
          "name": "Tran_023",
          "condition": "i_flex_cyl_2_extended"
        },
        "failureStep": "State_raise_finger1_001",
        "presetMs": 2500,
        "parentTransitions": [
          "Tran_073",
          "Tran_094"
        ]
      },
      "rows": [
        {
          "scan": "1. 첫 하강: 아직 Down=0",
          "sourceStep": "State_Lower_Finger1_001",
          "nextStep": "State_Lower_Finger1_001",
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "2. Down=1, No Copper=1: Raise로 전이",
          "sourceStep": "State_Lower_Finger1_001",
          "nextStep": "State_raise_finger1_001",
          "firedTransition": "Tran_099",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": true,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "3. State_raise_finger1_001: 시도 횟수 상한 도달을 시험 주입",
          "sourceStep": "State_raise_finger1_001",
          "nextStep": "State_raise_finger1_001",
          "firedTransition": null,
          "failureInjected": true,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": true,
          "enable": true,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "4. Finger Up·Flex 복귀 입력: Hammer로 전이",
          "sourceStep": "State_raise_finger1_001",
          "nextStep": "State_Hammer_Trial_001",
          "firedTransition": "Tran_100",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": false,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": true,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": true,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": true,
          "gate": false,
          "done": false
        },
        {
          "scan": "5. Hammer 완료 입력: Flex로 전이",
          "sourceStep": "State_Hammer_Trial_001",
          "nextStep": "State_Flex_2",
          "firedTransition": "Tran_098",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": false,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": true,
          "hammerComplete": true,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": true,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": true,
          "gate": false,
          "done": false
        },
        {
          "scan": "6. Flex 전진 입력: Lower로 재진입",
          "sourceStep": "State_Flex_2",
          "nextStep": "State_Lower_Finger1_001",
          "firedTransition": "Tran_023",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": false,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": true,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": true,
          "gate": false,
          "done": false
        },
        {
          "scan": "7. Retry 재하강: Down=1",
          "sourceStep": "State_Lower_Finger1_001",
          "nextStep": "State_Lower_Finger1_001",
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": false,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": true,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": true,
          "gate": false,
          "done": false
        },
        {
          "scan": "8. 다음 Program 스캔: 상위 완료 전이 평가",
          "sourceStep": "State_Lower_Finger1_001",
          "nextStep": null,
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": false,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": true,
          "separated": true,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": true,
          "gate": false,
          "done": false
        },
        {
          "scan": "9. Gate 양쪽 센서 도착",
          "sourceStep": null,
          "nextStep": null,
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": false,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": true,
          "separated": true,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": true,
          "gate": true,
          "done": false
        },
        {
          "scan": "10. 다음 스캔: Gate 신호로 우회 종료",
          "sourceStep": null,
          "nextStep": null,
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": true,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": false,
          "gate": false,
          "done": true
        }
      ]
    },
    {
      "sm": 1,
      "finger": 2,
      "variant": "before",
      "enabled": false,
      "sfc": {
        "lower": "State_Lower_Finger_001",
        "transition": "Tran_103",
        "raise": "State_raise_finger_001",
        "lowerCondition": "(i_finger_2_down and i_finger_2_no_copper) or State_Lower_Finger_001.DN",
        "raiseExit": {
          "name": "Tran_104",
          "condition": "i_finger_2_up AND i_flex_cyl_1_retracted"
        },
        "hammer": "State_Hammer_Trial_002",
        "hammerExit": {
          "name": "Tran_105",
          "condition": "f_hammering_complete"
        },
        "flex": "State_Flex_1",
        "flexExit": {
          "name": "Tran_001",
          "condition": "i_flex_cyl_1_extended"
        },
        "failureStep": "State_raise_finger_001",
        "presetMs": 2500,
        "parentTransitions": [
          "Tran_083",
          "Tran_097"
        ]
      },
      "rows": [
        {
          "scan": "1. 첫 하강: 아직 Down=0",
          "sourceStep": "State_Lower_Finger_001",
          "nextStep": "State_Lower_Finger_001",
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": null,
          "enable": null,
          "active": null,
          "gate": false,
          "done": null
        },
        {
          "scan": "2. Down=1, No Copper=1: Raise로 전이",
          "sourceStep": "State_Lower_Finger_001",
          "nextStep": "State_raise_finger_001",
          "firedTransition": "Tran_103",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": true,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": null,
          "enable": null,
          "active": null,
          "gate": false,
          "done": null
        },
        {
          "scan": "3. State_raise_finger_001: 시도 횟수 상한 도달을 시험 주입",
          "sourceStep": "State_raise_finger_001",
          "nextStep": "State_raise_finger_001",
          "firedTransition": null,
          "failureInjected": true,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": null,
          "enable": null,
          "active": null,
          "gate": false,
          "done": null
        },
        {
          "scan": "4. Finger Up·Flex 복귀 입력: Hammer로 전이",
          "sourceStep": "State_raise_finger_001",
          "nextStep": "State_Hammer_Trial_002",
          "firedTransition": "Tran_104",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": true,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": true,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": null,
          "enable": null,
          "active": null,
          "gate": false,
          "done": null
        },
        {
          "scan": "5. Hammer 완료 입력: Flex로 전이",
          "sourceStep": "State_Hammer_Trial_002",
          "nextStep": "State_Flex_1",
          "firedTransition": "Tran_105",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": true,
          "hammerComplete": true,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": true,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": null,
          "enable": null,
          "active": null,
          "gate": false,
          "done": null
        },
        {
          "scan": "6. Flex 전진 입력: Lower로 재진입",
          "sourceStep": "State_Flex_1",
          "nextStep": "State_Lower_Finger_001",
          "firedTransition": "Tran_001",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": true,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": null,
          "enable": null,
          "active": null,
          "gate": false,
          "done": null
        },
        {
          "scan": "7. Retry 재하강: Down=1",
          "sourceStep": "State_Lower_Finger_001",
          "nextStep": "State_raise_finger_001",
          "firedTransition": "Tran_103",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": true,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": null,
          "enable": null,
          "active": null,
          "gate": false,
          "done": null
        },
        {
          "scan": "8. 다음 Program 스캔: 상위 완료 전이 평가",
          "sourceStep": "State_raise_finger_001",
          "nextStep": "State_raise_finger_001",
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": null,
          "enable": null,
          "active": null,
          "gate": false,
          "done": null
        }
      ]
    },
    {
      "sm": 1,
      "finger": 2,
      "variant": "after",
      "enabled": false,
      "sfc": {
        "lower": "State_Lower_Finger_001",
        "transition": "Tran_103",
        "raise": "State_raise_finger_001",
        "lowerCondition": "(i_finger_2_down and f_sm1_finger2_no_copper_effective) or State_Lower_Finger_001.DN",
        "raiseExit": {
          "name": "Tran_104",
          "condition": "i_finger_2_up AND i_flex_cyl_1_retracted"
        },
        "hammer": "State_Hammer_Trial_002",
        "hammerExit": {
          "name": "Tran_105",
          "condition": "f_hammering_complete"
        },
        "flex": "State_Flex_1",
        "flexExit": {
          "name": "Tran_001",
          "condition": "i_flex_cyl_1_extended"
        },
        "failureStep": "State_raise_finger_001",
        "presetMs": 2500,
        "parentTransitions": [
          "Tran_083",
          "Tran_097"
        ]
      },
      "rows": [
        {
          "scan": "1. 첫 하강: 아직 Down=0",
          "sourceStep": "State_Lower_Finger_001",
          "nextStep": "State_Lower_Finger_001",
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": false,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "2. Down=1, No Copper=1: Raise로 전이",
          "sourceStep": "State_Lower_Finger_001",
          "nextStep": "State_raise_finger_001",
          "firedTransition": "Tran_103",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": true,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": false,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "3. State_raise_finger_001: 시도 횟수 상한 도달을 시험 주입",
          "sourceStep": "State_raise_finger_001",
          "nextStep": "State_raise_finger_001",
          "firedTransition": null,
          "failureInjected": true,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": true,
          "enable": false,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "4. Finger Up·Flex 복귀 입력: Hammer로 전이",
          "sourceStep": "State_raise_finger_001",
          "nextStep": "State_Hammer_Trial_002",
          "firedTransition": "Tran_104",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": true,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": true,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": false,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "5. Hammer 완료 입력: Flex로 전이",
          "sourceStep": "State_Hammer_Trial_002",
          "nextStep": "State_Flex_1",
          "firedTransition": "Tran_105",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": true,
          "hammerComplete": true,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": true,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": false,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "6. Flex 전진 입력: Lower로 재진입",
          "sourceStep": "State_Flex_1",
          "nextStep": "State_Lower_Finger_001",
          "firedTransition": "Tran_001",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": true,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": false,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "7. Retry 재하강: Down=1",
          "sourceStep": "State_Lower_Finger_001",
          "nextStep": "State_raise_finger_001",
          "firedTransition": "Tran_103",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": true,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": false,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "8. 다음 Program 스캔: 상위 완료 전이 평가",
          "sourceStep": "State_raise_finger_001",
          "nextStep": "State_raise_finger_001",
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": false,
          "active": false,
          "gate": false,
          "done": false
        }
      ]
    },
    {
      "sm": 1,
      "finger": 2,
      "variant": "after",
      "enabled": true,
      "sfc": {
        "lower": "State_Lower_Finger_001",
        "transition": "Tran_103",
        "raise": "State_raise_finger_001",
        "lowerCondition": "(i_finger_2_down and f_sm1_finger2_no_copper_effective) or State_Lower_Finger_001.DN",
        "raiseExit": {
          "name": "Tran_104",
          "condition": "i_finger_2_up AND i_flex_cyl_1_retracted"
        },
        "hammer": "State_Hammer_Trial_002",
        "hammerExit": {
          "name": "Tran_105",
          "condition": "f_hammering_complete"
        },
        "flex": "State_Flex_1",
        "flexExit": {
          "name": "Tran_001",
          "condition": "i_flex_cyl_1_extended"
        },
        "failureStep": "State_raise_finger_001",
        "presetMs": 2500,
        "parentTransitions": [
          "Tran_083",
          "Tran_097"
        ]
      },
      "rows": [
        {
          "scan": "1. 첫 하강: 아직 Down=0",
          "sourceStep": "State_Lower_Finger_001",
          "nextStep": "State_Lower_Finger_001",
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "2. Down=1, No Copper=1: Raise로 전이",
          "sourceStep": "State_Lower_Finger_001",
          "nextStep": "State_raise_finger_001",
          "firedTransition": "Tran_103",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": true,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "3. State_raise_finger_001: 시도 횟수 상한 도달을 시험 주입",
          "sourceStep": "State_raise_finger_001",
          "nextStep": "State_raise_finger_001",
          "firedTransition": null,
          "failureInjected": true,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": true,
          "enable": true,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "4. Finger Up·Flex 복귀 입력: Hammer로 전이",
          "sourceStep": "State_raise_finger_001",
          "nextStep": "State_Hammer_Trial_002",
          "firedTransition": "Tran_104",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": false,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": true,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": true,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": true,
          "gate": false,
          "done": false
        },
        {
          "scan": "5. Hammer 완료 입력: Flex로 전이",
          "sourceStep": "State_Hammer_Trial_002",
          "nextStep": "State_Flex_1",
          "firedTransition": "Tran_105",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": false,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": true,
          "hammerComplete": true,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": true,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": true,
          "gate": false,
          "done": false
        },
        {
          "scan": "6. Flex 전진 입력: Lower로 재진입",
          "sourceStep": "State_Flex_1",
          "nextStep": "State_Lower_Finger_001",
          "firedTransition": "Tran_001",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": false,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": true,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": true,
          "gate": false,
          "done": false
        },
        {
          "scan": "7. Retry 재하강: Down=1",
          "sourceStep": "State_Lower_Finger_001",
          "nextStep": "State_Lower_Finger_001",
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": false,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": true,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": true,
          "gate": false,
          "done": false
        },
        {
          "scan": "8. 다음 Program 스캔: 상위 완료 전이 평가",
          "sourceStep": "State_Lower_Finger_001",
          "nextStep": null,
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": false,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": true,
          "separated": true,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": true,
          "gate": false,
          "done": false
        },
        {
          "scan": "9. Gate 양쪽 센서 도착",
          "sourceStep": null,
          "nextStep": null,
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": false,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": true,
          "separated": true,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": true,
          "gate": true,
          "done": false
        },
        {
          "scan": "10. 다음 스캔: Gate 신호로 우회 종료",
          "sourceStep": null,
          "nextStep": null,
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": true,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": false,
          "gate": false,
          "done": true
        }
      ]
    },
    {
      "sm": 2,
      "finger": 1,
      "variant": "before",
      "enabled": false,
      "sfc": {
        "lower": "State_Lower_Finger1_003",
        "transition": "Tran_155",
        "raise": "State_raise_finger1_003",
        "lowerCondition": "(i_finger_1_down and i_finger_1_no_copper) or State_Lower_Finger1_003.DN",
        "raiseExit": {
          "name": "Tran_154",
          "condition": "i_finger_1_up AND i_flex_cyl_2_retracted"
        },
        "hammer": "State_Hammer_Trial_004",
        "hammerExit": {
          "name": "Tran_156",
          "condition": "f_hammering_complete"
        },
        "flex": "State_Flex_2",
        "flexExit": {
          "name": "Tran_023",
          "condition": "i_flex_cyl_2_extended"
        },
        "failureStep": "State_raise_finger1_003",
        "presetMs": 2000,
        "parentTransitions": [
          "Tran_142",
          "Tran_151"
        ]
      },
      "rows": [
        {
          "scan": "1. 첫 하강: 아직 Down=0",
          "sourceStep": "State_Lower_Finger1_003",
          "nextStep": "State_Lower_Finger1_003",
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": null,
          "enable": null,
          "active": null,
          "gate": false,
          "done": null
        },
        {
          "scan": "2. Down=1, No Copper=1: Raise로 전이",
          "sourceStep": "State_Lower_Finger1_003",
          "nextStep": "State_raise_finger1_003",
          "firedTransition": "Tran_155",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": true,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": null,
          "enable": null,
          "active": null,
          "gate": false,
          "done": null
        },
        {
          "scan": "3. State_raise_finger1_003: 시도 횟수 상한 도달을 시험 주입",
          "sourceStep": "State_raise_finger1_003",
          "nextStep": "State_raise_finger1_003",
          "firedTransition": null,
          "failureInjected": true,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": null,
          "enable": null,
          "active": null,
          "gate": false,
          "done": null
        },
        {
          "scan": "4. Finger Up·Flex 복귀 입력: Hammer로 전이",
          "sourceStep": "State_raise_finger1_003",
          "nextStep": "State_Hammer_Trial_004",
          "firedTransition": "Tran_154",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": true,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": true,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": null,
          "enable": null,
          "active": null,
          "gate": false,
          "done": null
        },
        {
          "scan": "5. Hammer 완료 입력: Flex로 전이",
          "sourceStep": "State_Hammer_Trial_004",
          "nextStep": "State_Flex_2",
          "firedTransition": "Tran_156",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": true,
          "hammerComplete": true,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": true,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": null,
          "enable": null,
          "active": null,
          "gate": false,
          "done": null
        },
        {
          "scan": "6. Flex 전진 입력: Lower로 재진입",
          "sourceStep": "State_Flex_2",
          "nextStep": "State_Lower_Finger1_003",
          "firedTransition": "Tran_023",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": true,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": null,
          "enable": null,
          "active": null,
          "gate": false,
          "done": null
        },
        {
          "scan": "7. Retry 재하강: Down=1",
          "sourceStep": "State_Lower_Finger1_003",
          "nextStep": "State_raise_finger1_003",
          "firedTransition": "Tran_155",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": true,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": null,
          "enable": null,
          "active": null,
          "gate": false,
          "done": null
        },
        {
          "scan": "8. 다음 Program 스캔: 상위 완료 전이 평가",
          "sourceStep": "State_raise_finger1_003",
          "nextStep": "State_raise_finger1_003",
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": null,
          "enable": null,
          "active": null,
          "gate": false,
          "done": null
        }
      ]
    },
    {
      "sm": 2,
      "finger": 1,
      "variant": "after",
      "enabled": false,
      "sfc": {
        "lower": "State_Lower_Finger1_003",
        "transition": "Tran_155",
        "raise": "State_raise_finger1_003",
        "lowerCondition": "(i_finger_1_down and f_sm2_finger1_no_copper_effective) or State_Lower_Finger1_003.DN",
        "raiseExit": {
          "name": "Tran_154",
          "condition": "i_finger_1_up AND i_flex_cyl_2_retracted"
        },
        "hammer": "State_Hammer_Trial_004",
        "hammerExit": {
          "name": "Tran_156",
          "condition": "f_hammering_complete"
        },
        "flex": "State_Flex_2",
        "flexExit": {
          "name": "Tran_023",
          "condition": "i_flex_cyl_2_extended"
        },
        "failureStep": "State_raise_finger1_003",
        "presetMs": 2000,
        "parentTransitions": [
          "Tran_142",
          "Tran_151"
        ]
      },
      "rows": [
        {
          "scan": "1. 첫 하강: 아직 Down=0",
          "sourceStep": "State_Lower_Finger1_003",
          "nextStep": "State_Lower_Finger1_003",
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": false,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "2. Down=1, No Copper=1: Raise로 전이",
          "sourceStep": "State_Lower_Finger1_003",
          "nextStep": "State_raise_finger1_003",
          "firedTransition": "Tran_155",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": true,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": false,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "3. State_raise_finger1_003: 시도 횟수 상한 도달을 시험 주입",
          "sourceStep": "State_raise_finger1_003",
          "nextStep": "State_raise_finger1_003",
          "firedTransition": null,
          "failureInjected": true,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": true,
          "enable": false,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "4. Finger Up·Flex 복귀 입력: Hammer로 전이",
          "sourceStep": "State_raise_finger1_003",
          "nextStep": "State_Hammer_Trial_004",
          "firedTransition": "Tran_154",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": true,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": true,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": false,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "5. Hammer 완료 입력: Flex로 전이",
          "sourceStep": "State_Hammer_Trial_004",
          "nextStep": "State_Flex_2",
          "firedTransition": "Tran_156",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": true,
          "hammerComplete": true,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": true,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": false,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "6. Flex 전진 입력: Lower로 재진입",
          "sourceStep": "State_Flex_2",
          "nextStep": "State_Lower_Finger1_003",
          "firedTransition": "Tran_023",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": true,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": false,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "7. Retry 재하강: Down=1",
          "sourceStep": "State_Lower_Finger1_003",
          "nextStep": "State_raise_finger1_003",
          "firedTransition": "Tran_155",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": true,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": false,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "8. 다음 Program 스캔: 상위 완료 전이 평가",
          "sourceStep": "State_raise_finger1_003",
          "nextStep": "State_raise_finger1_003",
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": false,
          "active": false,
          "gate": false,
          "done": false
        }
      ]
    },
    {
      "sm": 2,
      "finger": 1,
      "variant": "after",
      "enabled": true,
      "sfc": {
        "lower": "State_Lower_Finger1_003",
        "transition": "Tran_155",
        "raise": "State_raise_finger1_003",
        "lowerCondition": "(i_finger_1_down and f_sm2_finger1_no_copper_effective) or State_Lower_Finger1_003.DN",
        "raiseExit": {
          "name": "Tran_154",
          "condition": "i_finger_1_up AND i_flex_cyl_2_retracted"
        },
        "hammer": "State_Hammer_Trial_004",
        "hammerExit": {
          "name": "Tran_156",
          "condition": "f_hammering_complete"
        },
        "flex": "State_Flex_2",
        "flexExit": {
          "name": "Tran_023",
          "condition": "i_flex_cyl_2_extended"
        },
        "failureStep": "State_raise_finger1_003",
        "presetMs": 2000,
        "parentTransitions": [
          "Tran_142",
          "Tran_151"
        ]
      },
      "rows": [
        {
          "scan": "1. 첫 하강: 아직 Down=0",
          "sourceStep": "State_Lower_Finger1_003",
          "nextStep": "State_Lower_Finger1_003",
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "2. Down=1, No Copper=1: Raise로 전이",
          "sourceStep": "State_Lower_Finger1_003",
          "nextStep": "State_raise_finger1_003",
          "firedTransition": "Tran_155",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": true,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "3. State_raise_finger1_003: 시도 횟수 상한 도달을 시험 주입",
          "sourceStep": "State_raise_finger1_003",
          "nextStep": "State_raise_finger1_003",
          "firedTransition": null,
          "failureInjected": true,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": true,
          "enable": true,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "4. Finger Up·Flex 복귀 입력: Hammer로 전이",
          "sourceStep": "State_raise_finger1_003",
          "nextStep": "State_Hammer_Trial_004",
          "firedTransition": "Tran_154",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": false,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": true,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": true,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": true,
          "gate": false,
          "done": false
        },
        {
          "scan": "5. Hammer 완료 입력: Flex로 전이",
          "sourceStep": "State_Hammer_Trial_004",
          "nextStep": "State_Flex_2",
          "firedTransition": "Tran_156",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": false,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": true,
          "hammerComplete": true,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": true,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": true,
          "gate": false,
          "done": false
        },
        {
          "scan": "6. Flex 전진 입력: Lower로 재진입",
          "sourceStep": "State_Flex_2",
          "nextStep": "State_Lower_Finger1_003",
          "firedTransition": "Tran_023",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": false,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": true,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": true,
          "gate": false,
          "done": false
        },
        {
          "scan": "7. Retry 재하강: Down=1",
          "sourceStep": "State_Lower_Finger1_003",
          "nextStep": "State_Lower_Finger1_003",
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": false,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": true,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": true,
          "gate": false,
          "done": false
        },
        {
          "scan": "8. 다음 Program 스캔: 상위 완료 전이 평가",
          "sourceStep": "State_Lower_Finger1_003",
          "nextStep": null,
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": false,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": true,
          "separated": true,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": true,
          "gate": false,
          "done": false
        },
        {
          "scan": "9. Gate 양쪽 센서 도착",
          "sourceStep": null,
          "nextStep": null,
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": false,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": true,
          "separated": true,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": true,
          "gate": true,
          "done": false
        },
        {
          "scan": "10. 다음 스캔: Gate 신호로 우회 종료",
          "sourceStep": null,
          "nextStep": null,
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": true,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": false,
          "gate": false,
          "done": true
        }
      ]
    },
    {
      "sm": 2,
      "finger": 2,
      "variant": "before",
      "enabled": false,
      "sfc": {
        "lower": "State_Lower_Finger_003",
        "transition": "Tran_160",
        "raise": "State_raise_finger_003",
        "lowerCondition": "(i_finger_2_down and i_finger_2_no_copper) or State_Lower_Finger_003.DN",
        "raiseExit": {
          "name": "Tran_157",
          "condition": "i_finger_2_up AND i_flex_cyl_1_retracted"
        },
        "hammer": "State_Hammer_Trial_005",
        "hammerExit": {
          "name": "Tran_159",
          "condition": "f_hammering_complete"
        },
        "flex": "State_Flex_1",
        "flexExit": {
          "name": "Tran_001",
          "condition": "i_flex_cyl_1_extended"
        },
        "failureStep": "State_raise_finger_003",
        "presetMs": 2000,
        "parentTransitions": [
          "Tran_124",
          "Tran_129"
        ]
      },
      "rows": [
        {
          "scan": "1. 첫 하강: 아직 Down=0",
          "sourceStep": "State_Lower_Finger_003",
          "nextStep": "State_Lower_Finger_003",
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": null,
          "enable": null,
          "active": null,
          "gate": false,
          "done": null
        },
        {
          "scan": "2. Down=1, No Copper=1: Raise로 전이",
          "sourceStep": "State_Lower_Finger_003",
          "nextStep": "State_raise_finger_003",
          "firedTransition": "Tran_160",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": true,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": null,
          "enable": null,
          "active": null,
          "gate": false,
          "done": null
        },
        {
          "scan": "3. State_raise_finger_003: 시도 횟수 상한 도달을 시험 주입",
          "sourceStep": "State_raise_finger_003",
          "nextStep": "State_raise_finger_003",
          "firedTransition": null,
          "failureInjected": true,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": null,
          "enable": null,
          "active": null,
          "gate": false,
          "done": null
        },
        {
          "scan": "4. Finger Up·Flex 복귀 입력: Hammer로 전이",
          "sourceStep": "State_raise_finger_003",
          "nextStep": "State_Hammer_Trial_005",
          "firedTransition": "Tran_157",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": true,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": true,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": null,
          "enable": null,
          "active": null,
          "gate": false,
          "done": null
        },
        {
          "scan": "5. Hammer 완료 입력: Flex로 전이",
          "sourceStep": "State_Hammer_Trial_005",
          "nextStep": "State_Flex_1",
          "firedTransition": "Tran_159",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": true,
          "hammerComplete": true,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": true,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": null,
          "enable": null,
          "active": null,
          "gate": false,
          "done": null
        },
        {
          "scan": "6. Flex 전진 입력: Lower로 재진입",
          "sourceStep": "State_Flex_1",
          "nextStep": "State_Lower_Finger_003",
          "firedTransition": "Tran_001",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": true,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": null,
          "enable": null,
          "active": null,
          "gate": false,
          "done": null
        },
        {
          "scan": "7. Retry 재하강: Down=1",
          "sourceStep": "State_Lower_Finger_003",
          "nextStep": "State_raise_finger_003",
          "firedTransition": "Tran_160",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": true,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": null,
          "enable": null,
          "active": null,
          "gate": false,
          "done": null
        },
        {
          "scan": "8. 다음 Program 스캔: 상위 완료 전이 평가",
          "sourceStep": "State_raise_finger_003",
          "nextStep": "State_raise_finger_003",
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": null,
          "enable": null,
          "active": null,
          "gate": false,
          "done": null
        }
      ]
    },
    {
      "sm": 2,
      "finger": 2,
      "variant": "after",
      "enabled": false,
      "sfc": {
        "lower": "State_Lower_Finger_003",
        "transition": "Tran_160",
        "raise": "State_raise_finger_003",
        "lowerCondition": "(i_finger_2_down and f_sm2_finger2_no_copper_effective) or State_Lower_Finger_003.DN",
        "raiseExit": {
          "name": "Tran_157",
          "condition": "i_finger_2_up AND i_flex_cyl_1_retracted"
        },
        "hammer": "State_Hammer_Trial_005",
        "hammerExit": {
          "name": "Tran_159",
          "condition": "f_hammering_complete"
        },
        "flex": "State_Flex_1",
        "flexExit": {
          "name": "Tran_001",
          "condition": "i_flex_cyl_1_extended"
        },
        "failureStep": "State_raise_finger_003",
        "presetMs": 2000,
        "parentTransitions": [
          "Tran_124",
          "Tran_129"
        ]
      },
      "rows": [
        {
          "scan": "1. 첫 하강: 아직 Down=0",
          "sourceStep": "State_Lower_Finger_003",
          "nextStep": "State_Lower_Finger_003",
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": false,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "2. Down=1, No Copper=1: Raise로 전이",
          "sourceStep": "State_Lower_Finger_003",
          "nextStep": "State_raise_finger_003",
          "firedTransition": "Tran_160",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": true,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": false,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "3. State_raise_finger_003: 시도 횟수 상한 도달을 시험 주입",
          "sourceStep": "State_raise_finger_003",
          "nextStep": "State_raise_finger_003",
          "firedTransition": null,
          "failureInjected": true,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": true,
          "enable": false,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "4. Finger Up·Flex 복귀 입력: Hammer로 전이",
          "sourceStep": "State_raise_finger_003",
          "nextStep": "State_Hammer_Trial_005",
          "firedTransition": "Tran_157",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": true,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": true,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": false,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "5. Hammer 완료 입력: Flex로 전이",
          "sourceStep": "State_Hammer_Trial_005",
          "nextStep": "State_Flex_1",
          "firedTransition": "Tran_159",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": true,
          "hammerComplete": true,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": true,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": false,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "6. Flex 전진 입력: Lower로 재진입",
          "sourceStep": "State_Flex_1",
          "nextStep": "State_Lower_Finger_003",
          "firedTransition": "Tran_001",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": true,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": false,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "7. Retry 재하강: Down=1",
          "sourceStep": "State_Lower_Finger_003",
          "nextStep": "State_raise_finger_003",
          "firedTransition": "Tran_160",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": true,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": false,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "8. 다음 Program 스캔: 상위 완료 전이 평가",
          "sourceStep": "State_raise_finger_003",
          "nextStep": "State_raise_finger_003",
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": false,
          "active": false,
          "gate": false,
          "done": false
        }
      ]
    },
    {
      "sm": 2,
      "finger": 2,
      "variant": "after",
      "enabled": true,
      "sfc": {
        "lower": "State_Lower_Finger_003",
        "transition": "Tran_160",
        "raise": "State_raise_finger_003",
        "lowerCondition": "(i_finger_2_down and f_sm2_finger2_no_copper_effective) or State_Lower_Finger_003.DN",
        "raiseExit": {
          "name": "Tran_157",
          "condition": "i_finger_2_up AND i_flex_cyl_1_retracted"
        },
        "hammer": "State_Hammer_Trial_005",
        "hammerExit": {
          "name": "Tran_159",
          "condition": "f_hammering_complete"
        },
        "flex": "State_Flex_1",
        "flexExit": {
          "name": "Tran_001",
          "condition": "i_flex_cyl_1_extended"
        },
        "failureStep": "State_raise_finger_003",
        "presetMs": 2000,
        "parentTransitions": [
          "Tran_124",
          "Tran_129"
        ]
      },
      "rows": [
        {
          "scan": "1. 첫 하강: 아직 Down=0",
          "sourceStep": "State_Lower_Finger_003",
          "nextStep": "State_Lower_Finger_003",
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "2. Down=1, No Copper=1: Raise로 전이",
          "sourceStep": "State_Lower_Finger_003",
          "nextStep": "State_raise_finger_003",
          "firedTransition": "Tran_160",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": true,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "3. State_raise_finger_003: 시도 횟수 상한 도달을 시험 주입",
          "sourceStep": "State_raise_finger_003",
          "nextStep": "State_raise_finger_003",
          "firedTransition": null,
          "failureInjected": true,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": true,
          "enable": true,
          "active": false,
          "gate": false,
          "done": false
        },
        {
          "scan": "4. Finger Up·Flex 복귀 입력: Hammer로 전이",
          "sourceStep": "State_raise_finger_003",
          "nextStep": "State_Hammer_Trial_005",
          "firedTransition": "Tran_157",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": false,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": true,
          "hammerComplete": false,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": true,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": true,
          "gate": false,
          "done": false
        },
        {
          "scan": "5. Hammer 완료 입력: Flex로 전이",
          "sourceStep": "State_Hammer_Trial_005",
          "nextStep": "State_Flex_1",
          "firedTransition": "Tran_159",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": false,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": true,
          "hammerComplete": true,
          "flexExtended": false,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": true,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": true,
          "gate": false,
          "done": false
        },
        {
          "scan": "6. Flex 전진 입력: Lower로 재진입",
          "sourceStep": "State_Flex_1",
          "nextStep": "State_Lower_Finger_003",
          "firedTransition": "Tran_001",
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": false,
          "fingerDown": false,
          "timeoutDone": false,
          "fingerUp": true,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": true,
          "parentCompletionTransition": false,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": true,
          "gate": false,
          "done": false
        },
        {
          "scan": "7. Retry 재하강: Down=1",
          "sourceStep": "State_Lower_Finger_003",
          "nextStep": "State_Lower_Finger_003",
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": false,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": false,
          "separated": true,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": true,
          "gate": false,
          "done": false
        },
        {
          "scan": "8. 다음 Program 스캔: 상위 완료 전이 평가",
          "sourceStep": "State_Lower_Finger_003",
          "nextStep": null,
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": false,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": true,
          "separated": true,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": true,
          "gate": false,
          "done": false
        },
        {
          "scan": "9. Gate 양쪽 센서 도착",
          "sourceStep": null,
          "nextStep": null,
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": false,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": true,
          "separated": true,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": true,
          "gate": true,
          "done": false
        },
        {
          "scan": "10. 다음 스캔: Gate 신호로 우회 종료",
          "sourceStep": null,
          "nextStep": null,
          "firedTransition": null,
          "failureInjected": false,
          "rawNoCopper": true,
          "effectiveNoCopper": true,
          "fingerDown": true,
          "timeoutDone": false,
          "fingerUp": false,
          "flexRetracted": false,
          "hammerComplete": false,
          "flexExtended": true,
          "childRaiseTransition": false,
          "raiseExitTransition": false,
          "hammerCompleteTransition": false,
          "flexReturnTransition": false,
          "parentCompletionTransition": true,
          "separated": false,
          "stripFailed": false,
          "pending": false,
          "enable": true,
          "active": false,
          "gate": false,
          "done": true
        }
      ]
    }
  ]
}
