Skip to content

wire logical T/Tdag/CCZ into frontend (#311) - #354

Merged
arniber21 merged 1 commit into
mainfrom
311/logical-nonclifford-frontend
Jul 24, 2026
Merged

wire logical T/Tdag/CCZ into frontend (#311)#354
arniber21 merged 1 commit into
mainfrom
311/logical-nonclifford-frontend

Conversation

@arniber21

Copy link
Copy Markdown
Owner

Bind logical_t / logical_tdag / logical_ccz as frontend QEC builtins
mirroring logical_cx, completing the #283 QEC workload layer that landed
in #283/#288 without frontend wiring.

  • prelude_names / builtins: register the three names + surface-only schemes.
  • typecheck: let-bound rejection list, dispatch arms, synth_logical_t /
    synth_logical_tdag (shared surface-only check) and synth_logical_ccz
    (three surface blocks at equal distance), plus scan_qec_usage. New
    TypeError variants NonCliffordRequiresSurface / NonCliffordDistanceMismatch
    with diagnostic codes + Display, encoding the same constraints as
    quon_qec's WorkloadBuilder validators so lowering never hits a
    workload-layer rejection.
  • lower: lowering arms building quantum.dynamic.qec_logical_t / _tdag /
    _ccz, threading logical ids through the result SSA map.
  • mlir_bridge qec_dynamic: op names, attrs (a_id/b_id/c_id), verify +
    builders for the three ops; qec_collect: collection arms calling the
    workload builders.
  • examples surface_d3_t.qn / surface_d3_ccz.qn now compile end-to-end
    through quonc; resource reports carry t_count / ccz_count respectively.
  • tests: frontend typecheck tests (valid + family/distance rejection)
    mirroring qec_logical_cx_*, and qec_collect tests for the new ops.
  • incidental: drop pre-existing dead imports in mlir_bridge pipeline.rs /
    zx_simplification.rs that blocked the -D warnings clippy gate.

No unwrap/expect/anyhow in production src; thiserror+Result throughout.

@vercel

vercel Bot commented Jul 24, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
quon Ready Ready Preview, Comment Jul 24, 2026 7:21am

Copy link
Copy Markdown
Owner Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

Bind logical_t / logical_tdag / logical_ccz as frontend QEC builtins
mirroring logical_cx, completing the #283 QEC workload layer that landed
in #283/#288 without frontend wiring.

- prelude_names / builtins: register the three names + surface-only schemes.
- typecheck: let-bound rejection list, dispatch arms, synth_logical_t /
  synth_logical_tdag (shared surface-only check) and synth_logical_ccz
  (three surface blocks at equal distance), plus scan_qec_usage. New
  TypeError variants NonCliffordRequiresSurface / NonCliffordDistanceMismatch
  with diagnostic codes + Display, encoding the same constraints as
  quon_qec's WorkloadBuilder validators so lowering never hits a
  workload-layer rejection.
- lower: lowering arms building quantum.dynamic.qec_logical_t / _tdag /
  _ccz, threading logical ids through the result SSA map.
- mlir_bridge qec_dynamic: op names, attrs (a_id/b_id/c_id), verify +
  builders for the three ops; qec_collect: collection arms calling the
  workload builders.
- examples surface_d3_t.qn / surface_d3_ccz.qn now compile end-to-end
  through quonc; resource reports carry t_count / ccz_count respectively.
- tests: frontend typecheck tests (valid + family/distance rejection)
  mirroring qec_logical_cx_*, and qec_collect tests for the new ops.
- incidental: drop pre-existing dead imports in mlir_bridge pipeline.rs /
  zx_simplification.rs that blocked the -D warnings clippy gate.

No unwrap/expect/anyhow in production src; thiserror+Result throughout.
@arniber21
arniber21 force-pushed the 311/logical-nonclifford-frontend branch from 872a307 to 0e818dc Compare July 24, 2026 07:21
@arniber21
arniber21 marked this pull request as ready for review July 24, 2026 07:22
@arniber21
arniber21 merged commit 13b60c7 into main Jul 24, 2026
16 of 20 checks passed
@arniber21
arniber21 deleted the 311/logical-nonclifford-frontend branch July 24, 2026 07:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant