Differentiable Roadmap
July 14, 2026 · View on GitHub
This roadmap defines the staged work needed to turn differentiable programming into a complete public product surface. It complements the private execution tracker without exposing private execution notes.
Critical path
| Stage | Deliverable | Promotion evidence |
|---|---|---|
| 1 | Parameter-shift core for Kuramoto-XY/VQE objectives | Analytic checks, finite-difference checks, multi-frequency parameter-shift rules, second-order Hessian certificates, convergence tests. |
| 2 | Public gradient API | grad, value_and_grad, support reports, typed errors. |
| 3 | Gradient tape | Context manager and QNode-style tape records available for supported phase parameter-shift, seeded finite-shot replay, and provider-boundary evidence; expand to nesting semantics, arbitrary-QNode transforms, and programme-IR traces. |
| 4 | Backend gradient planner | Available for statevector, finite-shot simulator, fail-closed hardware routes, term-aware multi-frequency planning, registered Phase-QNode gate-aware evaluation planning, explicit opaque-callable 2N fallback records, no-submit hardware-gradient campaign specs for XY parameter-shift VQE and seeded SPSA validation, publication-package scaffolding for the planned hardware-gradient paper, and callback-based provider parameter-shift execution with shot/variance accounting; expand to provider-specific job submission policies. |
| 5 | Framework adapters | JAX host-callback, JAX gradient-agreement certificates, native JAX bounded phase-QNN value-and-gradient evidence, registered local Phase-QNode JAX statevector value-and-gradient plus flat, PyTree, and pmap/sharding native-transform evidence including PyTree Hessian symmetry checks, JAX cloud validation batch planning for incompatible local accelerator and multi-device routes, PyTorch tensor bridges, PyTorch bounded phase-QNN tensor-gradient evidence, bounded PyTorch custom torch.autograd.Function backward plus SGD integration evidence through run_torch_autograd_function_audit(...), bounded PyTorch module training-loop parity through torch.func.grad and torch.compile, bounded PyTorch module state_dict validation plus Adam optimizer-state replay through run_torch_module_state_audit(...), bounded PyTorch CPU/CUDA-smoke-gated module device-state replay through run_torch_module_device_state_audit(...), bounded PyTorch weights-only CPU checkpoint replay through run_torch_module_checkpoint_audit(...), bounded PyTorch long-lived checkpoint matrix diagnostics through run_torch_long_lived_checkpoint_matrix(...), bounded PyTorch multi-scenario training-loop matrix diagnostics through run_torch_training_loop_matrix(...), bounded PyTorch local torch.export save/load value replay through run_torch_module_export_audit(...), bounded PyTorch static export-shape matrix diagnostics through run_torch_export_shape_matrix(...), bounded PyTorch input-driven dynamic-batch export replay through run_torch_dynamic_shape_export_audit(...), bounded PyTorch local AOTAutograd forward/backward FX graph persistence through run_torch_aot_autograd_export_audit(...), registered local Phase-QNode PyTorch statevector plus torch.func.grad/jacrev/vmap and non-fullgraph torch.compile transform evidence, PyTorch module/transform/compiler/device maturity routing, PyTorch cloud validation batch planning for incompatible local accelerator routes, TensorFlow tensor bridges, TensorFlow bounded phase-QNN tensor-gradient evidence, bounded TensorFlow GradientTape evidence, bounded TensorFlow tf.function evidence, bounded TensorFlow XLA evidence, bounded TensorFlow Keras layer evidence, a bounded-QNN framework bridge matrix, PennyLane agreement checks, PennyLane caller-supplied QNode round-trip certificates, bounded PennyLane QNode conversion from registered local PhaseQNodeCircuit declarations with explicit device/shot/diff-method metadata, Qiskit shifted-circuit generation/local Statevector gradients including tied-parameter multi-frequency evaluation-count parity, a reproducible CPU framework overlay, real Phase-QNode external comparison rows for installed local frameworks, explicit Enzyme/compiler AD dependency-gap rows, and explicit Catalyst qjit/MLIR/QIR dependency-gap rows are available for supported calls. Arbitrary provider/native framework autodiff-through-simulator kernels, higher-order custom-autograd transforms, registered PyTorch fullgraph torch.compile lowering, cross-runtime AOTAutograd execution, dynamic-shape AOTAutograd export, dynamic feature-width export promotion, incompatible CUDA/device execution without cloud artefacts, cross-runtime checkpoint/export portability, external long-lived checkpoint corpus promotion, finite-shot native framework lowering, full provider job submission, unrestricted covariance-observable conversion, dynamic-circuit conversion, and unrestricted provider-backed gradient execution remain open. |
| 6 | QNN/QGNN/QSNN training | Bounded phase-QNN classifier, QNN-specific finite-difference gradient verifier, deterministic multi-seed convergence envelopes, bounded loss-landscape grids, seeded finite-shot gradient uncertainty and noisy-convergence evidence, named external-gradient agreement records with source-class/native-autodiff provenance, dedicated caller-supplied framework-gradient agreement checks, exact-answer bounded-QNN/Kuramoto-XY synthetic domain datasets, published public-domain Kuramoto artefact references, deterministic convergence-suite evidence, conformance-suite evidence with required-evidence unsuitable-scenario records, non-isolated optimizer-baseline comparisons across parameter-shift, finite-difference, SGD, Adam, L-BFGS-B, diagonal-Fisher natural-gradient, seeded SPSA, and derivative-free grid routes, QSNN parameter-shift evidence, and registered medium QNN/QGNN/QSNN/Kuramoto-XY evidence are available; broader seeded convergence notebooks and benchmarks remain the promotion gate for arbitrary architectures. |
| 7 | Compiler-backed AD | Executable MLIR/LLVM/JIT kernels beyond bounded scalar/vector/matrix paths, registered Phase-QNode MLIR-runtime value/gradient lowering adapters with dialect operation metadata, runtime shape/type verification, blocked interpreter-fallback success claims, bounded Rust/PyO3 Program AD scalar/static-linalg, fixed-signature np.linalg.multi_dot linalg-array output replay, bounded 2x2 distinct symmetric np.linalg.eigvalsh spectral replay, bounded 2x2 distinct symmetric np.linalg.eigh eigenvalue and nonzero-offdiagonal eigenvector replay, bounded 2x2 real-distinct np.linalg.eigvals spectral replay, bounded 2x2 real-simple np.linalg.eig eigenvalue/eigenvector replay, bounded static rank-2 distinct-positive np.linalg.svd(..., compute_uv=False) singular-value replay, constant-full-rank rank-1/Nx2/2xN np.linalg.pinv replay, static on-diagonal np.diagflat construction replay, elementwise-array, static structural-array, static structural-assembly, static source-map indexing with inert assignment/expression alias metadata, static-axis sum/mean/prod/var/std/max/min/median reductions with static ddof/correction metadata for var/std, compact static-grid np.interp value+gradient replay with default/static boundary metadata, compact static rank-1 signal convolve/correlate value+gradient replay with static mode metadata, compact static np.gradient value+gradient replay with scalar/coordinate spacing metadata, compact static cumulative cumsum/cumprod/diff value+gradient replay, compact static-grid trapezoid reductions with static dx/x/xfull metadata, and static scalar-q quantile/percentile reduction value+gradient replay, bounded LLVM/Enzyme runner comparison rows, and bounded Catalyst qjit/MLIR/QIR runner comparison rows with strict JSON, timeout, toolchain, correctness gates, and dedicated workflow profiles for compiled quantum-classical scope, compiled differentiation, control flow, finite-shot limits, and unsupported provider routes. Non-lowered dynamic indexing semantics, unsafe source aliases, dynamic axes, dynamic interpolation grids, dynamic signal metadata, singular or dynamic stencil spacing, dynamic trapezoid-grid metadata, dynamic q/method metadata, dynamic ddof/correction metadata, zero-variance std gradients, broad linalg/spectral array adjoints beyond the bounded 2x2 eigvalsh/eigh/eigvals/eig, static rank-2 SVD-singular-value, rank-1/Nx2/2xN-pinv/on-diagonal-diagflat boundaries, Rust registry promotion, arbitrary Catalyst workflow parity, Catalyst finite-shot/provider execution, and native-JIT gaps remain declared explicitly. |
| 8 | Benchmark oracle | Quantum Sync Challenge fixtures, baselines, leaderboard-ready output, CI-only benchmark evidence bundles, self-hosted isolated-benchmark runner setup, isolated-affinity benchmark metadata gates, and fail-closed CUDA/ROCm accelerator metadata guards. |
| 9 | Advanced control | Analog mapping, open-system gradients, MCWF, feedback control, dashboards. |
Future-leading lanes
- Generalized quantum gradient calculus: multi-frequency parameter-shift, adjoint simulator gradients, stochastic finite-shot estimators, Hessians, quantum Fisher information, natural gradients, and Wirtinger semantics.
- Differentiable circuit transforms: gate decomposition, measurement grouping, symmetry projection, error mitigation, adaptive Trotter compensation, and transform provenance.
- Hardware-safe execution: dry-run cost estimates, shot allocation, batching, cache keys, timeouts, rate limits, and no-hardware-by-default policies.
- Data-driven coupling learning: EEG-like, power-grid-like, oscillator-array, and multimodal time-series adapters with privacy and claim-boundary rules.
- Analog oscillator mapping: neutral-atom, Rydberg, trapped-ion, photonic, and other continuous-time hardware mappings for Kuramoto/XY dynamics.
- Advanced witnesses: persistent homology, topological summaries, Krylov complexity, OTOC scaling, synchronization order parameters, tomography, and classical shadows.
- Fault-tolerant path: logical encodings, resource estimation, and error-corrected oscillator simulation assumptions.
- Visualization: phase portraits, order parameters, hardware bitstrings, shadow estimates, DLA/topological views, and feedback-control telemetry.
Open evidence work
The generated reviewer-evidence page uses these stable public identifiers. A passing local command does not close a pointer; each item remains open until the named promotion evidence is committed and its claim-ledger row passes.
DIFF-OPEN-01 — Framework-native and accelerator promotion
Broader native framework transforms, incompatible CUDA or other accelerator routes, cross-runtime checkpoints and exports, and persistent multi-platform execution require dedicated artefacts. Current local and compatibility rows do not promote those routes.
DIFF-OPEN-02 — Provider and hardware gradient evidence
Live provider execution remains owner-approved and ticket-gated. Promotion requires backend and job identity, raw counts, calibration metadata, a statevector comparison, budget validation, and the corresponding claim-ledger evidence chain.
DIFF-OPEN-03 — Isolated benchmark promotion
Performance claims require reserved-host isolated_affinity artefacts with
observed CPU affinity, host/load metadata, fixed environments, comparison
inputs, and validated benchmark classifications. Local and shared-host timing
remains functional evidence only.
DIFF-OPEN-04 — Compiler AD promotion
Broader Enzyme, MLIR, LLVM/JIT, Rust registry execution, and array-adjoint promotion requires native correctness evidence, crash/fallback policy where applicable, and isolated benchmark identifiers. Metadata and bounded replay do not close this item.
DIFF-OPEN-05 — Tutorial and notebook breadth
Public notebooks beyond the executable examples remain open until they replay from a clean declared environment, record expected outputs, and preserve the same support labels and failure boundaries as the public API documentation.
Release rule
A differentiable feature becomes public-production only when the implementation, tests, docs, examples, support matrix, benchmark evidence, security checks, and failure-mode documentation agree. The formal claim ledger must name artefact IDs and benchmark IDs for promoted rows. Until then, the docs must label it as experimental, planned, unsupported, or bounded_candidate.