Skip to content

Agent/v2.2.0 stable hardening - #5

Merged
timfromhcs merged 5 commits into
mainfrom
agent/v2.2.0-stable-hardening
Oct 23, 2026
Merged

timfromhcs merged 5 commits into
mainfrom
agent/v2.2.0-stable-hardening

Conversation

@timfromhcs

Copy link
Copy Markdown
Owner

No description provided.

…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.
@timfromhcs
timfromhcs merged commit 46d0d35 into main Oct 23, 2026
14 checks passed
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