Skip to content

Commit fccec2e

Browse files
committed
chore: bump all docs/version refs 0.6.7->0.6.8, remove scratch files
1 parent 5922d7d commit fccec2e

14 files changed

Lines changed: 49 additions & 283 deletions

CHANGELOG.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,16 @@ environment so report figures trace back to a specific build.
88
## [Unreleased]
99

1010
### Notes
11-
- v0.6.7 has been published to PyPI, closing the publish pipeline gap.
12-
- The "Not independently re-tested this session" items under v0.6.7 Added remain a known verification debt — re-verified in a subsequent release.
11+
- v0.6.8 hotfix published to PyPI, superseding the broken v0.6.7.
12+
13+
## [0.6.8] - 2026-07-22
14+
15+
### Fixed
16+
- **v0.6.7 was completely unimportable**: `__init__.py` unconditionally accessed `_native_module.HybridCascadeDecoder`, which is absent from the compiled module. All 18 native-module lookups now use `_guard("ClassName")` — missing symbols return a callable stub that raises `RuntimeError` at decode-time. Import always succeeds.
17+
- **CI YAML broken**: smoke-test `run:` step had unindented Python code inside a literal block scalar, breaking GitHub's parser. No workflow triggers worked (`workflow_dispatch`, tag push, pull_request). Fixed by indenting the inline Python to match the content level.
18+
19+
### Added
20+
- **CI smoke test before publish**: installs wheel, imports `qector_decoder_v3`, instantiates `sparse_blossom` decoder. Catches unimportable wheels before they reach PyPI.
1321

1422
## [0.6.7] - 2026-07-20
1523

CITATION.cff

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ authors:
66
- family-names: Lessard
77
given-names: Guillaume
88
affiliation: iD01t Productions
9-
version: 0.6.7
9+
version: 0.6.8
1010
date-released: 2026-07-20
1111
url: https://www.qector.store
1212
repository-code: https://github.com/GuillaumeLessard/qector-decoder

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ samples = sinter.collect(
166166

167167
---
168168

169-
## Self-Auto-Debug Backend Architecture (v0.6.7)
169+
## Self-Auto-Debug Backend Architecture (v0.6.8)
170170

171171
`AutoDecoder` implements a **7-tier fault-tolerant self-debugging fallback engine** that automatically selects, monitors, and recovers from hardware failures:
172172

@@ -188,7 +188,7 @@ Key features:
188188

189189
---
190190

191-
## Licensing & Activation (v0.6.7)
191+
## Licensing & Activation (v0.6.8)
192192

193193
### Ed25519 Cryptographic License Verification
194194

@@ -216,7 +216,7 @@ Commercial licenses are issued automatically via Stripe Checkout:
216216

217217
---
218218

219-
## v0.6.7 highlights
219+
## v0.6.8 highlights
220220

221221
| Area | Description |
222222
| --- | --- |
@@ -374,7 +374,7 @@ QECTOR Decoder v3 is **source-available**. Personal, academic, educational, and
374374
author = {Guillaume Lessard},
375375
title = {{QECTOR Decoder v3}: Rust/Python Quantum Error Correction Decoding Platform},
376376
year = {2026},
377-
version = {0.6.7},
377+
version = {0.6.8},
378378
url = {https://www.qector.store},
379379
note = {Source-available. Commercial license required for commercial use.}
380380
}

RELEASE_NOTES.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,18 @@
22

33
All notable changes to QECTOR Decoder will be documented in this file.
44

5+
## [0.6.8] - 2026-07-22
6+
**Focus**: Hotfix for unimportable v0.6.7 wheel — guarded imports, CI smoke test, YAML fix.
7+
8+
### Fixed
9+
- **v0.6.7 was completely unimportable** on all published wheels. `__init__.py:37` unconditionally accessed `_native_module.HybridCascadeDecoder`, which does not exist in the current Rust build (symbol never registered in `#[pymodule]`). All 18 native-module lookups are now guarded by `_guard("ClassName")` — missing symbols return a callable stub that raises `RuntimeError` on instantiation. `import qector_decoder_v3` now always succeeds.
10+
- **CI YAML syntax error**: the smoke-test `run:` step contained unindented Python code inside a literal block scalar, causing GitHub's parser to fail on the entire workflow file. This broke `workflow_dispatch`, tag-push triggers, and all CI runs silently (0 jobs, `failure` conclusion). Fixed by indenting the inline Python script to match the literal block's content level.
11+
12+
### Added
13+
- **CI smoke test**: `release` job now installs the built wheel, runs `import qector_decoder_v3`, creates a code, and decodes before `twine upload`. This would have caught the v0.6.7 regression.
14+
15+
---
16+
517
## [0.6.7] - 2026-07-22
618
**Focus**: Self-auto-debug backend, offline licensing, and Stripe fulfillment.
719

codemeta.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"@context":"https://doi.org/10.5063/schema/codemeta-2.0","@type":"SoftwareSourceCode","name":"QECTOR Decoder v3","version":"0.6.7","description":"Production-grade Rust/Python quantum error correction decoder. 25+ decoder families: MWPM Blossom, Union-Find, BP-OSD, LDPC/qLDPC, belief-matching, CUDA/GPU batch decoding, 7-tier AutoDecoder fallback. PyMatching/Stim/Sinter compatible. Ed25519 license verification.","codeRepository":"https://github.com/GuillaumeLessard/qector-decoder","url":"https://www.qector.store","downloadUrl":"https://pypi.org/project/qector-decoder-v3/","identifier":"https://doi.org/10.5281/zenodo.20825980","license":"https://www.qector.store/license.html","programmingLanguage":["Python","Rust"],"runtimePlatform":["CPython 3.9","CPython 3.10","CPython 3.11","CPython 3.12","CPython 3.13","Linux x86_64","Windows x64","macOS arm64"],"keywords":["quantum error correction","QEC","quantum computing","quantum decoder","MWPM","PyMatching","Stim","Sinter","LDPC","qLDPC","BP-OSD","belief matching","union find decoder","surface code","Rust","Python","PyO3","maturin","QECTOR"],"author":{"@type":"Person","givenName":"Guillaume","familyName":"Lessard","affiliation":"iD01t Productions"},"publisher":{"@type":"Organization","name":"iD01t Productions"}}
1+
{"@context":"https://doi.org/10.5063/schema/codemeta-2.0","@type":"SoftwareSourceCode","name":"QECTOR Decoder v3","version":"0.6.8","description":"Production-grade Rust/Python quantum error correction decoder. 25+ decoder families: MWPM Blossom, Union-Find, BP-OSD, LDPC/qLDPC, belief-matching, CUDA/GPU batch decoding, 7-tier AutoDecoder fallback. PyMatching/Stim/Sinter compatible. Ed25519 license verification.","codeRepository":"https://github.com/GuillaumeLessard/qector-decoder","url":"https://www.qector.store","downloadUrl":"https://pypi.org/project/qector-decoder-v3/","identifier":"https://doi.org/10.5281/zenodo.20825980","license":"https://www.qector.store/license.html","programmingLanguage":["Python","Rust"],"runtimePlatform":["CPython 3.9","CPython 3.10","CPython 3.11","CPython 3.12","CPython 3.13","Linux x86_64","Windows x64","macOS arm64"],"keywords":["quantum error correction","QEC","quantum computing","quantum decoder","MWPM","PyMatching","Stim","Sinter","LDPC","qLDPC","BP-OSD","belief matching","union find decoder","surface code","Rust","Python","PyO3","maturin","QECTOR"],"author":{"@type":"Person","givenName":"Guillaume","familyName":"Lessard","affiliation":"iD01t Productions"},"publisher":{"@type":"Organization","name":"iD01t Productions"}}

docs/SERVICE_API_SCHEMA.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ Response example:
4949
{
5050
"status": "ok",
5151
"decoder": "QECTOR UnionFind",
52-
"version": "0.6.7"
52+
"version": "0.6.8"
5353
}
5454
```
5555

@@ -61,7 +61,7 @@ FastAPI response example:
6161

6262
```json
6363
{
64-
"version": "0.6.7",
64+
"version": "0.6.8",
6565
"framework": "fastapi",
6666
"decoder_backend": "rust-pyo3"
6767
}
@@ -100,7 +100,7 @@ Response example:
100100
"correction": [0, 1, 0, 0],
101101
"n_qubits": 4,
102102
"n_checks": 3,
103-
"version": "0.6.7"
103+
"version": "0.6.8"
104104
}
105105
```
106106

examples/example_auto_routing.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/env python3
22
"""
3-
example_auto_routing.py — QECTOR Decoder v3 (v0.6.7) decoder auto-routing
3+
example_auto_routing.py — QECTOR Decoder v3 (v0.6.8) decoder auto-routing
44
55
Demonstrates ``qector_decoder_v3.routing``:
66
@@ -29,7 +29,7 @@
2929

3030
def main():
3131
print("=" * 70)
32-
print("QECTOR v3 (0.6.7) — Decoder Auto-Routing")
32+
print("QECTOR v3 (0.6.8) — Decoder Auto-Routing")
3333
print("=" * 70)
3434
hw = routing.detect_hardware()
3535
print(f"\nDetected hardware: cuda_rust={hw.cuda_rust} gpu(cupy)={hw.gpu}")

examples/example_cupy_bp.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/env python3
22
"""
3-
example_cupy_bp.py — QECTOR Decoder v3 (v0.6.7) batched GPU BP-OSD
3+
example_cupy_bp.py — QECTOR Decoder v3 (v0.6.8) batched GPU BP-OSD
44
55
Demonstrates the CuPy-accelerated, GPU-resident batched belief propagation that
66
feeds BP-OSD (``qector_decoder_v3.bp_cupy`` + ``qector_decoder_v3.bposd``) on a
@@ -40,7 +40,7 @@ def syndrome_validity(H: np.ndarray, corr: np.ndarray, syn: np.ndarray) -> np.nd
4040

4141
def main():
4242
print("=" * 64)
43-
print("QECTOR v3 (0.6.7) — Batched GPU BP-OSD on a qLDPC code")
43+
print("QECTOR v3 (0.6.8) — Batched GPU BP-OSD on a qLDPC code")
4444
print("=" * 64)
4545

4646
# ---- Capability snapshot (honest hardware report) --------------------

examples/example_streaming_session.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/env python3
22
"""
3-
example_streaming_session.py — QECTOR Decoder v3 (v0.6.7) streaming orchestration
3+
example_streaming_session.py — QECTOR Decoder v3 (v0.6.8) streaming orchestration
44
55
Demonstrates the higher-level Python streaming layer
66
``qector_decoder_v3.streaming`` (``StreamingSession`` + ``sliding_window_decode``),
@@ -43,7 +43,7 @@ def make_stream(code, n_rounds, p, rng):
4343

4444
def main():
4545
print("=" * 70)
46-
print("QECTOR v3 (0.6.7) — Streaming Session (window + commit) orchestration")
46+
print("QECTOR v3 (0.6.8) — Streaming Session (window + commit) orchestration")
4747
print("=" * 70)
4848
print(f"\nGPU backend active module: {gb.get_backend().summary()['active_module']}")
4949

fuck.md

Lines changed: 0 additions & 67 deletions
This file was deleted.

0 commit comments

Comments
 (0)