Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
394 commits
Select commit Hold shift + click to select a range
cd7edf4
Add surface interaction quality report
ciaranra Jun 13, 2026
dedd7ab
Align SZZ frame gate noise accounting
ciaranra Jun 13, 2026
3bf2e7b
Simplify traced Clifford gate chains
ciaranra Jun 13, 2026
0f6a41b
Support averaged global measurement crosstalk DEM replay
ciaranra Jun 13, 2026
d7c3055
Document SZZ DEM modeling assumptions
ciaranra Jun 13, 2026
1f41d5b
Merge cliff-def-handoff-twirl into DEM handoff integration
ciaranra Jun 13, 2026
bd0b1cc
Align Guppy DEM reference normalization
ciaranra Jun 13, 2026
4372633
Fix re-review ordering gap: resolve the QASM program before the neo r…
ciaranra Jun 13, 2026
63328dd
Report DEM diagnostic progress and partial results
ciaranra Jun 13, 2026
f727699
Add surface sweep JSON comparison tool
ciaranra Jun 13, 2026
e01005e
Improve graphlike surface decoder validation
ciaranra Jun 14, 2026
76af0d3
Make DEM diagnostics resumable from saved results
ciaranra Jun 14, 2026
6df15f1
Add surface check plan metadata
ciaranra Jun 14, 2026
379d8c0
Support MeasureFree in sim_neo extract_commands and align stale measu…
ciaranra Jun 14, 2026
fe5d68c
Normalize the fresh traced circuit in the constrained-budget cache te…
ciaranra Jun 14, 2026
9e4fceb
Restore QEC branch health checks
ciaranra Jun 14, 2026
930d4f0
Thread check plan metadata through topology cache
ciaranra Jun 14, 2026
848c1ee
Merge remote-tracking branch 'origin/cliff-def-handoff-twirl' into in…
ciaranra Jun 14, 2026
4a7220c
Merge remote-tracking branch 'origin/decoder-polish' into integrate-c…
ciaranra Jun 14, 2026
659f996
Clean decoder study report whitespace
ciaranra Jun 14, 2026
c1b63bb
Make QSystem platform explicit and selectable in HUGR-QIS compilation…
ciaranra Jun 14, 2026
838c349
Apply rustfmt to QSystem platform threading
ciaranra Jun 14, 2026
5b6fe83
Make the automatic Clifford-angle rotation step defer to user-registe…
ciaranra Jun 14, 2026
547ed25
Bump pyo3 to 0.29 to fix RUSTSEC-2026-0176 and RUSTSEC-2026-0177
ciaranra Jun 15, 2026
2f51bbb
Narrow the Sampling::SubsetSimulation variant doc to match the functi…
ciaranra Jun 15, 2026
3a63c1e
Harden parser/binding robustness: SparseDem rejects malformed D/L tok…
ciaranra Jun 15, 2026
a0af8f8
Address residual review nits: reject boundary-gate observable bits >=…
ciaranra Jun 15, 2026
76846a8
Guard subset_simulation against silently returning a biased estimate:…
ciaranra Jun 15, 2026
e315677
Fix inverted threshold selection in ProperSubsetSimulation/QecSubsetS…
ciaranra Jun 15, 2026
14c5895
Make the 64-observable mask limit consistently fail-loud: sampler err…
ciaranra Jun 15, 2026
9deec99
Complete the coefficient-of-variation for the structurally-correct Pr…
ciaranra Jun 15, 2026
b394461
Lock the engines depolarizing-vs-GNM measurement-physics distinction …
ciaranra Jun 15, 2026
bc30ff5
Make the special.rs assert_close test helper enforce its stated RELAT…
ciaranra Jun 15, 2026
e9db300
Lock the realistic-nonzero-defaults trap in G4: test that PerGateType…
ciaranra Jun 15, 2026
309e645
Knock out two cosmetics: bump the new pecos-results crate's moved-cod…
ciaranra Jun 15, 2026
7e63b2f
Handle Selene runtime capacity after merged runtime changes.
ciaranra Jun 15, 2026
846d818
Merge remote-tracking branch 'origin/decoder-polish' into integrate-c…
ciaranra Jun 15, 2026
088671d
Add logical decoder descriptor validation regressions.
ciaranra Jun 15, 2026
7b9f20c
Fix subset CV double-count: compute coefficient of variation from com…
ciaranra Jun 15, 2026
ceaccc9
Respect explicit QIS physical qubit capacity.
ciaranra Jun 15, 2026
0b6b925
Support constrained SZZ surface memory circuits.
ciaranra Jun 15, 2026
b104276
Thread check plans through Guppy surface generation
ciaranra Jun 15, 2026
45b612b
Phase 1 step 1: add ObsMask, an inline-optimized observable flip mask…
ciaranra Jun 16, 2026
e9df730
Require check plans to match current surface renderers
ciaranra Jun 16, 2026
51843b1
Phase 1 step 2: add ObservableDecoder::decode_obs (wide ObsMask, defa…
ciaranra Jun 16, 2026
5692adf
Accept check plans in direct surface builders
ciaranra Jun 16, 2026
2cffcf5
Phase 1 step 2c-1: widen the LogicalSubgraphDecoder batch decode-coun…
ciaranra Jun 16, 2026
f4af682
Phase 1 step 2c-2: support >64 observables on the LogicalSubgraphDeco…
ciaranra Jun 16, 2026
48c2e75
Phase 1 step 2c-3: LogicalSubgraphDecoder.decode/decode_batch return …
ciaranra Jun 16, 2026
e6bb21c
Fix engines angle-dependent two-qubit noise to read the signed princi…
ciaranra Jun 16, 2026
984bc04
Add boundary-first SZZ surface check plan
ciaranra Jun 16, 2026
202f08a
Translate engines GeneralNoiseModel angle-dependent two-qubit noise t…
ciaranra Jun 16, 2026
dba699f
Use trace-friendly backend for Guppy operation capture
ciaranra Jun 16, 2026
8b2367f
Add V6 cross-stack example-circuit sweep covering 3-qubit, whole-regi…
ciaranra Jun 16, 2026
7934d1a
Test trace-friendly Guppy operation capture
ciaranra Jun 16, 2026
5e062cc
Reject HUGR on the neo stack until its result contract matches the en…
ciaranra Jun 16, 2026
9fd3714
Map BiasedDepolarizingNoise to the neo stack with record-flip asymmet…
ciaranra Jun 16, 2026
5541d70
Bring zlup, guppy-zlup, and zluppy crates onto dev and fix AST/Ord/py…
ciaranra Jun 16, 2026
632046c
Document the full neo-translated noise surface on SimStack::Neo
ciaranra Jun 16, 2026
1a14ebf
Route HUGR through the PHIR engine on the neo stack so its results us…
ciaranra Jun 17, 2026
ba9f4c9
Add uniform Clifford frame SZZ DEM plumbing
ciaranra Jun 17, 2026
3ada9b1
Support traced SZZ Clifford-frame surface programs
ciaranra Jun 17, 2026
9573aa0
Reject control-flow HUGR in the PHIR converter and guard against empt…
ciaranra Jun 17, 2026
11fedff
Add neo determinism and worker-count-invariance regression tests
ciaranra Jun 17, 2026
c42311c
Make cross-stack engines baselines explicit so they stay meaningful a…
ciaranra Jun 17, 2026
cc68913
Make neo single-qubit emission gate-removing to match engines (apply …
ciaranra Jun 17, 2026
8c66923
Make neo two-qubit emission gate-removing and generalize the gate dag…
ciaranra Jun 17, 2026
555101a
Phase 1 step 2c-5a: widen WindowedLogicalSubgraphDecoder to ObsMask (…
ciaranra Jun 17, 2026
afaf6ef
Add pecos-phir-pliron: validated Bell port proving build-PHIR-on-plir…
ciaranra Jun 17, 2026
a944a1a
Phase 1 step 2c-5b: widen the LogicalCircuit/LogicalAlgorithm decode …
ciaranra Jun 17, 2026
47e484f
Commit Cargo.lock smallvec entry for pecos-decoder-core (lockfile was…
ciaranra Jun 17, 2026
4b1b044
Map GeneralNoiseModel emission ratios through the sim().stack(Neo) fa…
ciaranra Jun 17, 2026
d62721d
Apply rustfmt to the ObsMask/wide-decode changes and pre-existing re-…
ciaranra Jun 17, 2026
6faa8d7
Fix clippy cast_possible_wrap in the >64-observable sampler test (i64…
ciaranra Jun 17, 2026
949b2a8
Apply black formatting + ruff E741 rename across touched Python files…
ciaranra Jun 17, 2026
8bb6eda
pecos-phir-pliron M4: adaptive multi-batch measurement-conditioned co…
ciaranra Jun 17, 2026
6baa8b3
Complete >64 observable support across all Python decoder entry point…
ciaranra Jun 17, 2026
2cd76e8
pecos-phir-pliron M5+M6: region-based qec.if + literal qprog.ll port …
ciaranra Jun 17, 2026
5de7d9c
Flatten the circuit once in reliable_observables instead of per-obser…
ciaranra Jun 17, 2026
f1d88c6
Extract the shared Monte Carlo sampling vocabulary into pecos-engines…
ciaranra Jun 17, 2026
a767124
Split .shots(n) from an argless fail-fast .run() and add .sampling(mo…
ciaranra Jun 17, 2026
dbe9e9b
Phase 1: pecos-phir-pliron M7 -- library, explicit measurement-SSA/ex…
ciaranra Jun 17, 2026
6fe9b1f
Phase 1: pecos-phir-pliron measurement-SSA registry -- side-table met…
ciaranra Jun 17, 2026
5013c07
Add .shots(n) and an argless .run() to the Python sim() facade
ciaranra Jun 17, 2026
9c92b13
Phase 1: pecos-phir-pliron differential vs pecos-phir + measure-in-br…
ciaranra Jun 17, 2026
add0617
Wrap over-long sim_neo() chains in qec/analysis.py to fix E501
ciaranra Jun 17, 2026
d215826
pecos-phir-pliron: Bell via qec.record export + region-scope record v…
ciaranra Jun 18, 2026
acff9c2
pecos-phir-pliron: native Angle64 fixed-point angle attr + cond_x i1 …
ciaranra Jun 18, 2026
ef946e0
Reject non-unit emission_scale in the neo facade subset and make faca…
ciaranra Jun 18, 2026
662f510
Migrate the Rust doc-test snippets to the argless .shots(n).run() fac…
ciaranra Jun 18, 2026
b25003c
pecos-phir-pliron: add non-i1 cond_x verifier negative test (round-6)
ciaranra Jun 18, 2026
2b4e248
pecos-phir-pliron: promote exp -> crates, depend on crates.io pliron …
ciaranra Jun 18, 2026
6edc487
Support checkerboard Clifford surface frames
ciaranra Jun 18, 2026
0883629
pecos-phir-pliron: add opt-in from_qis_llvm_ir_pliron adapter + real …
ciaranra Jun 18, 2026
7dbba94
pecos-phir-pliron: tighten rz/rx/ry/if verifiers + registry/IR-drift …
ciaranra Jun 18, 2026
38c1301
pecos-phir-pliron: dynamic qubit count + 3-qubit GHZ fixture (cutover…
ciaranra Jun 18, 2026
5dfc8b6
Cover both checkerboard surface frame orientations
ciaranra Jun 18, 2026
6928614
pecos-phir-pliron: parse -> Result, reject out-of-subset input with s…
ciaranra Jun 18, 2026
a319892
pecos-phir-pliron: adopt CFG-shape classifier + add branch-condition …
ciaranra Jun 19, 2026
71078e5
pecos-phir-pliron: widen gates (cz/swap/x) + shared gate_op_to_cmd he…
ciaranra Jun 19, 2026
e9a7d7a
Add balanced surface ancilla scheduling
ciaranra Jun 22, 2026
099c6d3
Forward-flow SZZ Guppy data frames within helpers
ciaranra Jun 23, 2026
0f94310
Add optional SZZ runtime barriers
ciaranra Jun 23, 2026
dc1dfe4
Add selective SZZ runtime barrier policy
ciaranra Jun 23, 2026
8722d06
Merge slr-polish (zlup revival + pecos-phir-pliron) into integrate-merge
ciaranra Jun 24, 2026
3d3e65f
Merge sim-neo-polish (neo sampling builders + cross-stack facade) int…
ciaranra Jun 24, 2026
7bb4e42
Merge dep-bump (pyo3 0.29 RUSTSEC fix + selectable QSystem platform) …
ciaranra Jun 24, 2026
b13a548
Fix zlup composite-gate tests to canonical cx (q0, q1) syntax and rej…
ciaranra Jun 24, 2026
349cd98
Gate zlup cli integration tests behind the cli feature so they skip w…
ciaranra Jun 24, 2026
9b453ec
Fix QIS LLVM qubit allocation by not freezing an unstarted dynamic en…
ciaranra Jun 24, 2026
9eb7461
Tighten zlup gate registration: reject mismatched built-in shadowing …
ciaranra Jun 24, 2026
03b95e3
Run zlup cli-feature integration tests in the rust gate (skipped by t…
ciaranra Jun 24, 2026
c9dfd47
Unify the workspace on selene-core 0.2.2 by bumping pecos-selene-core…
ciaranra Jun 24, 2026
19fc06e
Scope the QIS persistent compiled-program cache to the running build …
ciaranra Jun 24, 2026
4ecd64a
Model zlup gate origin (Builtin/TargetDeclared/CompositeDefined) for …
ciaranra Jun 24, 2026
7224835
Harden the QIS program cache: stable SHA-256 key (replacing the unsta…
ciaranra Jun 24, 2026
a04bd48
Merge decoder-polish (>64 observable support via ObsMask) into integr…
ciaranra Jun 24, 2026
d0b81fb
Make the legacy u64 SampleBatch observable APIs fail loud on >64 obse…
ciaranra Jun 25, 2026
c40af08
Make apply_boundary_gate fail loud on observable bits >= 64 (real Res…
ciaranra Jun 25, 2026
2635c10
Strengthen the QIS cache key with explicit ABI inputs: a stable Progr…
ciaranra Jun 25, 2026
a156fae
Distinguish an explicit .qubits(0) (forwarded as a hint) from a dynam…
ciaranra Jun 25, 2026
16e3515
Add generic trace metadata plumbing for QIS replay
ciaranra Jun 25, 2026
38fb253
Add SZZ source metadata plumbing
ciaranra Jun 25, 2026
eda0cd8
Preserve qubit-scoped SZZ trace metadata
ciaranra Jun 25, 2026
3210d0b
Fence SZZ prefixes before runtime barriers
ciaranra Jun 25, 2026
a1abbd1
Document Guppy barrier trace gap
ciaranra Jun 25, 2026
88ee9b1
Add hosted operation design note
ciaranra Jun 25, 2026
f8495a6
Add hosted SZZ metadata keys
ciaranra Jun 25, 2026
b6e40a1
Guard the narrow u64 decode APIs on DEM/decoder observable width (not…
ciaranra Jun 26, 2026
51f0aca
Add hosted operation metadata validation
ciaranra Jun 26, 2026
f37dbff
Widen the SampleBatch decode methods to wide ObsMask masks (inline-fa…
ciaranra Jun 26, 2026
568ed65
Add strict hosted trace validation plumbing
ciaranra Jun 26, 2026
43a33bd
Add hosted SZZ barrier handoff target
ciaranra Jun 26, 2026
a74ad8b
Invert the ObservableDecoder trait: decode_obs (wide ObsMask) is now …
ciaranra Jun 27, 2026
9f4602e
Fail fast when the default (non-growing) SparseStab quantum engine wo…
ciaranra Jun 27, 2026
ee2bd5f
Strengthen the QIS cache key further: use the real build target tripl…
ciaranra Jun 27, 2026
034eea6
Revert the inferred-zero default-quantum fail-fast: it broke the QASM…
ciaranra Jun 27, 2026
514463c
Add runtime barrier helper for SZZ traces
ciaranra Jun 27, 2026
cf46094
Fail loud (not overflow-panic) when a graphlike matching decoder is b…
ciaranra Jun 27, 2026
0730a4b
Fix the inferred-zero default-quantum panic properly via a ClassicalE…
ciaranra Jun 27, 2026
0223744
Pin the selected QIS FFI + selene shim library paths once (OnceLock) …
ciaranra Jun 27, 2026
e5b889c
Reject ambiguous hosted operation metadata
ciaranra Jun 27, 2026
3c903e1
Make PyMatching's narrow decode_batch_to_observables u64 batch API fa…
ciaranra Jun 27, 2026
19f666e
Apply rustfmt to the slr-polish-inherited crates (zlup, guppy-zlup, z…
ciaranra Jun 27, 2026
f3ca9ad
Forward has_dynamic_qubit_count through Box<dyn ClassicalControlEngin…
ciaranra Jun 27, 2026
e4e9b3d
Guard the remaining unguarded >64-observable matching-decoder constru…
ciaranra Jun 27, 2026
e6da1b5
Route the remaining raw library-discovery bypasses (Windows DLL searc…
ciaranra Jun 27, 2026
cb868f5
Scope SZZ hosted metadata by counted round
ciaranra Jun 27, 2026
b103696
Use physical SZZ hosted prefixes in Guppy
ciaranra Jun 28, 2026
969ade0
Allow SZZ Guppy builds without trace metadata
ciaranra Jun 28, 2026
f4dbff6
Use two-qubit runtime barrier for SZZ hosted prefixes
ciaranra Jun 28, 2026
5187e74
Use native Selene runtime barriers
ciaranra Jun 28, 2026
6b344c3
WIP: add pecos-phir dynamic-zero guard test + wide-observables matchi…
ciaranra Jun 28, 2026
b68a4e0
Merge branch 'dev' into integrate-merge
ciaranra Jun 28, 2026
124aa4c
Pack generated SZZ trace metadata
ciaranra Jun 28, 2026
efb8ce1
Route pecos-cli CUDA Python install through cuda_python_group() after…
ciaranra Jun 28, 2026
87a6c15
Reconcile CI LLVM cache config to 21.1 in pr-core-gate + python workf…
ciaranra Jun 28, 2026
de02213
Build the dependency-free [all] extra in pecos python build and fix t…
ciaranra Jun 28, 2026
7fa76a6
Make explicit --cuda build pecos-rslib-cuda (auto-detect informs only…
ciaranra Jun 28, 2026
1433308
Check the cuda12/cuda13 split in check_python_workspace's CUDA extra/…
ciaranra Jun 28, 2026
29feec8
Require both cuda12/cuda13 extra+group in check_python_workspace, rej…
ciaranra Jun 28, 2026
a592add
Merge remote-tracking branch 'origin/integrate-cliff-def-handoff-twir…
ciaranra Jun 29, 2026
e801481
Normalize quoted __hugr__ helper symbols so function-local SZZ trace/…
ciaranra Jun 29, 2026
60209e2
Normalize PECOS helper symbols at the LLVM module level so both text …
ciaranra Jun 29, 2026
6e0fed4
Merge duplicate PECOS helper declarations to one public ABI symbol in…
ciaranra Jun 29, 2026
52aeaf1
Reject conflicting PECOS helper signatures instead of silently mergin…
ciaranra Jun 29, 2026
c4ab9e5
Validate PECOS helper declarations against the fixed pecos-qis-ffi AB…
ciaranra Jun 29, 2026
d56ab07
Clarify the generic-barrier xfail reason: name the supported SZZ runt…
ciaranra Jun 29, 2026
fa6ab6e
Apply ruff/black formatting and fix ruff lint across never-linted SZZ…
ciaranra Jun 30, 2026
8f403c9
Fix all clippy -D warnings across the workspace and apply rustfmt
ciaranra Jun 30, 2026
5fa104c
Resolve dependency-integrity: allowlist new unsafe roots, add vscode …
ciaranra Jun 30, 2026
15328b5
Bump wasmtime from 45 to 46
ciaranra Jun 30, 2026
46620a5
Bump rustworkx-core from 0.17 to 0.18
ciaranra Jun 30, 2026
8b0dbe3
Remove unused itertools workspace dependency
ciaranra Jun 30, 2026
af36f5c
Adopt guppylang 0.21.16 with binary HUGR serialization and round-scop…
ciaranra Jul 1, 2026
0cb11ea
Add pecos.guppy.variant_scoped to name-scope parameterized Guppy prog…
ciaranra Jul 1, 2026
5415911
Fix dependency advisories in the uv/cargo locks (restoring dev's jupy…
ciaranra Jul 1, 2026
89c1e22
Update optional-dependency tests for binary HUGR envelopes and LLVM 2…
ciaranra Jul 1, 2026
138f039
Delete the stale tests/slr tree, superseded by slr_tests
ciaranra Jul 1, 2026
d3d03a2
Fix guppy constant rotation angles silently executing as zero-angle g…
ciaranra Jul 2, 2026
06c7e29
Strengthen the tier2 mz/read_result tripwire to count-check both rege…
ciaranra Jul 2, 2026
795c53f
Fail loud on unresolvable rotation angles instead of silently emittin…
ciaranra Jul 2, 2026
cb1eee7
Add a regression test pinning the measurements rows' qubit-id ordering
ciaranra Jul 2, 2026
afe0d64
Fold in Codex round-2 findings: pin the runtime tuple angle chain wit…
ciaranra Jul 2, 2026
f4dafc4
De-vacuum the seeded-reproducibility test that round 3 flagged (hard …
ciaranra Jul 2, 2026
cb9533b
Remove dead measurement_N fallback branches from the guppy tests (the…
ciaranra Jul 2, 2026
efd7597
Fix classical value flow through HUGR control flow: first-class Sum v…
ciaranra Jul 3, 2026
c0443e6
Give the optional-dependency test lane a post-merge CI home and drop …
ciaranra Jul 3, 2026
8783c83
Make result capture and tket.bool handlers defer on missing or non-bo…
ciaranra Jul 3, 2026
1ff07aa
Fix the loop-iteration freeze: clear processed flags for all op categ…
ciaranra Jul 3, 2026
a16201b
Route empty-block CFG transitions through the canonical two-phase tra…
ciaranra Jul 3, 2026
39388b0
TailLoop parity with the CFG re-activation fix: queue body LoadConsta…
ciaranra Jul 3, 2026
c0ee08d
Land completion-time stall detection: queue drain with active control…
ciaranra Jul 3, 2026
29b2e96
Track nested Call/TailLoop/Conditional nodes in case completion with …
ciaranra Jul 3, 2026
203afe3
Implement proper collections.borrow_arr semantics (sized all-borrowed…
ciaranra Jul 3, 2026
7e40f37
Close the second silent-completion path (stall check on the pre-drain…
ciaranra Jul 3, 2026
f1774af
Clear all container gates for case ops at conditional expansion so re…
ciaranra Jul 3, 2026
902b6b2
Complete guppy array-indexing support: propagate TailLoop continue-st…
ciaranra Jul 3, 2026
0561aa5
Re-propagate active case inputs when measurement results arrive, fixi…
ciaranra Jul 3, 2026
0988887
Add debug logging for successor queueing decisions (neighbours and sk…
ciaranra Jul 3, 2026
e96888e
Execute Tags over linear payloads as classical ops with QubitRef fall…
ciaranra Jul 3, 2026
b840bf2
Scope quantum-op collection to immediate containers (no premature uns…
ciaranra Jul 3, 2026
06d1d64
Fix double conditional expansion across the queue and pending paths, …
ciaranra Jul 3, 2026
9f9ce08
Prefer a qubit mapping on the Input port itself before tracing throug…
ciaranra Jul 3, 2026
7b0bac0
Mirror QubitRef outputs of classical and prelude tuple ops into the q…
ciaranra Jul 3, 2026
23a32a3
Clear stale output wires for every case op category at expansion (a m…
ciaranra Jul 3, 2026
5e5ab80
Fold in Codex round-3 findings: stop call/bool collection at case bou…
ciaranra Jul 3, 2026
68b6edf
Reject direct recursion with a clear error, make the structural Tag b…
ciaranra Jul 3, 2026
5e9562e
Rewrite the classical executor with typed extraction (present-but-unc…
ciaranra Jul 3, 2026
41512a5
Model sum_with_error outputs for checked division, checked modulo, an…
ciaranra Jul 3, 2026
2ee6ffb
Implement borrow_arr pop_left, discard_empty, and new_array, flipping…
ciaranra Jul 3, 2026
62600a2
Fold in Codex round-4 findings: Euclidean signed division/modulo per …
ciaranra Jul 3, 2026
d92b681
Convert unconditional eprintln debug spam to log-gated debug and pin …
ciaranra Jul 3, 2026
7140867
Deep-review handler contract sweep: defer-not-fabricate across arithm…
ciaranra Jul 3, 2026
5ef6d95
Complete no-CFG passthrough calls properly and error on non-passthrou…
ciaranra Jul 4, 2026
9def592
Raise fatal execution faults instead of silent fallbacks: out-of-rang…
ciaranra Jul 4, 2026
ed986d1
De-vacuum the test corpus: value-anchor the truthy-list and len-only …
ciaranra Jul 4, 2026
9b3df1d
Wrap the strict-xfail reason strings to the line-length limit
ciaranra Jul 4, 2026
c3f2009
Fold in round-6 re-review: RNG ops emit value-first with NewRNGContex…
ciaranra Jul 4, 2026
bc91d12
Fix nested-loop starvation (zero-op conditional cases now run complet…
ciaranra Jul 4, 2026
ac7132d
Replace the boolean handler contract with a typed HandlerOutcome/Clas…
ciaranra Jul 4, 2026
c680ce6
Consolidate the six container-activation sites (CFG entry/transition,…
ciaranra Jul 4, 2026
87b4088
Guard against re-activating a CFG that is still executing (re-registr…
ciaranra Jul 4, 2026
f46a654
Track nested containers: TailLoop/CFG children of loop bodies and cas…
ciaranra Jul 4, 2026
1cf8c85
Add a completion-time reachability audit: every child of every execut…
ciaranra Jul 4, 2026
d7ef7f6
Implement ipow (wrapping square-and-multiply), idivmod_s/u with check…
ciaranra Jul 4, 2026
d56664d
Model int widths: classification reads the op's BoundedNat log_width,…
ciaranra Jul 4, 2026
8bba6c3
Support higher-order array scan (per-element execution through Call-f…
ciaranra Jul 4, 2026
10c75c8
Raise on measurement outcomes with no queued measurement to bind to (…
ciaranra Jul 4, 2026
78befd9
Capture the entrypoint CFG's classical return values and surface them…
ciaranra Jul 4, 2026
b3e6c05
Rewrite the seven guppylang-0.21-dead test programs (discard for line…
ciaranra Jul 4, 2026
77ee53e
Add generative program fuzzing: 20 seeded random classical guppy prog…
ciaranra Jul 4, 2026
89cda39
Fold in Codex round-8: entrypoint-based FuncDefn gating (dead functio…
ciaranra Jul 4, 2026
c1cf383
Panel-2 batch 1: out-of-range Conditional/TailLoop tags poison, TailL…
ciaranra Jul 5, 2026
a8acf5d
Panel-2 batch 2: TryQAlloc emits a real Option Sum carrying the qubit…
ciaranra Jul 5, 2026
4e0cbb0
Panel-2 batch 3: readiness treats a Conditional with an active case a…
ciaranra Jul 5, 2026
595a82e
Panel-2 batch 4: scan frames carry LoadFunction type args (generic sc…
ciaranra Jul 5, 2026
77ca46e
Panel-2 batch 5: de-vacuum round 2 (phase/rotation/boolean/feedback/c…
ciaranra Jul 5, 2026
864b036
Rename the pending_bool_reads parking lot to deferred_nodes (it holds…
ciaranra Jul 5, 2026
b16f9f0
Performance: the work queue gains a membership mirror (O(log n) conta…
ciaranra Jul 5, 2026
0508621
futures.Read produces the future's declared type: LazyMeasureLeaked f…
ciaranra Jul 5, 2026
768e8fd
RandomAdvance jumps in O(log delta) both directions: xorshift64 is li…
ciaranra Jul 5, 2026
8b0a00e
Guard quantum-op qubit ids against the simulator's capacity at batch …
ciaranra Jul 5, 2026
a7dbca3
Close the capacity-guard hole Codex round-9 found: MZ-batching lookah…
ciaranra Jul 5, 2026
21e4e7a
Fold in round-10 two-arm verification: successor Input wires clear be…
ciaranra Jul 5, 2026
2e2615f
Pin the divergent-regime classical semantics against the Selene refer…
ciaranra Jul 5, 2026
2346def
Consolidate the settled-node predicate: one HugrEngine::node_settled …
ciaranra Jul 5, 2026
a40215a
Classical values trace through DFG boundaries (flattening parity with…
ciaranra Jul 5, 2026
c826f31
Fold in third-panel findings: measurement replay becomes fill-only wi…
ciaranra Jul 5, 2026
ff53067
Fold in round-11 verification: boundary copiers and resolve_qubits re…
ciaranra Jul 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
39 changes: 27 additions & 12 deletions .github/workflows/julia-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ permissions:

env:
TRIGGER_ON_PR_PUSH: true # Set to true to enable triggers on PR pushes
LLVM_VERSION: "21.1"
LLVM_RELEASE_VERSION: "21.1.8"
CARGO_HTTP_MULTIPLEXING: "false"
CARGO_NET_GIT_FETCH_WITH_CLI: "true"
CARGO_NET_RETRY: "10"
Expand Down Expand Up @@ -140,35 +142,48 @@ jobs:
- name: Set up Rust
run: rustup show

- name: Install LLVM 14.0.6 using pecos-llvm (Unix)
- name: Install LLVM 21.1 (Unix)
if: runner.os != 'Windows'
run: |
echo "Installing LLVM using pecos..."
cargo run --locked -p pecos-cli --release -- install llvm
if [ "$RUNNER_OS" = "macOS" ]; then
echo "Installing LLVM 21 with Homebrew..."
HOMEBREW_NO_AUTO_UPDATE=1 brew install llvm@21
LLVM_PREFIX="$(brew --prefix llvm@21)"
else
echo "Installing LLVM 21.1 using PECOS-managed packages..."
cargo run --locked -p pecos-cli --release -- llvm ensure --managed --no-configure || bash scripts/ci/install-llvm-21-conda-linux.sh
LLVM_PREFIX="$HOME/.pecos/deps/llvm-21.1"
fi

echo "Setting LLVM environment variables..."
export PECOS_LLVM=$(cargo run --locked -p pecos-cli --release -- llvm find 2>/dev/null)
export LLVM_SYS_140_PREFIX="$PECOS_LLVM"
cargo run --locked -p pecos-cli --release -- llvm configure "$LLVM_PREFIX"
export PECOS_LLVM="$LLVM_PREFIX"
export LLVM_SYS_211_PREFIX="$LLVM_PREFIX"

echo "PECOS_LLVM=$PECOS_LLVM" >> $GITHUB_ENV
echo "LLVM_SYS_140_PREFIX=$LLVM_SYS_140_PREFIX" >> $GITHUB_ENV
echo "LLVM_SYS_211_PREFIX=$LLVM_SYS_211_PREFIX" >> $GITHUB_ENV

echo "Verifying LLVM installation..."
cargo run --locked -p pecos-cli --release -- llvm check

- name: Install LLVM 14.0.6 using pecos-llvm (Windows)
- name: Install LLVM 21.1 (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: |
Write-Host "Installing LLVM using pecos..."
cargo run --locked -p pecos-cli --release -- install llvm
$llvmRoot = Join-Path $env:USERPROFILE ".pecos\deps\llvm-21.1"
$llvmPrefix = Join-Path $llvmRoot "Library"
Write-Host "Installing conda-forge LLVM 21.1..."
./scripts/ci/install-llvm-21-windows.ps1 -InstallDir $llvmRoot -Version ${{ env.LLVM_RELEASE_VERSION }}

Write-Host "Setting LLVM environment variables..."
$env:PECOS_LLVM = (cargo run --locked -p pecos-cli --release -- llvm find 2>$null)
$env:LLVM_SYS_140_PREFIX = $env:PECOS_LLVM
$env:PECOS_LLVM = $llvmPrefix
$env:LLVM_SYS_211_PREFIX = $env:PECOS_LLVM
$env:LIBCLANG_PATH = Join-Path $llvmPrefix "bin"
cargo run --locked -p pecos-cli --release -- llvm configure "$env:PECOS_LLVM"

"PECOS_LLVM=$env:PECOS_LLVM" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
"LLVM_SYS_140_PREFIX=$env:LLVM_SYS_140_PREFIX" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
"LLVM_SYS_211_PREFIX=$env:LLVM_SYS_211_PREFIX" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
"LIBCLANG_PATH=$env:LIBCLANG_PATH" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append

Write-Host "Verifying LLVM installation..."
cargo run --locked -p pecos-cli --release -- llvm check
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/julia-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,23 +77,23 @@ jobs:
# NOTE: LLVM is not currently needed for Julia FFI since we use pecos with default-features = false
# Keeping this commented out in case we need to re-enable LLVM features in the future.
#
# - name: Install LLVM 14.0.6 using pecos (Unix)
# - name: Install LLVM 21.1 using pecos (Unix)
# if: runner.os != 'Windows'
# run: |
# echo "Installing LLVM using pecos..."
# cargo run -p pecos-cli --release -- install llvm
#
# echo "Setting LLVM environment variables..."
# export PECOS_LLVM=$(cargo run -p pecos-cli --release -- llvm find 2>/dev/null)
# export LLVM_SYS_140_PREFIX="$PECOS_LLVM"
# export LLVM_SYS_211_PREFIX="$PECOS_LLVM"
#
# echo "PECOS_LLVM=$PECOS_LLVM" >> $GITHUB_ENV
# echo "LLVM_SYS_140_PREFIX=$LLVM_SYS_140_PREFIX" >> $GITHUB_ENV
# echo "LLVM_SYS_211_PREFIX=$LLVM_SYS_211_PREFIX" >> $GITHUB_ENV
#
# echo "Verifying LLVM installation..."
# cargo run -p pecos-cli --release -- llvm check
#
# - name: Install LLVM 14.0.6 using pecos (Windows)
# - name: Install LLVM 21.1 using pecos (Windows)
# if: runner.os == 'Windows'
# shell: pwsh
# run: |
Expand All @@ -102,10 +102,10 @@ jobs:
#
# Write-Host "Setting LLVM environment variables..."
# $env:PECOS_LLVM = (cargo run -p pecos-cli --release -- llvm find 2>$null)
# $env:LLVM_SYS_140_PREFIX = $env:PECOS_LLVM
# $env:LLVM_SYS_211_PREFIX = $env:PECOS_LLVM
#
# "PECOS_LLVM=$env:PECOS_LLVM" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
# "LLVM_SYS_140_PREFIX=$env:LLVM_SYS_140_PREFIX" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
# "LLVM_SYS_211_PREFIX=$env:LLVM_SYS_211_PREFIX" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
#
# Write-Host "Verifying LLVM installation..."
# cargo run -p pecos-cli --release -- llvm check
Expand Down
11 changes: 6 additions & 5 deletions .github/workflows/pr-core-gate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@ permissions:
contents: read

env:
LLVM_VERSION: "14.0.6"
LLVM_VERSION: "21.1"
LLVM_RELEASE_VERSION: "21.1.8"
RUSTFLAGS: -C debuginfo=0
RUST_BACKTRACE: 1
PYTHONUTF8: 1
Expand Down Expand Up @@ -127,8 +128,8 @@ jobs:
id: cache-llvm
uses: actions/cache/restore@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5
with:
path: ~/.pecos/deps/llvm-14
key: llvm-${{ env.LLVM_VERSION }}-${{ runner.os }}-${{ runner.arch }}-v2
path: ~/.pecos/deps/llvm-21.1
key: llvm-${{ env.LLVM_RELEASE_VERSION }}-${{ runner.os }}-${{ runner.arch }}-v3

- name: Ensure LLVM ${{ env.LLVM_VERSION }}
if: steps.detect.outputs.run == 'true'
Expand Down Expand Up @@ -229,8 +230,8 @@ jobs:
id: cache-llvm
uses: actions/cache/restore@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5
with:
path: ~/.pecos/deps/llvm-14
key: llvm-${{ env.LLVM_VERSION }}-${{ runner.os }}-${{ runner.arch }}-v2
path: ~/.pecos/deps/llvm-21.1
key: llvm-${{ env.LLVM_RELEASE_VERSION }}-${{ runner.os }}-${{ runner.arch }}-v3

- name: Ensure LLVM ${{ env.LLVM_VERSION }}
if: steps.detect.outputs.run == 'true'
Expand Down
Loading
Loading