Differentiable Reviewer Evidence¶
This page maps bounded reviewer criticisms and the evidence package package to real repository commands, artefacts, and explicit public gaps. It is an index into executable evidence, not a replacement for the tests or artefacts.
Regenerate and validate it with:
python tools/differentiable_reviewer_evidence_page.py --write
python tools/differentiable_reviewer_evidence_page.py --check
Evidence boundary¶
Generated reviewer-response index over repository commands and artefacts. Implemented and bounded rows identify only their declared local evidence; open rows remain unpromoted, and no provider, hardware, universal-framework, compiler, isolated-performance, or superiority claim is implied.
Support-matrix synchronization¶
The generated Differentiable Support Matrix supplies the current registry and planner summary:
| Generated surface | Current result |
|---|---|
| Program AD registry | 118/118 complete |
| Quantum-gradient planner audit | 5 supported / 5 fail-closed |
Reviewer criticisms¶
| ID | Criticism | Status | Evidence and reproduction | Open gap | Boundary |
|---|---|---|---|---|---|
reviewer-criticism-parameter-shift-implementation |
No parameter-shift implementation | implemented |
Scalar, batched, generalised finite-spectrum, registered Phase-QNode, and finite-shot parameter-shift contracts have executable tests. Commands: python -m pytest -q tests/test_differentiable_parameter_shift.py tests/test_phase_generalised_parameter_shift.pyPaths: src/scpn_quantum_control/differentiable_parameter_shift.py, src/scpn_quantum_control/phase/generalised_parameter_shift.py, tests/test_differentiable_parameter_shift.py, tests/test_phase_generalised_parameter_shift.py, docs/quantum_gradients.md |
— | Implemented for declared local and bounded callback routes; no universal gate, provider, or hardware-gradient claim is implied. |
reviewer-criticism-quantum-gradient-surface |
No quantum-gradient surface | bounded |
The executable planner and Phase-QNode gradient backend cover supported statevector, finite-shot callback, and host-bridge cases while unsafe cells fail closed. Commands: python -m pytest -q tests/test_phase_gradient_backend.py tests/test_phase_gradient_support_matrix.pyPaths: src/scpn_quantum_control/phase/gradient_backend.py, src/scpn_quantum_control/phase/gradient_support_matrix.py, tests/test_phase_gradient_backend.py, tests/test_phase_gradient_support_matrix.py, docs/differentiable_support_matrix.md |
DIFF-OPEN-02 |
Local and caller-supplied callback evidence does not promote live provider execution or unrestricted hardware gradients. |
reviewer-criticism-changelog-autodiff-evidence |
No autodiff evidence in the changelog | implemented |
The changelog records parameter-shift, finite-shot, JAX, PyTorch, TensorFlow, Program AD, and compiler-AD additions after implementation. Commands: python tools/differentiable_reviewer_evidence_page.py --checkPaths: CHANGELOG.md, tools/differentiable_reviewer_evidence_page.py, tests/test_differentiable_reviewer_evidence_page.py |
— | Historical entries document landed bounded surfaces; they do not upgrade their recorded provider, hardware, or performance boundaries. |
reviewer-criticism-vqe-gradient-optimisation |
VQE uses classical or gradient-free optimisation only | implemented |
PhaseVQE exposes parameter-shift gradients, gradient descent, natural-gradient paths, and convergence evidence alongside declared classical baselines. Commands: python -m pytest -q tests/test_phase_vqe.py tests/test_phase_gradient_descent.py tests/test_phase_natural_gradient.pyPaths: src/scpn_quantum_control/phase/phase_vqe.py, src/scpn_quantum_control/phase/gradient_descent.py, src/scpn_quantum_control/phase/natural_gradient.py, tests/test_phase_vqe.py, tests/test_phase_gradient_descent.py, tests/test_phase_natural_gradient.py, docs/quantum_gradients.md |
— | Convergence evidence is bounded to declared local objectives and does not establish global optimiser superiority. |
reviewer-criticism-ml-framework-integration |
No ML-framework integration | bounded |
JAX, PyTorch, TensorFlow, PennyLane, and Qiskit rows are exercised through the public framework bridge/parity contracts with explicit optional-dependency and unsupported-route classifications. Commands: python -m pytest -q tests/test_phase_qnn_framework_bridge_matrix.py tests/test_phase_qnode_framework_parity.pyPaths: src/scpn_quantum_control/phase/qnn_framework_bridge_matrix.py, src/scpn_quantum_control/phase/qnode_framework_parity.py, tests/test_phase_qnn_framework_bridge_matrix.py, tests/test_phase_qnode_framework_parity.py, docs/differentiable_programming.md |
DIFF-OPEN-01, DIFF-OPEN-02 |
Installed local and compatibility routes do not imply arbitrary-simulator, accelerator, provider, or hardware framework autodiff. |
Evidence package¶
| ID | Requirement | Status | Evidence and reproduction | Open gap | Boundary |
|---|---|---|---|---|---|
evidence-package-gradient-correctness-runtime |
Finite-difference versus parameter-shift correctness and runtime | bounded |
The differentiable benchmark suite records analytic agreement and local functional timing with explicit non-isolated classification. Commands: python -m pytest -q tests/test_differentiable_programming_benchmarks.pyPaths: src/scpn_quantum_control/benchmarks/differentiable_programming.py, tests/test_differentiable_programming_benchmarks.py, data/differentiable_phase_qnode/local_benchmark_20260616T0955Z/diff-qnode-ci-evidence-schema-v1.json |
DIFF-OPEN-03 |
Local functional timing is not isolated performance evidence and supports no speedup claim. |
evidence-package-batched-shifted-circuits |
Batched shifted-circuit execution | implemented |
Batched parameter-shift helpers and benchmark rows validate values, gradients, evaluation counts, masks, and malformed batch contracts. Commands: python -m pytest -q tests/test_differentiable_batch_helpers.py tests/test_differentiable_parameter_shift.pyPaths: src/scpn_quantum_control/differentiable_batch_helpers.py, src/scpn_quantum_control/differentiable_parameter_shift.py, tests/test_differentiable_batch_helpers.py, tests/test_differentiable_parameter_shift.py |
— | Batched local evaluation does not imply provider-side batching, QPU execution, or performance promotion. |
evidence-package-optimiser-convergence-comparison |
VQE and QNN optimiser convergence comparison | bounded |
Deterministic multi-start and QNN optimiser suites compare parameter-shift, finite-difference, natural-gradient, Adam, L-BFGS-B, SPSA, and declared derivative-free routes. Commands: python -m pytest -q tests/test_phase_qnn_optimizer_benchmark.py tests/test_phase_vqe.pyPaths: src/scpn_quantum_control/phase/qnn_optimizer_benchmark.py, src/scpn_quantum_control/phase/phase_vqe.py, tests/test_phase_qnn_optimizer_benchmark.py, tests/test_phase_vqe.py, data/differentiable_phase_qnode/ground_state_optimizer_convergence_20260709.json |
DIFF-OPEN-03 |
Bounded local convergence comparisons do not prove general optimiser or application superiority. |
evidence-package-framework-adapter-overhead |
Framework adapter overhead benchmarks | open |
Functional framework-overlay evidence exists, but promotable overhead ratios still require compatible accelerator and isolated-affinity artefacts. Commands: python -m pytest -q tests/test_differentiable_framework_overlay.py tests/test_differentiable_benchmark_workflow.pyPaths: src/scpn_quantum_control/differentiable_framework_overlay.py, tests/test_differentiable_framework_overlay.py, tests/test_differentiable_benchmark_workflow.py, data/differentiable_phase_qnode/ml350_framework_overlay_baseline_20260705/diff-qnode-external-comparison.json |
DIFF-OPEN-01, DIFF-OPEN-03 |
Functional overlay rows are not isolated overhead or accelerator performance claims. |
evidence-package-compiler-ad-evidence |
Compiler-backed AD benchmark evidence | bounded |
Native whole-program and Enzyme/MLIR evidence rows are executable where the toolchain is present and remain non-promotional without isolated artefact IDs. Commands: python -m pytest -q tests/test_native_whole_program_ad_execution_evidence.py tests/test_enzyme_toolchain_execution_evidence.py tests/test_phase_qnode_compiler_lowering.pyPaths: src/scpn_quantum_control/compiler/mlir_enzyme_evidence.py, tests/test_native_whole_program_ad_execution_evidence.py, tests/test_enzyme_toolchain_execution_evidence.py, tests/test_phase_qnode_compiler_lowering.py, data/differentiable_phase_qnode/compiler_evidence_boundary_20260705.json |
DIFF-OPEN-03, DIFF-OPEN-04 |
Toolchain execution rows do not promote broad compiler AD, Rust registry execution, LLVM/JIT, or performance claims. |
evidence-package-noisy-gradient-shot-allocation |
Noisy-gradient and shot-allocation evidence | bounded |
Finite-shot parameter-shift, seeded SPSA, score-function, confidence-interval, shot-allocation, and failure-policy contracts have executable tests. Commands: python -m pytest -q tests/test_stochastic_gradient_failure_policy.py tests/test_stochastic_gradient_rust_parity.py tests/test_phase_qnn_optimizer_benchmark.pyPaths: src/scpn_quantum_control/differentiable_stochastic_estimators.py, src/scpn_quantum_control/differentiable_stochastic_policy.py, tests/test_stochastic_gradient_failure_policy.py, tests/test_stochastic_gradient_rust_parity.py, tests/test_phase_qnn_optimizer_benchmark.py, docs/quantum_gradients.md |
DIFF-OPEN-02, DIFF-OPEN-03 |
Seeded simulator and callback uncertainty evidence does not imply calibrated hardware robustness or performance promotion. |
evidence-package-reviewer-evidence-synchronisation |
Reviewer evidence page and synchronization gate | implemented |
This generated page validates all row commands, paths, changelog markers, public open gaps, support-matrix counts, and capability-manifest surfaces. Commands: python tools/differentiable_support_matrix_page.py --checkpython tools/differentiable_reviewer_evidence_page.py --checkPaths: tools/differentiable_support_matrix_page.py, tools/differentiable_reviewer_evidence_page.py, tests/test_differentiable_support_matrix_page.py, tests/test_differentiable_reviewer_evidence_page.py, docs/differentiable_support_matrix.md, docs/differentiable_reviewer_evidence.md |
— | The page inventories evidence and gaps; it does not itself prove numerical correctness, provider execution, or benchmark promotion. |
Public open-gap pointers¶
These identifiers resolve to the open evidence work section of the public roadmap. A row carrying one remains bounded or open even when its local command passes.
| Pointer | Gap | Evidence still required |
|---|---|---|
DIFF-OPEN-01 |
Framework-native and accelerator promotion | Broader native framework transforms, incompatible accelerator routes, and cross-runtime persistence require dedicated artefacts. |
DIFF-OPEN-02 |
Provider and hardware gradient evidence | Live-ticket provider jobs, raw counts, calibration, and simulator comparison remain approval-gated. |
DIFF-OPEN-03 |
Isolated benchmark promotion | Performance claims require reserved-host isolated-affinity artefacts and validated comparison metadata. |
DIFF-OPEN-04 |
Compiler AD promotion | Broader Enzyme, MLIR, LLVM/JIT, and executable registry promotion requires native evidence plus isolated benchmark identifiers. |
DIFF-OPEN-05 |
Tutorial and notebook breadth | Public notebooks beyond the executable examples remain open until clean-environment replay and expected outputs are recorded. |
Reading the rows¶
implementedmeans the declared bounded contract has a runnable evidence route.boundedmeans local evidence exists but a named promotion gap remains open.openmeans existing artefacts are diagnostic or functional only and cannot support the requested promoted claim.- Commands are deliberately module-scoped; repository-wide local test runs remain outside this reproduction page.