From b20796620022867d06f49e048bf27b60981ac70d Mon Sep 17 00:00:00 2001 From: Mayckon Giovani Date: Wed, 23 Sep 2026 16:02:06 -0300 Subject: [PATCH] docs: prepare v0.2.0 release notes --- CHANGELOG.md | 10 ++++++++++ RELEASE_NOTES_v0.2.0.md | 33 +++++++++++++++++++++++++++++++++ scripts/run_audit.sh | 2 +- 3 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 RELEASE_NOTES_v0.2.0.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 64b4bc8..2775ec6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # Changelog +## 0.2.0 — External Solver Boundary + +- Added canonical QUBO exchange parity checks across internal models, canonicalized models, structured exchange payloads, and optional local Ocean BQM energy reports. +- Added no-credential Ocean and Qiskit examples that enrich local reports when optional packages are installed while preserving deterministic local authority. +- Added external solver replay artifacts with schema `noetheris.external_solver_replay.v1`, structured rejection reasons, artifact hashes, assignment-domain checks, and solver/embedding metadata boundaries. +- Added certificate fail-closed validation for inconsistent embedded external replay evidence. +- Added deterministic solver-boundary release evidence under `docs/results/solver_boundary_evidence.json`. +- Added Lean and TLA+ replay-boundary formal artifacts scoped to simplified kernels. +- Hardened Python runner selection for macOS universal Python environments. + ## 0.1.0 — Structural Quantum Security Kernel - Added Structural IR in Rust and Python with canonical hashing and validation. diff --git a/RELEASE_NOTES_v0.2.0.md b/RELEASE_NOTES_v0.2.0.md new file mode 100644 index 0000000..3fba7b8 --- /dev/null +++ b/RELEASE_NOTES_v0.2.0.md @@ -0,0 +1,33 @@ +## Noetheris v0.2.0 — External Solver Boundary + +Noetheris v0.2.0 is a narrow research-kernel release focused on the boundary between deterministic local models and optional external solver ecosystems. + +The release strengthens what Noetheris exports, what an external tool may return, and what Noetheris verifies locally before treating a solver candidate as evidence. + +### Included + +- Canonical QUBO exchange parity across internal QUBO evaluation, canonicalized models, structured exchange payloads, and optional local Ocean `dimod.BinaryQuadraticModel` energy checks. +- Local Ocean BQM reporting that runs without D-Wave credentials, sampler calls, cloud tokens, or hardware submission. +- Qiskit-facing oracle semantic reports for small predicates, with exact local truth-table authority and optional local circuit summaries when Qiskit is installed. +- External solver replay artifacts using schema `noetheris.external_solver_replay.v1`. +- Explicit replay rejection reasons for problem-hash mismatch, compiled-model-hash mismatch, missing variables, unknown variables, reported-energy mismatch, malformed solver metadata, and malformed embedding metadata. +- Certificate validation that fails closed when embedded external replay evidence is rejected, inconsistent, or artifact-hash invalid. +- Deterministic solver-boundary evidence under `docs/results/solver_boundary_evidence.json`. +- Lean replay-boundary kernel and TLA+ single-candidate replay state sketch, scoped to simplified formal predicates. +- macOS Python runner selection hardened for universal Python environments where shell architecture and installed NumPy architecture can differ. + +### Positioning + +Noetheris v0.2.0 does not execute IBM Quantum or D-Wave hardware, does not benchmark cloud solvers, does not infer hardware embedding quality, and does not claim quantum advantage. + +External solver metadata and embedding metadata are recorded as supplied evidence. Local replay remains the verification authority: hashes, assignment domains, and energies must verify locally before a candidate can be accepted. + +### Validation + +The release gate is: + +```bash +bash scripts/run_audit.sh +``` + +The audit covers Rust check/test/fmt/clippy, Python compilation and pytest, examples, CLI checks, deterministic release evidence generation, benchmarks, optional-backend boundary checks, Lean build when available, and release-residue source scans. diff --git a/scripts/run_audit.sh b/scripts/run_audit.sh index 9c55476..ef66b85 100755 --- a/scripts/run_audit.sh +++ b/scripts/run_audit.sh @@ -52,7 +52,7 @@ hex_terms=( ) pattern="$(for encoded in "${hex_terms[@]}"; do printf '%s\n' "${encoded}" | xxd -r -p; done | paste -sd '|' -)" if rg -n -i "${pattern}" \ - README.md RELEASE_NOTES_v0.1.0.md SECURITY.md CONTRIBUTING.md CODE_OF_CONDUCT.md ROADMAP.md CHANGELOG.md \ + README.md RELEASE_NOTES_v0.1.0.md RELEASE_NOTES_v0.2.0.md SECURITY.md CONTRIBUTING.md CODE_OF_CONDUCT.md ROADMAP.md CHANGELOG.md \ docs python crates examples tests formal scripts benchmarks .github; then echo "audit phrase scan failed" >&2 exit 1