Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
33 changes: 33 additions & 0 deletions RELEASE_NOTES_v0.2.0.md
Original file line number Diff line number Diff line change
@@ -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.
2 changes: 1 addition & 1 deletion scripts/run_audit.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Loading