ARCHIVED TRAINING / Qiskit/qiskit-terra
qiskit__qiskit-terra-8977
This is a preserved training example. Membership in the current training wave has not been verified.
Problem statement
Transpilation does not take place if an instruction with {None: None} properties is added to the target
### Environment
- **Qiskit Terra version**: 0.22.0
- **Python version**: 3.9.12
- **Operating system**: Windows 10
### What is happening?
Tranpilation return a not-properly-routed circuit.
### How can we reproduce the issue?
The documentation of `qiskit.transpiler.Target.add_instruction` says `If there are no constraints on the instruction (as in a noisless/ideal simulation) this can be set to {None, None} which will indicate it runs on all qubits (or all available permutations of qubits for multi-qubit gates).`.
So, let's create a target and add a single-qubit instruction to it by specifying `{None: None}` as its properties
```
from qiskit import QuantumCircuit
from qiskit.circuit import Parameter
from qiskit.circuit.library import CXGate, RXGate
from qiskit.compiler import transpile
from qiskit.transpiler import Target
n_qubits = 3
target = Target()
target.add_instruction(CXGate(), {(i, i+1): None for i in range(n_qubits - 1)})
target.add_instruction(RXGate(Parameter('theta')), {None: None})
assert target.build_coupling_map() is None
qc = QuantumCircuit(3)
qc.cx(0, 1)
qc.cx(1, 2)
qc.cx(2, 0)
qc_transpiled = transpile(qc, target=target, optimization_level=2, layout_method='trivial')
print(qc_transpiled.draw())
```
This code prints the following circuit
```
┌───┐
q_0: ──■───────┤ X ├
┌─┴─┐ └─┬─┘
q_1: ┤ X ├──■────┼──
└───┘┌─┴─┐ │
q_2: ─────┤ X ├──■──
└───┘
```
which is clearly not routed against the target.
The root cause seems to be, that in this scenario the transpiler target fails to generate the coupling map. Note how the `assert` line in the above code snippet passes, meaning that the coupling map is None.
### What should happen?
Transpiler target should have a properly defined coupling map and transpilation should work correctly
### Any suggestions?
_No response_
Training membership
opd_e4b_pure_v6a opd_e4b_pure_v6b opd_e4b_self_audit_v4
Task issues extracted from preserved verified_rft_messages training examples. This is not a verified current RL wave manifest.
Task and snapshot provenance
Snapshot captured 2026-11-12T17:06:59.476467+00:00 · Autoresearch-Arena/gemma-4-developer-agent
{
"datasets": [
"opd_e4b_pure_v6a",
"opd_e4b_pure_v6b",
"opd_e4b_self_audit_v4"
],
"examples": 5,
"instance_id": "qiskit__qiskit-terra-8977",
"problem_statement": "Transpilation does not take place if an instruction with {None: None} properties is added to the target \n### Environment\n\n- **Qiskit Terra version**: 0.22.0\r\n- **Python version**: 3.9.12\r\n- **Operating system**: Windows 10\r\n\n\n### What is happening?\n\nTranpilation return a not-properly-routed circuit.\n\n### How can we reproduce the issue?\n\nThe documentation of `qiskit.transpiler.Target.add_instruction` says `If there are no constraints on the instruction (as in a noisless/ideal simulation) this can be set to {None, None} which will indicate it runs on all qubits (or all available permutations of qubits for multi-qubit gates).`. \r\n\r\nSo, let's create a target and add a single-qubit instruction to it by specifying `{None: None}` as its properties\r\n\r\n```\r\nfrom qiskit import QuantumCircuit\r\nfrom qiskit.circuit import Parameter\r\nfrom qiskit.circuit.library import CXGate, RXGate\r\nfrom qiskit.compiler import transpile\r\nfrom qiskit.transpiler import Target\r\n\r\nn_qubits = 3\r\ntarget = Target()\r\ntarget.add_instruction(CXGate(), {(i, i+1): None for i in range(n_qubits - 1)})\r\ntarget.add_instruction(RXGate(Parameter('theta')), {None: None})\r\n\r\nassert target.build_coupling_map() is None\r\n\r\nqc = QuantumCircuit(3)\r\nqc.cx(0, 1)\r\nqc.cx(1, 2)\r\nqc.cx(2, 0)\r\n\r\nqc_transpiled = transpile(qc, target=target, optimization_level=2, layout_method='trivial')\r\nprint(qc_transpiled.draw())\r\n```\r\nThis code prints the following circuit\r\n```\r\n ┌───┐\r\nq_0: ──■───────┤ X ├\r\n ┌─┴─┐ └─┬─┘\r\nq_1: ┤ X ├──■────┼──\r\n └───┘┌─┴─┐ │ \r\nq_2: ─────┤ X ├──■──\r\n └───┘ \r\n```\r\nwhich is clearly not routed against the target. \r\n\r\nThe root cause seems to be, that in this scenario the transpiler target fails to generate the coupling map. Note how the `assert` line in the above code snippet passes, meaning that the coupling map is None.\n\n### What should happen?\n\nTranspiler target should have a properly defined coupling map and transpilation should work correctly\n\n### Any suggestions?\n\n_No response_",
"repo": "Qiskit/qiskit-terra",
"source": "v2/experiments/train_data/opd_e4b_pure_v6a/verified_rft_messages.jsonl",
"source_sha256": "f045b7ca5b3883a1e2eaee81e1c02a4a1b53dd7b7b36e98bacb2ba5823a15148"
}{
"captured_at": "2026-11-12T17:06:59.476467+00:00",
"membership": "archived training",
"membership_evidence": "Task issues extracted from preserved verified_rft_messages training examples. This is not a verified current RL wave manifest.",
"name": "Preserved post-training task archive",
"source": "Autoresearch-Arena/gemma-4-developer-agent",
"source_revision": "016496de222aaafca0d4ee4c18efc63ba616f76e",
"sources": [
{
"path": "v2/experiments/train_data/opd_e4b_cispo_v5/verified_rft_messages.jsonl",
"sha256": "a43610ad0dfb6ace95375cfae09000f41afc0338cc925af870a4ade7a9b20c4c"
},
{
"path": "v2/experiments/train_data/opd_e4b_hybrid_v3/verified_rft_messages.jsonl",
"sha256": "bd326303eb127e8e5e08f03daf97bb88d79d19709d59f3f93f348bc56686a8df"
},
{
"path": "v2/experiments/train_data/opd_e4b_onpolicy_v3/verified_rft_messages.jsonl",
"sha256": "960c680e797e823a0d3a22f4b1d5ef60a72971373d703b877340b0c9126aaf68"
},
{
"path": "v2/experiments/train_data/opd_e4b_pure_v6a/verified_rft_messages.jsonl",
"sha256": "f045b7ca5b3883a1e2eaee81e1c02a4a1b53dd7b7b36e98bacb2ba5823a15148"
},
{
"path": "v2/experiments/train_data/opd_e4b_pure_v6b/verified_rft_messages.jsonl",
"sha256": "0f62460a9706eea5e1605255896f191ab00cb5706c5f1f2e1c293e9a718218dc"
},
{
"path": "v2/experiments/train_data/opd_e4b_pure_v7/verified_rft_messages.jsonl",
"sha256": "e37f7bd675322f3f81500b73559d60d5f602ca0537bf19f5cb06332c728c7b72"
},
{
"path": "v2/experiments/train_data/opd_e4b_pure_v7b/verified_rft_messages.jsonl",
"sha256": "b864bdc8695183433eef6e31cb8d33fad44ba3aded2170c1ade4ad5b2944ce23"
},
{
"path": "v2/experiments/train_data/opd_e4b_self_audit_v4/verified_rft_messages.jsonl",
"sha256": "0026023745afb8f3dc1c176dc7f7171157b4ad5a66656b524af218e8e19ceee6"
},
{
"path": "v2/experiments/train_data/rft_e4b_aligned_v2/verified_rft_messages.jsonl",
"sha256": "92a4515fee9d152b0d4c510ee3ce4caaaffe2003ba7584469f8027f174aab18c"
},
{
"path": "v2/experiments/train_data/rft_v1/verified_rft_messages.jsonl",
"sha256": "a42453ccd7ac7680b0a03865e8e7080bc8bf74c8d9d193b440c441ed46f8512b"
},
{
"path": "v2/experiments/train_data/rft_v2/verified_rft_messages.jsonl",
"sha256": "18f4b3bd7e651f83c6acab479c9475e3fa50dc652a384f309e97146983ac85ba"
}
]
}