quantum-reasoning-skill 1.1.3 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +17 -4
  2. package/VERSION +1 -1
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -129,7 +129,7 @@ never generates reasoning and never calls a model — it only consumes measureme
129
129
  | `BranchMetrics`, `Branch`, `BranchState` | input types; `BranchMetrics` rejects values outside `[0, 1]` |
130
130
  | `branch_score`, `effective_independence` | weighted score in `[0, 1]`, after penalising branches that share assumptions or near-duplicate a leader |
131
131
  | `classify_branch`, `update_branch_state`, `should_revive` | move a branch to `dormant` or `rejected`, or revive it on material new evidence |
132
- | `collapse_decision` | `(can_collapse, reason, leader)`; refuses when the margin is too small or a strong alternative is unresolved |
132
+ | `collapse_decision` | `(can_collapse, reason, leader)`; refuses when the margin is too small or a strong alternative is unresolved. The high-information guard runs **before** the generic margin check — its band sits inside the generic one, so the other order hides it |
133
133
  | `uncertainty_from_branches`, `normalized_entropy` | normalised Shannon entropy over surviving branch scores |
134
134
  | `recommended_width` | uncertainty → suggested branch count for the next step |
135
135
  | `diversity_ratio`, `rank_branches` | fraction of branch pairs that are materially distinct; ordering helper |
@@ -150,20 +150,33 @@ producing more text: `benchmark/evaluate.py` (evaluator), `benchmark/validate_su
150
150
  python benchmark/evaluate.py --cases benchmark/cases.jsonl --skill skill-results.jsonl
151
151
  ```
152
152
 
153
+ `--cases` is optional: it defaults to the packaged seed cases. Paths are resolved against the
154
+ current working directory, so the command above runs unchanged from a fresh clone. If a named
155
+ file does not exist the evaluator prints a typed error, names the flag, and exits 2 — it never
156
+ substitutes placeholder rows, because a fabricated measurement is worse than a missing one.
153
157
  Inputs are confined to `--cases-dir` (default: each input's own directory), `--output` must
154
158
  stay inside it, and reads are bounded by `--max-bytes`. Both `python benchmark/evaluate.py`
155
159
  and `python -m benchmark.evaluate` work.
156
160
 
157
161
  ## Tests, tooling and governance
158
162
 
159
- About **43% of the Python here is tests** — 1,575 of 3,635 lines across **9 test modules**,
163
+ About **44% of the Python here is tests** — 3,714 of 8,483 lines across **15 test modules**,
160
164
  run with the standard library's `unittest` on Python 3.10–3.14 on Linux, Windows and macOS.
161
165
  They cover the controller, the benchmark harness, import hardening, path boundaries,
162
- dependency-lock drift and release-gate polling; `tests/test_readme_badges.py` keeps this
163
- file's badges honest. The toolchain is pinned twice — `pyproject.toml`'s `dev` group with
166
+ dependency-lock drift and release-gate polling; the documented benchmark command run as a
167
+ subprocess against a clean copy of the tree; the `paths` filters that decide when a release
168
+ publishes, derived from `pyproject.toml` and `package.json` rather than hand-listed; and
169
+ `tests/test_docs_counts.py`, which recomputes the counts in this paragraph so they cannot go
170
+ stale, beside `tests/test_readme_badges.py` keeping this file's badges honest. The toolchain is
171
+ pinned twice — `pyproject.toml`'s `dev` group with
164
172
  `==`, and [`constraints.txt`](constraints.txt) with `==` **and** `--hash` digests for the full
165
173
  transitive closure ([details](CONTRIBUTING.md#toolchain-pinning)).
166
174
 
175
+ All numeric comparisons in the suite use one documented tolerance
176
+ (`conftest.NUMERIC_TOLERANCE = 1e-6`), chosen because the committed artifacts round their
177
+ floats to six decimals — exact equality rejects correct artifacts
178
+ ([rationale](docs/MEASUREMENT.md#numeric-tolerance-for-artifact-comparisons)).
179
+
167
180
  Also here: [`codemeta.json`](codemeta.json) for machine-readable citation beside
168
181
  [`CITATION.cff`](CITATION.cff); five issue templates (bug, feature, question, benchmark
169
182
  result, plus a chooser in `config.yml`) and a pull-request template; a
package/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.3
1
+ 1.1.4
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "quantum-reasoning-skill",
3
- "version": "1.1.3",
3
+ "version": "1.1.4",
4
4
  "description": "Quantum-inspired reasoning skill for exploring multiple solution paths",
5
5
  "main": "index.js",
6
6
  "bin": {