Evidence-backed readiness#

The following view is generated from the existing capability matrix, profiling matrix, and benchmark registry. Implementation, retained evidence, and exact performance records remain separate. Query or regenerate it with:

python scripts/backend_status.py check
python scripts/backend_status.py summary
python scripts/backend_status.py json --backend vulkan
python scripts/backend_status.py render

A profiling cell may be marked ready only after its retained_evidence list links structured run-evidence JSON using repository-relative path and sha256 fields. The run artifact must contain:

  • integer schema_version: 1 and protocol quantem-gpu-cell-evidence/v1;

  • cell_id, backend, and runner matching the profiling cell exactly;

  • status: passed and the full 40-character source_revision;

  • a fixture object with an immutable id and 64-character sha256;

  • a result object naming retained output by repository-relative path and sha256; the output must exist and its digest must match; and

  • outcomes mapping each required gate name to passed. Required gates are the cell’s pr_gate plus every outcome in the profiling matrix’s required_evidence.required_outcomes, currently scientific-parity and real-data-e2e.

The profile matrix owns that evidence policy; this artifact is a retained run, not another registry. Existing generic experiment manifests remain retained, but completed alone cannot be promoted: some completed runs contain failed scientific gates. They need a reviewed cell-specific run record before use in signoff. A correctly hashed test source file is rejected as run evidence.

Human scientific adjudication is still required: a structurally valid record does not prove its measurements are truthful or cover the entire cell scope. Review its fixture, output, exact revision, runner, and gate outcomes against the scientific contract. Failed and historical experiments remain retained in the experiment and benchmark ledgers; do not relabel them as passed signoff evidence. Compilation or a test’s mere existence never substitutes for a run.

When this check was introduced, 31 legacy ready declarations had no cell-scoped immutable signoff evidence linked. They were corrected to evidence-gap, with an explanation in each profiling cell. This is an evidence-accounting correction, not a backend regression: existing test gates, implementation levels, frozen results, and historical benchmark measurements were preserved. Broader package signoff requires the full cell scope; a retained result for one shape, dtype, or device does not establish it.

Historical timings and exact comparison conditions remain in the benchmark ledger. See the profiling protocol for required runners and the scientific parity contract for numerical acceptance.

Backend readiness#

Generated from the capability matrix, profiling matrix, and benchmark registry. Package-engineering signoff is not consumer-application or distribution approval. Ready means required evidence is retained; it does not mean every workload is qualified. Performance records remain separate, with exact workload and comparison conditions. Use python scripts/backend_status.py json --backend BACKEND for all records.

Backend

Package signoff

Performance records

cpu-reference

blocked

recorded

cuda

blocked

recorded

mps

blocked

recorded

swift-metal

blocked

recorded

webgpu

blocked

recorded

vulkan

not-scheduled

not-recorded

cpu-reference#

Capability

Implementation

Evidence

Signoff

io.packed-display-precision

not-implemented

unsupported

not-scheduled

io.empad-float-resident

implemented

evidence-gap

not-scheduled

geometry.scan-quarter-turn

implemented

evidence-gap

blocked

io.decode-bin-provenance

implemented

evidence-gap

blocked

io.selective-scan-loading

not-implemented

unsupported

not-scheduled

detector.integer-products

implemented

evidence-gap

blocked

screening.prepared-products

implemented

evidence-gap

blocked

dpc.com-rotation-idpc

implemented

evidence-gap

blocked

display.transform-histogram-color-fft

implemented

evidence-gap

blocked

ssb.object-phase-loss

implemented

evidence-gap

blocked

ssb.calibration-200-nelder-mead

implemented

evidence-gap

blocked

Blocking signoff cells:

  • geometry.scan-quarter-turn::cpu-reference

  • io.decode-bin-provenance::cpu-reference

  • detector.integer-products::cpu-reference

  • screening.prepared-products::cpu-reference

  • dpc.com-rotation-idpc::cpu-reference

  • display.transform-histogram-color-fft::cpu-reference

  • ssb.object-phase-loss::cpu-reference

  • ssb.calibration-200-nelder-mead::cpu-reference

cuda#

Capability

Implementation

Evidence

Signoff

io.packed-display-precision

implemented

evidence-gap

not-scheduled

io.empad-float-resident

partial

evidence-gap

not-scheduled

geometry.scan-quarter-turn

implemented

evidence-gap

blocked

io.decode-bin-provenance

implemented

evidence-gap

blocked

io.selective-scan-loading

implemented

evidence-gap

blocked

detector.integer-products

implemented

evidence-gap

blocked

screening.prepared-products

implemented

evidence-gap

blocked

dpc.com-rotation-idpc

implemented

evidence-gap

blocked

display.transform-histogram-color-fft

not-implemented

unsupported

not-scheduled

ssb.object-phase-loss

implemented

evidence-gap

blocked

ssb.calibration-200-nelder-mead

implemented

evidence-gap

blocked

Blocking signoff cells:

  • geometry.scan-quarter-turn::cuda

  • io.decode-bin-provenance::cuda

  • io.selective-scan-loading::cuda

  • detector.integer-products::cuda

  • screening.prepared-products::cuda

  • dpc.com-rotation-idpc::cuda

  • ssb.object-phase-loss::cuda

  • ssb.calibration-200-nelder-mead::cuda

mps#

Capability

Implementation

Evidence

Signoff

io.packed-display-precision

implemented

evidence-gap

not-scheduled

io.empad-float-resident

partial

evidence-gap

not-scheduled

geometry.scan-quarter-turn

implemented

evidence-gap

blocked

io.decode-bin-provenance

implemented

evidence-gap

blocked

io.selective-scan-loading

implemented

evidence-gap

blocked

detector.integer-products

implemented

evidence-gap

blocked

screening.prepared-products

implemented

evidence-gap

blocked

dpc.com-rotation-idpc

implemented

evidence-gap

blocked

display.transform-histogram-color-fft

implemented

evidence-gap

blocked

ssb.object-phase-loss

implemented

evidence-gap

blocked

ssb.calibration-200-nelder-mead

implemented

evidence-gap

blocked

Blocking signoff cells:

  • geometry.scan-quarter-turn::mps

  • io.decode-bin-provenance::mps

  • io.selective-scan-loading::mps

  • detector.integer-products::mps

  • screening.prepared-products::mps

  • dpc.com-rotation-idpc::mps

  • display.transform-histogram-color-fft::mps

  • ssb.object-phase-loss::mps

  • ssb.calibration-200-nelder-mead::mps

swift-metal#

Capability

Implementation

Evidence

Signoff

io.packed-display-precision

partial

evidence-gap

not-scheduled

io.empad-float-resident

partial

evidence-gap

blocked

geometry.scan-quarter-turn

implemented

evidence-gap

blocked

io.decode-bin-provenance

implemented

evidence-gap

blocked

io.selective-scan-loading

not-implemented

unsupported

not-scheduled

detector.integer-products

implemented

evidence-gap

blocked

screening.prepared-products

not-implemented

unsupported

not-scheduled

dpc.com-rotation-idpc

implemented

evidence-gap

blocked

display.transform-histogram-color-fft

implemented

evidence-gap

blocked

ssb.object-phase-loss

implemented

evidence-gap

blocked

ssb.calibration-200-nelder-mead

implemented

evidence-gap

blocked

Blocking signoff cells:

  • io.empad-float-resident::swift-metal

  • geometry.scan-quarter-turn::swift-metal

  • io.decode-bin-provenance::swift-metal

  • detector.integer-products::swift-metal

  • dpc.com-rotation-idpc::swift-metal

  • display.transform-histogram-color-fft::swift-metal

  • ssb.object-phase-loss::swift-metal

  • ssb.calibration-200-nelder-mead::swift-metal

webgpu#

Capability

Implementation

Evidence

Signoff

io.packed-display-precision

not-implemented

unsupported

not-scheduled

io.empad-float-resident

not-implemented

unsupported

not-scheduled

geometry.scan-quarter-turn

implemented

evidence-gap

blocked

io.decode-bin-provenance

implemented

evidence-gap

blocked

io.selective-scan-loading

partial

evidence-gap

blocked

detector.integer-products

implemented

evidence-gap

blocked

screening.prepared-products

not-implemented

unsupported

not-scheduled

dpc.com-rotation-idpc

implemented

evidence-gap

blocked

display.transform-histogram-color-fft

implemented

evidence-gap

blocked

ssb.object-phase-loss

partial

evidence-gap

blocked

ssb.calibration-200-nelder-mead

not-implemented

unsupported

not-scheduled

Blocking signoff cells:

  • geometry.scan-quarter-turn::webgpu

  • io.decode-bin-provenance::webgpu

  • io.selective-scan-loading::webgpu

  • detector.integer-products::webgpu

  • dpc.com-rotation-idpc::webgpu

  • display.transform-histogram-color-fft::webgpu

  • ssb.object-phase-loss::webgpu

vulkan#

Capability

Implementation

Evidence

Signoff

io.packed-display-precision

not-implemented

unsupported

not-scheduled

io.empad-float-resident

not-implemented

unsupported

not-scheduled

geometry.scan-quarter-turn

not-implemented

unsupported

not-scheduled

io.decode-bin-provenance

partial

evidence-gap

not-scheduled

io.selective-scan-loading

not-implemented

unsupported

not-scheduled

detector.integer-products

partial

evidence-gap

not-scheduled

screening.prepared-products

partial

evidence-gap

not-scheduled

dpc.com-rotation-idpc

partial

evidence-gap

not-scheduled

display.transform-histogram-color-fft

partial

evidence-gap

not-scheduled

ssb.object-phase-loss

not-implemented

unsupported

not-scheduled

ssb.calibration-200-nelder-mead

not-implemented

unsupported

not-scheduled

Blocking signoff cells:

No release signoff is scheduled.