Repository navigation
Agent/v2.2.0 stable hardening - #5
Merged
Merged
Conversation
…antics - Replace the native QASM parser with a strict, fail-closed implementation: mandatory semicolons, known-gate allowlist, finite strict angle expressions, register/arity checks, and structured QASMParseError diagnostics. - Propagate parse failures through the CLI (exit 2) and both C ABIs (-3), zeroing result structures instead of returning stale data. - Enforce the --qubits cap and document the parser/exit-code contract. - Rename the native engine to legacy_z8_phase_ledger and report statevector_simulation=false; emit the canonical version string. - Make scheduler submissions planner-only until record_completion(), reject negative dispatch counts, and stop calling timing jitter a bound. - Make the Python governor fail closed and shape-validate JSpaceDelta reinflation with explicit diagnostic labels. - Replace false-green fuzz/stress/concurrency/SVD tests with assertions that require the native binary (CQ_HECS_REQUIRE_NATIVE=1). - Add native test_qasm_contract and a C-ABI invalid-circuit regression test. - Move the sanitizer option before all native targets and fail on unsupported compilers; register the new native test.
Mutants now patch real source, run subprocess checks, and restore bytes exactly. A failing baseline aborts the run and surviving mutants produce a non-zero exit status; 11/11 mutants are killed locally.
Split CI into static/package, pinned Linux native, pinned Windows native, Python 3.12-3.14 compatibility, and ASan/UBSan jobs. Add least-privilege permissions, concurrency cancellation, artifact uploads, a 70% coverage gate, and a scheduled nightly workflow. Pin the deterministic Python 3.11 dependency lane in constraints/ci-py311.txt.
…ence Bump the canonical version to 2.2.0 across Python, CMake, C ABI, citation, and changelog surfaces; declare Python >=3.11 and use SPDX license metadata. Record the parser/exit-code contract in docs/QASM_CONTRACT.md and the local gate results plus unverified surfaces in research/v2_2/. Preserve the user-authored GEMINI.md mission brief.
Rewrite the README against the final implementation: Python 3.11-3.14, the fail-closed OpenQASM contract, the legacy native engine classification, current verification counts, and the still-unverified GPU/Cloud Build surfaces. Rewrite RELEASE_NOTES.md for 2.2.0 and reconcile ARCHITECTURE, API_REFERENCE, BENCHMARKS, legacy shims, packaging scripts and the historical roadmap. Also derive packaging versions from scripts/version.py, replace the stale native v4.5.0 banner, add a CLI version regression test, and extend check_version.py so README/API/native/packaging version drift fails CI.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.