{
  "id": "composite/qrm15/switch-to-steane",
  "version": 1,
  "kind": "composite",
  "name": "switch_qrm_to_steane",
  "provenance": {
    "submitter": "ikim",
    "source": "adaptq.composites.switch_qrm_to_steane; exported from adaptq a5dd50e",
    "created": "2026-10-07",
    "notes": "magic_T (composite/steane/magic-t-prep) without the magic prep: Steane |0>, cs_cnot, qRM X readout -> m_cs, Z-bar on B iff m_cs; in: Q (qRM), out: B (Steane), action = identity; the Daguerre–Kim code-switching protocol: teleportation of the qRM15 logical (here a magic state) onto a fresh Steane block via transversal CNOT, X readout and a Z̄ correction — cite as Daguerre–Kim code switching (adaptq composites.switch_qrm_to_steane)"
  },
  "verification": {
    "status": "verified",
    "method": "bell-choi-exact-v1",
    "patterns_checked": 2,
    "tools": {
      "adaptq": "a5dd50e245569f199030ea40187948fa228481e9",
      "xtim": "xtim-engine-9"
    },
    "date": "2026-10-07",
    "patterns_total": 2
  },
  "ports_in": [
    {
      "name": "Q",
      "code": "code/qrm15@1"
    }
  ],
  "ports_out": [
    "B"
  ],
  "action": [],
  "steps": [
    {
      "apply": "gate/steane/prep-zero@2",
      "in": [],
      "out": [
        "B"
      ],
      "label": "steane_prep_0__h0"
    },
    {
      "apply": "gate/qrm15/cnot-to-steane@1",
      "in": [
        "Q",
        "B"
      ],
      "out": [
        "Q",
        "B"
      ],
      "label": "cs_cnot__h0"
    },
    {
      "apply": "gate/qrm15/readout-x@1",
      "in": [
        "Q"
      ],
      "out": [],
      "label": "qrm_readout_x__h0"
    },
    {
      "if": "qrm_readout_x__h0.m_cs",
      "apply": {
        "apply": "gate/steane/z-transversal@1",
        "in": [
          "B"
        ],
        "out": [
          "B"
        ],
        "label": "steane_z__h0"
      }
    }
  ]
}
