{
  "schemaVersion": 1,
  "fixtureVersion": "2026-07-25.1",
  "factsVersion": "2026-07-24.2",
  "title": "Cross-dialect normally-closed input reference vectors",
  "purpose": "Expose one small, reproducible semantic across all eight learning dialect parsers. These vectors do not claim full-language or vendor-firmware conformance.",
  "semantic": "LIGHT := NOT ES",
  "cases": [
    {
      "name": "normally-closed path healthy",
      "inputs": {
        "ES": false
      },
      "expectedOutputs": {
        "LIGHT": true
      }
    },
    {
      "name": "normally-closed path open",
      "inputs": {
        "ES": true
      },
      "expectedOutputs": {
        "LIGHT": false
      }
    }
  ],
  "fixtures": [
    {
      "dialect": "IEC 61131-3",
      "source": "VAR\n  ES    AT %I0.0 : BOOL;\n  LIGHT AT %Q0.0 : BOOL;\nEND_VAR\n\n| /ES | := LIGHT ;",
      "repositoryTestFixture": "tests/js/interpreter/cross-dialect/estop-nc/iec.iec"
    },
    {
      "dialect": "Allen-Bradley",
      "source": "TAG ES    I:0/0 BOOL\nTAG LIGHT O:0/0 BOOL\n\nXIO ES OTE LIGHT",
      "repositoryTestFixture": "tests/js/interpreter/cross-dialect/estop-nc/ab.ab"
    },
    {
      "dialect": "Siemens SCL",
      "source": "VAR\n  ES    AT %I0.0 : BOOL;\n  LIGHT AT %Q0.0 : BOOL;\nEND_VAR\n\nLIGHT := NOT ES;",
      "repositoryTestFixture": "tests/js/interpreter/cross-dialect/estop-nc/siemens.sie"
    },
    {
      "dialect": "Mitsubishi",
      "source": "VAR\n  ES    AT %I0.0 : BOOL;\n  LIGHT AT %Q0.0 : BOOL;\nEND_VAR\n\nLDI ES\nOUT LIGHT",
      "repositoryTestFixture": "tests/js/interpreter/cross-dialect/estop-nc/mitsubishi.mx"
    },
    {
      "dialect": "Omron",
      "source": "VAR\n  ES    AT %I0.0 : BOOL;\n  LIGHT AT %Q0.0 : BOOL;\nEND_VAR\n\nLD NOT ES\nOUT LIGHT",
      "repositoryTestFixture": "tests/js/interpreter/cross-dialect/estop-nc/omron.omron"
    },
    {
      "dialect": "Schneider Unity",
      "source": "VAR\n  ES    AT %I0.0 : BOOL;\n  LIGHT AT %Q0.0 : BOOL;\nEND_VAR\n\nLIGHT := NOT ES;",
      "repositoryTestFixture": "tests/js/interpreter/cross-dialect/estop-nc/schneider.sch"
    },
    {
      "dialect": "Delta",
      "source": "; Delta NC contact: LDI X0 (inverse load) -> OUT Y0\nLDI X0\nOUT Y0",
      "inputAlias": {
        "ES": "X0"
      },
      "outputAlias": {
        "LIGHT": "Y0"
      },
      "repositoryTestFixture": "tests/js/interpreter/cross-dialect/estop-nc/delta.delta"
    },
    {
      "dialect": "Instruction List",
      "source": "VAR\n  ES    AT %I0.0 : BOOL;\n  LIGHT AT %Q0.0 : BOOL;\nEND_VAR\n\nLDN ES\nST  LIGHT",
      "repositoryTestFixture": "tests/js/interpreter/cross-dialect/estop-nc/il.il"
    }
  ],
  "limitations": [
    "The public artifact is a reference vector set, not a remote execution API.",
    "It demonstrates one boolean semantic and does not establish complete IEC or vendor conformance.",
    "It does not test physical scan timing, safety integrity, hardware modules, communications or native project files."
  ]
}
