axiomize-quantum-skills-2.0 1.2.0
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.
- package/CHANGELOG.md +518 -0
- package/LICENSE +21 -0
- package/README.md +276 -0
- package/bin/axiomize-quantum.js +2 -0
- package/index.js +72 -0
- package/package.json +46 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,518 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to Axiomize are documented here. Axiomize follows semantic versioning; release claims are tied to exact-wheel CI/release evidence.
|
|
4
|
+
|
|
5
|
+
## How to read this file
|
|
6
|
+
|
|
7
|
+
This changelog covers **two version lineages** that share one history, which used to make
|
|
8
|
+
the version numbers ambiguous. They are now separated:
|
|
9
|
+
|
|
10
|
+
| Lineage | Range | Where it lives |
|
|
11
|
+
|---|---|---|
|
|
12
|
+
| **Current distribution** `axiomize-quantum-skills-2.0` | 1.0.0 (2026-09-19) → present | [Releases](#releases-axiomize-quantum-skills-20) below, up to and including the current version |
|
|
13
|
+
| **Upstream lineage** of the `Furox-Art/axiomize` repository | 1.0.0 (2026-08-24) → 1.12.2 (2026-09-05), then 2.0.0 and 2.1.0 (2026-09-16) | [Upstream lineage](#upstream-lineage-furox-artaxiomize) further down, marked with an H1 |
|
|
14
|
+
|
|
15
|
+
Two consequences worth stating plainly:
|
|
16
|
+
|
|
17
|
+
- The engine code that became this package shipped first as `Furox-Art/axiomize` at version
|
|
18
|
+
1.12.2. Versions 1.13 through 2.1.0 therefore belong to that repository, **not** to a
|
|
19
|
+
release of the `axiomize-quantum-skills-2.0` distribution on PyPI.
|
|
20
|
+
- The distribution name `axiomize-quantum-skills-2.0` restarted the numbering at 1.0.0 on
|
|
21
|
+
2026-09-19. So `1.0.0`, `1.1.0` and `1.2.0` each appear twice below. The earlier of each
|
|
22
|
+
pair is upstream history; the later one is a real release of this package, identifiable
|
|
23
|
+
by its date and by the tag on the GitHub Releases page for this repository.
|
|
24
|
+
- The npm package `axiomize-quantum-skills-2.0` is published at `2.0.0`. That number is not
|
|
25
|
+
part of this lineage and does not correspond to any release here. (Superseded: #25 pinned
|
|
26
|
+
`package.json` to `1.2.0` and CI now enforces the lockstep, so the next npm release
|
|
27
|
+
carries the current version. The registry still serves `2.0.0` until that publish
|
|
28
|
+
happens.)
|
|
29
|
+
|
|
30
|
+
`python .github/scripts/check_release_contract.py` enforces the version lockstep across
|
|
31
|
+
`pyproject.toml`, `src/axiomize/__init__.py`, `.github/pypi-release-trigger`, `README.md` and
|
|
32
|
+
the first `## [x.y.z]` heading in this file. That is why the first release heading must
|
|
33
|
+
always be the current version.
|
|
34
|
+
|
|
35
|
+
## Unreleased
|
|
36
|
+
|
|
37
|
+
### Changed
|
|
38
|
+
|
|
39
|
+
- **npm status corrected after #25.** #25 fixed `index.js` and pinned `package.json` to
|
|
40
|
+
`1.2.0`, so the documentation no longer describes the npm CLI as broken in the source.
|
|
41
|
+
It does describe it accurately for users, because the fix is **not yet published**:
|
|
42
|
+
`registry.npmjs.org` still serves `2.0.0`, uploaded 2026-09-28, whose `index.js` is the
|
|
43
|
+
old `proc.on('close', (code) =; }` and whose tarball is 303 files / 2.1 MB. So
|
|
44
|
+
`npx axiomize-quantum` still fails while `node bin/axiomize-quantum.js` works from a
|
|
45
|
+
checkout. Verified on the merged tree: `node --check` exits 0 on both JavaScript files,
|
|
46
|
+
`node index.js --help` exits 0, a bad subcommand exits 2, `require('./index.js')`
|
|
47
|
+
resolves, and `npm pack --dry-run` produces 6 files / 41.2 kB. PyPI 1.2.0 is the
|
|
48
|
+
supported install.
|
|
49
|
+
- README, `docs/index.md`, `docs/tutorial.md`, `docs/integrations.md` and
|
|
50
|
+
`docs/publishing-checklist.md` now say "npm is behind, PyPI is current" instead of either
|
|
51
|
+
"npm is broken" or "npm works". Benchmark and command provenance now cites the merge
|
|
52
|
+
commit rather than the pre-merge one, and the 25-case corpus was re-graded on the merged
|
|
53
|
+
tree: still 25/25 PASS at 10.0/10 with identical lens counts.
|
|
54
|
+
- `SECURITY.md` records the exact API response behind its reporting guidance
|
|
55
|
+
(`{"enabled":false}`), names the advisories endpoint so a reader can see it does not work
|
|
56
|
+
yet, and states the single settings change that would fix it. The fallback instructions
|
|
57
|
+
are unchanged because the setting is genuinely still disabled.
|
|
58
|
+
|
|
59
|
+
### Added
|
|
60
|
+
|
|
61
|
+
- `CITATION.cff` so the package can be cited, and `CODE_OF_CONDUCT.md`.
|
|
62
|
+
- Issue templates for bugs, feature requests and questions, plus `.github/ISSUE_TEMPLATE/config.yml`
|
|
63
|
+
routing security reports and documentation questions to the right pages. Bare issues are
|
|
64
|
+
now redirected to the templates.
|
|
65
|
+
- `docs/quickstart-model-ir.json`: a complete, copy-pasteable Model IR request used by the
|
|
66
|
+
README and tutorial quickstarts.
|
|
67
|
+
- A documentation section that shows the engine working: the previously unreferenced
|
|
68
|
+
`docs/sir-demo.gif`, `docs/sir-example.png` and `docs/report-sample.pdf` are now embedded
|
|
69
|
+
with captions describing what they show.
|
|
70
|
+
- Repository metadata: topics covering the causal, dimensional, uncertainty and
|
|
71
|
+
reproducibility surfaces, and a description that states the released version instead of
|
|
72
|
+
claiming "Axiomize 2.0".
|
|
73
|
+
|
|
74
|
+
### Fixed
|
|
75
|
+
|
|
76
|
+
- **Every cross-repository link now points at this repository.** `docs/tutorial.md` told
|
|
77
|
+
readers to `git clone https://github.com/Furox-Art/axiomize` — a different repository with
|
|
78
|
+
a different release line — and to copy a skill path from it. It now clones this
|
|
79
|
+
repository. `docs/example-gallery.md` linked all 13 of its example links plus its
|
|
80
|
+
"full texts live in" link to the sibling repository, and `docs/benchmark-results.md`
|
|
81
|
+
linked 11 of its report links there; both now resolve to files in this repository. The
|
|
82
|
+
gallery's `#the-fifteen-lenses` anchor pointed at a heading that does not exist in the
|
|
83
|
+
target README; the lens list is now stated locally.
|
|
84
|
+
- `docs/example-gallery.md` covered 11 of the 18 examples in `examples/`. All 18 are now
|
|
85
|
+
listed, each verified to exist, each linked exactly once.
|
|
86
|
+
- **The tutorial's commands work against the current API.** `docs/tutorial.md` now records
|
|
87
|
+
`intake`, `policy` and `model` (which did not exist when it was written), and each command
|
|
88
|
+
in it was executed against 1.2.0 at commit `eb70a47` on CPython 3.12.10 before being
|
|
89
|
+
documented. It gains a troubleshooting table covering the errors a new user actually hits,
|
|
90
|
+
including the Model IR wrapper requirement, unknown units, and UTF-8 BOM input.
|
|
91
|
+
- `docs/integrations.md` listed 14 MCP tools; the server exposes 34. It listed 6 REST
|
|
92
|
+
routes; 27 exist. Both are now accurate, with the route table verified against a live
|
|
93
|
+
`axiomize serve`. The `{"command":"axiomize","args":["mcp"]}` config is verified by a real
|
|
94
|
+
`initialize` + `tools/list` handshake.
|
|
95
|
+
- `docs/integrations.md` implied `axiomize solve --json` produces a run id you can pass to
|
|
96
|
+
`axiomize reproduce`. It does not — the payload has no `run_id`. That is now stated.
|
|
97
|
+
- `docs/integrations.md` listed "Hermes Agent — SUPPORTED (built and tested here)" and
|
|
98
|
+
checked boxes for Claude Code, Cursor, OpenCode and OpenCode. No field test against any of
|
|
99
|
+
these is recorded in this repository, so the table now states what was actually exercised:
|
|
100
|
+
MCP protocol conformance and live REST responses. The unverifiable row and the checkmarks
|
|
101
|
+
are gone.
|
|
102
|
+
- `docs/integrations.md` and `SECURITY.md` now name the correct token environment variable
|
|
103
|
+
(`AXIOMIZE_REST_TOKEN`, minimum 16 characters) and recommend the environment over
|
|
104
|
+
`--auth-token`.
|
|
105
|
+
- `SECURITY.md` referred to GitHub private vulnerability reporting "when available". It is
|
|
106
|
+
**not** enabled on this repository, so the policy now says so and gives the routes that do
|
|
107
|
+
work, plus what a maintainer can do to close the gap.
|
|
108
|
+
- `mkdocs.yml` had no `site_url`, so the published `sitemap.xml` was an empty `<urlset/>` —
|
|
109
|
+
zero URLs, silently. It now emits 20. Added the `search` plugin, so `/search/` resolves
|
|
110
|
+
instead of 404ing.
|
|
111
|
+
- `mkdocs.yml` listed 6 pages in nav while 14 more were built but unreachable. All are now in
|
|
112
|
+
the nav, grouped. `mkdocs build --strict` is clean with zero warnings.
|
|
113
|
+
- The documentation site homepage linked only the example gallery and PyPI. It now links
|
|
114
|
+
the tutorial, integrations, benchmark results, security, contributing, code of conduct,
|
|
115
|
+
changelog, citation and license.
|
|
116
|
+
- `docs/publishing-checklist.md` was a submission checklist for the sibling repository,
|
|
117
|
+
including a "README GIF renders" item that could not pass here. It is rewritten for this
|
|
118
|
+
package, with an explicit "do not claim" table.
|
|
119
|
+
- README no longer shows a PyPI downloads badge. `img.shields.io/pypi/dm/axiomize-quantum-skills-2.0`
|
|
120
|
+
answers HTTP 200 while rendering `downloads: rate limited by upstream service` (or
|
|
121
|
+
`downloads: inaccessible`), because shields.io scrapes a third-party download API.
|
|
122
|
+
The README now links the PyPI and npm project pages, which always answer HTTP 200 and
|
|
123
|
+
always carry the real numbers. No count is hardcoded. New
|
|
124
|
+
`tests/test_readme_badges.py` fails if a dynamic download badge or a hand-copied
|
|
125
|
+
download count reappears.
|
|
126
|
+
- README badge markup: `img.shields.io/badge/python-3.10%2B-informational` rendered the
|
|
127
|
+
literal text `3.10%2B` instead of `3.10+`. Replaced with `img.shields.io/python-3.10+-blue`.
|
|
128
|
+
- The README described the package as "Axiomize 2.0" and documented `npx axiomize-quantum`
|
|
129
|
+
as a working quickstart. It is neither: the released line is 1.2.0, and the published npm
|
|
130
|
+
`index.js` fails `node --check` with a syntax error, so that command cannot run. The
|
|
131
|
+
README now states the released version and lists the npm breakage under honest limits
|
|
132
|
+
rather than advertising it as a way in.
|
|
133
|
+
|
|
134
|
+
### Changed
|
|
135
|
+
|
|
136
|
+
- README rewritten to document the surface that actually ships: 9 CLI entry points, 14
|
|
137
|
+
`axiomize` subcommands, 34 MCP tools, the REST routes, and the two installable agent
|
|
138
|
+
skills. It previously documented none of them.
|
|
139
|
+
- `docs/benchmark-results.md` no longer reports per-wave scores such as a "suite average
|
|
140
|
+
9.21/10" attributed to blind-test sessions by independent agents. Those figures had no
|
|
141
|
+
retained transcripts, could not be reproduced, and one was mis-stated in place. The page
|
|
142
|
+
now carries a provenance block (script, package version, commit, Python, numeric stack)
|
|
143
|
+
for a run that was actually executed and re-executed while writing it, plus the full
|
|
144
|
+
25-case result table, the 12 cases that carry a numeric oracle, and an explicit statement
|
|
145
|
+
of what the automated layer does not check. The stored reports are described as
|
|
146
|
+
maintainer-authored rather than as independent-agent output.
|
|
147
|
+
- `docs/benchmark-results.md` described "skill version at test time: v1.3.0 content". No 1.3.0
|
|
148
|
+
exists in this repository's release line; the claim is removed.
|
|
149
|
+
- `docs/example-gallery.md` labels its 18 examples as illustrative worked reports rather than
|
|
150
|
+
measured results, and states the parameter-provenance conventions (`exo`/`endo`,
|
|
151
|
+
`lit.`/`data`/`est.`).
|
|
152
|
+
- `docs/worked-examples.md` is labelled as illustrative sketches with no recorded run, and
|
|
153
|
+
points at the graded corpus for reproducible numbers.
|
|
154
|
+
- This changelog now separates the upstream lineage from this distribution's releases, so a
|
|
155
|
+
reader can tell which version numbers refer to a real release here.
|
|
156
|
+
|
|
157
|
+
## Releases (axiomize-quantum-skills-2.0)
|
|
158
|
+
|
|
159
|
+
## [1.2.0] - 2026-09-30
|
|
160
|
+
|
|
161
|
+
### Added
|
|
162
|
+
|
|
163
|
+
- causal estimators now carry external-reference checks against statsmodels: front-door
|
|
164
|
+
(`x→m`, `m→y` and direct-effect) point estimates and HC1 standard errors match statsmodels
|
|
165
|
+
OLS, and binary AIPW matches a statsmodels Logit propensity plus two OLS outcome models
|
|
166
|
+
(PR #19; `tests/test_numerical_reference.py::TestCausalExternalReference`)
|
|
167
|
+
- `exponential` and `student_t` log-likelihoods in the package-native Bayesian engine, both
|
|
168
|
+
checked against `scipy.stats` (PR #20; `tests/test_bayesian_likelihoods.py`)
|
|
169
|
+
- optional Metropolis-adjusted Langevin sampling via `sampler: langevin` (alias `mala`); a
|
|
170
|
+
non-finite gradient step falls back to random-walk Metropolis for that iteration. The
|
|
171
|
+
default sampler is unchanged and remains Metropolis-Hastings (PR #20)
|
|
172
|
+
- benchmark corpus grown from 20 to 25 closed-form cases with formula-checked oracles
|
|
173
|
+
(PR #21; `benchmarks/ideas.json`, `tests/test_benchmark_ideas.py`):
|
|
174
|
+
- physics: RC discharge, `10/e` V
|
|
175
|
+
- biology: three doublings, 8000 cells
|
|
176
|
+
- chemistry: first-order half-life, `ln(2)/0.1` h
|
|
177
|
+
- operations: M/M/1 queue wait, 0.8 h
|
|
178
|
+
- causal: randomized difference in means, 4
|
|
179
|
+
|
|
180
|
+
## [1.1.1] - 2026-09-29
|
|
181
|
+
|
|
182
|
+
- Metadata-only patch release: refreshed PyPI keywords, classifiers, and discovery metadata; no functional API changes.
|
|
183
|
+
|
|
184
|
+
## [1.1.0] - 2026-09-27
|
|
185
|
+
|
|
186
|
+
### Changed
|
|
187
|
+
|
|
188
|
+
- calibrated the reasoning branch-controller default `collapse_score` from 0.78 to 0.65 using
|
|
189
|
+
paired-sweep evidence (`benchmarks/reports/reasoning-threshold-sweep.md`): the 0.78 reference
|
|
190
|
+
never fired under bounded noisy evidence, while 0.65 fires early in clear regimes with zero
|
|
191
|
+
premature-wrong collapses; verification/margin/contradiction guards are unchanged
|
|
192
|
+
- `skills/quantum-reasoning/docs/MEASUREMENT.md` documents the calibrated threshold and its evidence
|
|
193
|
+
|
|
194
|
+
### Added
|
|
195
|
+
|
|
196
|
+
- offline ablation harness `axiomize.reasoning.ablation` comparing the branch controller against
|
|
197
|
+
argmax-commit and top-2 beam baselines on deterministic ground-truth episodes, including
|
|
198
|
+
regime-shift cases; report: `benchmarks/reports/reasoning-ablation.md`
|
|
199
|
+
- paired collapse-threshold sweep + safety-first `recommend_threshold` selector; report:
|
|
200
|
+
`benchmarks/reports/reasoning-threshold-sweep.md`
|
|
201
|
+
- benchmark corpus broadened to 20 cases (physics/biology/chemistry/operations/causal) with
|
|
202
|
+
stored blind-test reports for every case
|
|
203
|
+
- causal estimators now carry external-reference checks against statsmodels (IV/2SLS, HC1 OLS)
|
|
204
|
+
- community regression tests for numeric-oracle keyword alternatives (PR #11)
|
|
205
|
+
- README PyPI version/downloads badges
|
|
206
|
+
|
|
207
|
+
### Housekeeping
|
|
208
|
+
|
|
209
|
+
- CI action pins bumped (upload-artifact 7.0.1, download-artifact 8.0.1 via Dependabot)
|
|
210
|
+
|
|
211
|
+
## [1.0.0] - 2026-09-19
|
|
212
|
+
|
|
213
|
+
### First independent release
|
|
214
|
+
|
|
215
|
+
- first release under the distribution name `axiomize-quantum-skills-2.0`
|
|
216
|
+
- carries the full merged engine: Model IR, native model families, causal/Bayesian inference,
|
|
217
|
+
uncertainty and provenance layers, plus `axiomize.reasoning` (quantum-inspired multi-branch
|
|
218
|
+
hypothesis management) and the self-contained `skills/quantum-reasoning/` skill folder
|
|
219
|
+
- stored blind-test benchmark coverage completed: all 15 cases in `benchmarks/ideas.json`
|
|
220
|
+
have reports and grade 10/10
|
|
221
|
+
- CI fully green across Python 3.10-3.13 and Linux/macOS/Windows wheel smoke;
|
|
222
|
+
trusted-publishing release pipeline publishes the exact tested wheel to PyPI
|
|
223
|
+
|
|
224
|
+
# Upstream lineage: Furox-Art/axiomize
|
|
225
|
+
|
|
226
|
+
Everything below was released from the `Furox-Art/axiomize` repository, not from the
|
|
227
|
+
`axiomize-quantum-skills-2.0` distribution. No tag below exists on this repository's
|
|
228
|
+
Releases page, and none of these version numbers identifies a build of this package. The
|
|
229
|
+
code described here is what became this package at 1.0.0 on 2026-09-19.
|
|
230
|
+
|
|
231
|
+
## [2.1.0] - 2026-09-16
|
|
232
|
+
|
|
233
|
+
### Added
|
|
234
|
+
|
|
235
|
+
- the quantum-reasoning skill is now a self-contained skill folder, `skills/quantum-reasoning/`, holding `SKILL.md`, `VERSION`, `docs/` and `examples/` (moved from the flat `skills/quantum-reasoning-SKILL.md` file)
|
|
236
|
+
- `axiomize.reasoning.benchmark` is now an importable subpackage; the evaluator and submission validator still run standalone
|
|
237
|
+
- ported benchmark/submission contracts plus CLI and controller edge-branch tests: `tests/test_reasoning_benchmark.py`, `tests/test_reasoning_quantum.py`, `tests/test_reasoning_contracts.py`, `tests/test_reasoning_cli.py` — 89 reasoning tests, 98% coverage across the merged `axiomize.reasoning` and `axiomize.workflow.reasoning_adapter` modules (branch controller and adapter at 100%)
|
|
238
|
+
- `skills/quantum-reasoning/SKILL.md` frontmatter description now carries an explicit trigger phrase so skill loaders route it correctly
|
|
239
|
+
- `dist/` and `build/` are ignored; local wheel builds no longer show up as untracked files
|
|
240
|
+
|
|
241
|
+
### Changed
|
|
242
|
+
|
|
243
|
+
- `skills/axiomize/tools/check_skill.py` now validates every skill folder in the repo (frontmatter, folder/name match, trigger phrase and relative links) instead of only `skills/axiomize`
|
|
244
|
+
- both CI and the release workflow run the full quantum-reasoning contract (`tests/test_reasoning_quantum.py` + `tests/test_reasoning_benchmark.py`)
|
|
245
|
+
- the quantum-reasoning docs live only in `skills/quantum-reasoning/docs/`; the duplicated copies under `src/axiomize/reasoning/docs/` were removed
|
|
246
|
+
- relative links in the ported skill docs, examples and benchmark README now resolve inside the merged layout
|
|
247
|
+
- `pyproject.toml` ships the whole skill folder in the wheel as `axiomize/quantum-reasoning/`
|
|
248
|
+
|
|
249
|
+
## [2.0.0] - 2026-09-16
|
|
250
|
+
|
|
251
|
+
### Merged
|
|
252
|
+
|
|
253
|
+
- merged standalone `quantum-reasoning-skill` v0.3.1 into `axiomize.reasoning` (same `axiomize` repo name, now version 2.0)
|
|
254
|
+
- `src/axiomize/reasoning/branch_controller.py` — deterministic branch score/prune/revive/collapse logic, ported verbatim
|
|
255
|
+
- `src/axiomize/reasoning/benchmark/` — evaluator, submission validator, seed cases + JSON schemas
|
|
256
|
+
- `src/axiomize/reasoning/docs/` — MEASUREMENT + COMPATIBILITY contracts
|
|
257
|
+
- `skills/quantum-reasoning/` — model-facing protocol, docs and examples (moved from the standalone repo layout)
|
|
258
|
+
- `tests/test_reasoning_quantum.py` — 8 ported tests, all passing
|
|
259
|
+
- previous `quantum-reasoning-skill` repo is superseded; its README now points here and the repo will be archived
|
|
260
|
+
|
|
261
|
+
## [1.12.2] - 2026-09-05
|
|
262
|
+
|
|
263
|
+
### Fixed / hardened
|
|
264
|
+
|
|
265
|
+
- synchronized the public README package line with the actual release version and made release CI enforce README/CHANGELOG/package/trigger version lockstep
|
|
266
|
+
- blocked the Release workflow from publishing when manually dispatched against any ref other than `refs/heads/main`
|
|
267
|
+
- rejected boolean values at shared finite numeric boundaries instead of silently coercing `True`/`False` to `1.0`/`0.0`
|
|
268
|
+
- bounded textual integer parsing before conversion so oversized integer strings fail before interpreter-dependent parsing limits are reached
|
|
269
|
+
- made run-manifest format-version validation exact, rejecting booleans and fractional values that previously could be accepted through `int(...)` coercion
|
|
270
|
+
- closed the superseded unmerged 1.12.0 scientific-maturity draft PR after the shipped 1.12.0/1.12.1 line replaced it
|
|
271
|
+
|
|
272
|
+
### Release gates
|
|
273
|
+
|
|
274
|
+
- full Python 3.10/3.11/3.12/3.13 validation
|
|
275
|
+
- security contract and dependency audit
|
|
276
|
+
- source and installed import-graph contracts
|
|
277
|
+
- exact built-wheel CLI/Model IR/export/surrogate/LaTeX/scientific stress checks
|
|
278
|
+
- Ubuntu/Linux, Windows and macOS exact-wheel CLI smoke
|
|
279
|
+
- Trusted Publishing-first PyPI publication and verification
|
|
280
|
+
|
|
281
|
+
## [1.12.1] - 2026-09-05
|
|
282
|
+
|
|
283
|
+
### Fixed
|
|
284
|
+
|
|
285
|
+
- PDE automatic solver planning now uses the same real `FEniCSAdapter.availability()` probe as the executable FEM path.
|
|
286
|
+
- DOLFINx-only installations are correctly routed to the bounded FEM executor instead of being misclassified as SciPy/method-of-lines only.
|
|
287
|
+
- a merely importable but unrunnable legacy FEniCS installation no longer causes the planner to advertise FEM execution incorrectly.
|
|
288
|
+
- public `general_engine.select_solver()` and direct `general_engine_core.select_solver()` now share the same PDE backend decision contract while preserving explicit user solver configuration.
|
|
289
|
+
|
|
290
|
+
## [1.12.0] - 2026-09-05
|
|
291
|
+
|
|
292
|
+
### Added
|
|
293
|
+
|
|
294
|
+
- all-family scientific benchmark/stress matrix with explicit per-case and total runtime budgets
|
|
295
|
+
- permanent exact-installed-wheel scientific stress gate in CI and release preflight
|
|
296
|
+
- Causal Engine 2.0:
|
|
297
|
+
- DAG cycle validation
|
|
298
|
+
- explicit/DAG-derived backdoor adjustment
|
|
299
|
+
- post-treatment-adjustment rejection
|
|
300
|
+
- AIPW doubly-robust, IPW and outcome-regression estimates for binary treatment
|
|
301
|
+
- robust continuous-treatment backdoor regression
|
|
302
|
+
- positivity/overlap, effective-sample-size and covariate-balance diagnostics
|
|
303
|
+
- bounded intervention/counterfactual predictions
|
|
304
|
+
- package-native Bayesian Engine 2.0:
|
|
305
|
+
- bounded multi-chain random-walk Metropolis
|
|
306
|
+
- split R-hat, bulk ESS and MCSE
|
|
307
|
+
- posterior interval summaries
|
|
308
|
+
- posterior predictive RMSE, predictive coverage and Bayesian p-values
|
|
309
|
+
- real optional structured FEniCS/DOLFINx FEM executor for bounded scalar Poisson P1 problems on unit intervals/squares
|
|
310
|
+
- numerical-verification contracts for every Model IR family; stochastic between-seed variability remains explicitly separate from numerical error
|
|
311
|
+
- Modelica 3.6 textual export for supported ODE/DAE/algebraic models
|
|
312
|
+
- GraphML network export
|
|
313
|
+
- Graphviz DOT causal-DAG export
|
|
314
|
+
- `axiomize.portable-bundle.v1` export with canonical Model IR SHA-256 integrity metadata
|
|
315
|
+
|
|
316
|
+
### Changed
|
|
317
|
+
|
|
318
|
+
- runtime capability discovery now advertises Causal Engine 2.0, Bayesian diagnostics/PPC, all-family numerical verification and extended exports
|
|
319
|
+
- FEniCS availability is based on a real executable backend probe rather than module-name presence
|
|
320
|
+
- README, ROADMAP and CHANGELOG now describe the actual hardened scientific engine rather than the older prompt/skill-only architecture
|
|
321
|
+
|
|
322
|
+
### Release gates
|
|
323
|
+
|
|
324
|
+
- Python 3.10/3.11/3.12/3.13 validation
|
|
325
|
+
- security contract and dependency vulnerability audit
|
|
326
|
+
- source and installed import-graph contracts
|
|
327
|
+
- exact built wheel installation and full CLI/Model IR/export/surrogate/LaTeX checks
|
|
328
|
+
- all-family scientific stress matrix
|
|
329
|
+
- Ubuntu/Linux, Windows and macOS exact-wheel CLI smoke
|
|
330
|
+
- Trusted Publishing-first PyPI publication and verification
|
|
331
|
+
|
|
332
|
+
## [1.11.2] - 2026-09-05
|
|
333
|
+
|
|
334
|
+
### Security / correctness
|
|
335
|
+
|
|
336
|
+
- replaced permissive mathematical parsing paths with a bounded AST-whitelist boundary and explicit AST→SymPy construction
|
|
337
|
+
- removed arbitrary `eval()` use from Z3 constraint handling; added solver timeout and denominator-domain guards
|
|
338
|
+
- hardened Model IR namespaces, targets, bounds, finite values, solver settings and schema migrations
|
|
339
|
+
- prevented silent future-schema migration and schema-version relabeling
|
|
340
|
+
- made arbitrary Python and Lean execution explicit-trust operations with reduced environment inheritance and resource/time limits
|
|
341
|
+
- confined REST/MCP run-file access to configured run roots; added request/message/concurrency/read-time limits and safer errors
|
|
342
|
+
- added provider URL/redirect/request/response/timeout hardening
|
|
343
|
+
- added run-state content integrity verification and atomic persistence
|
|
344
|
+
- added hard non-bypassable limits for arrays, draws, networks, optimization, event queues, PDE work, causal matrices and other native executors
|
|
345
|
+
- hardened LaTeX conversion with a mathematical macro allow-list and `-no-shell-escape`
|
|
346
|
+
- corrected finite-horizon SIR validation versus asymptotic final-size theory
|
|
347
|
+
- hardened direct SciPy/CVXPy/CasADi/statsmodels/PyMC/benchmark/playground/CSV/parallel-sweep surfaces
|
|
348
|
+
- preserved first-occurrence order when duplicate data are merged with `sort_time=False`
|
|
349
|
+
|
|
350
|
+
### CI / supply chain
|
|
351
|
+
|
|
352
|
+
- immutable commit-SHA pinning for external GitHub Actions
|
|
353
|
+
- permanent security-contract scanner
|
|
354
|
+
- dependency vulnerability audit
|
|
355
|
+
- direct adversarial runtime regressions
|
|
356
|
+
- release verification hardened against PyPI propagation delay without weakening Trusted Publishing or exact-artifact gates
|
|
357
|
+
|
|
358
|
+
## [1.11.1] - 2026-09-05
|
|
359
|
+
|
|
360
|
+
### Added
|
|
361
|
+
|
|
362
|
+
- permanent exact-wheel/CLI matrix on Ubuntu/Linux, Windows and macOS in normal CI and release preflight
|
|
363
|
+
- platform-independent wheel smoke harness
|
|
364
|
+
|
|
365
|
+
### Fixed
|
|
366
|
+
|
|
367
|
+
- macOS ARM dependency compatibility by constraining the Darwin Z3 line to compatible 4.x releases
|
|
368
|
+
- release smoke SIR horizon corrected so it tests CLI portability rather than an intentionally truncated asymptotic final-size comparison
|
|
369
|
+
|
|
370
|
+
## [1.11.0] - 2026-09-05
|
|
371
|
+
|
|
372
|
+
### Added
|
|
373
|
+
|
|
374
|
+
- validated polynomial response-surface surrogate/reduced-order models
|
|
375
|
+
- deterministic Latin-hypercube training design through full Model IR execution
|
|
376
|
+
- explicit approval before multiplying full-model simulations
|
|
377
|
+
- untouched holdout validation with RMSE/NRMSE/MAE/max-error/R² thresholds
|
|
378
|
+
- default blocking of out-of-domain surrogate extrapolation
|
|
379
|
+
- exact source-model provenance and dataset hashes
|
|
380
|
+
- CLI/REST/MCP surrogate paths and installed-wheel release smoke
|
|
381
|
+
|
|
382
|
+
## [1.10.0]
|
|
383
|
+
|
|
384
|
+
### Added
|
|
385
|
+
|
|
386
|
+
- numerical/discretization verification separated from parameter/data/structural uncertainty
|
|
387
|
+
- PDE mesh-refinement studies with observed-order/Richardson-style estimates
|
|
388
|
+
- ODE/DAE tolerance refinement
|
|
389
|
+
- approval gating before repeated numerical solves
|
|
390
|
+
- CLI and REST numerical-verification services
|
|
391
|
+
|
|
392
|
+
## [1.9.0]
|
|
393
|
+
|
|
394
|
+
### Added
|
|
395
|
+
|
|
396
|
+
- native advanced-family execution for PDE, index-1 DAE, optimization, control, network, Bayesian, agent-based, discrete-event, hybrid, multiphysics and causal Model IR
|
|
397
|
+
- method-of-lines finite-difference PDE support with Dirichlet/Neumann boundary conditions
|
|
398
|
+
- solver fallback diagnostics and advanced family execution through the stable general-engine facade
|
|
399
|
+
|
|
400
|
+
## [1.8.0]
|
|
401
|
+
|
|
402
|
+
### Added
|
|
403
|
+
|
|
404
|
+
- canonical versioned Model IR / DSL as the single source of truth for deterministic scientific execution
|
|
405
|
+
- migration preview/approval contract and reproducible migration history
|
|
406
|
+
- model-family/domain recommendation and solver selection
|
|
407
|
+
- native algebraic, ODE and stochastic execution
|
|
408
|
+
- generic ODE fitting, scientific constraints/repair, residual diagnostics, AIC/BIC, stability/validity and nondimensionalization planning
|
|
409
|
+
- SINDy-style sparse dynamics discovery, experiment ranking, provenance and portable exports
|
|
410
|
+
- CLI `axiomize model` path and shared REST/MCP application services
|
|
411
|
+
|
|
412
|
+
## [1.7.0]
|
|
413
|
+
|
|
414
|
+
### Added
|
|
415
|
+
|
|
416
|
+
- adaptive weak/medium/strong workflow and user-controlled clarification
|
|
417
|
+
- explicit consumption policy: no silent extra agents, whole-analysis reruns or extra paid calls
|
|
418
|
+
- stronger reproducibility, uncertainty, hypothesis/falsifier and visualization workflow contracts
|
|
419
|
+
|
|
420
|
+
## [1.6.0]
|
|
421
|
+
|
|
422
|
+
### Added
|
|
423
|
+
|
|
424
|
+
- standardized `ScientificTool` interface and live backend availability probes
|
|
425
|
+
- SciPy, SymPy, statsmodels, Z3, CVXPY, CasADi, network/control and Bayesian scientific adapters
|
|
426
|
+
- dimensional validation and explicit validation statuses
|
|
427
|
+
- application services, CLI, REST, MCP, provider abstraction and portable run-state foundations
|
|
428
|
+
|
|
429
|
+
## [1.5.0] - 2026-08-24
|
|
430
|
+
|
|
431
|
+
### Added
|
|
432
|
+
|
|
433
|
+
- first-principles protocol for ideas with no matching archetype
|
|
434
|
+
- novel-domain benchmark reports and novel-territory report appendix
|
|
435
|
+
|
|
436
|
+
## [1.4.1] - 2026-08-24
|
|
437
|
+
|
|
438
|
+
### Fixed
|
|
439
|
+
|
|
440
|
+
- LaTeX converter hardening across worked examples/benchmark reports
|
|
441
|
+
- removed committed TeX build artifacts and expanded `.gitignore`
|
|
442
|
+
|
|
443
|
+
## [1.4.0] - 2026-08-24
|
|
444
|
+
|
|
445
|
+
### Added
|
|
446
|
+
|
|
447
|
+
- LaTeX/PDF export for reports
|
|
448
|
+
- sample rendered report
|
|
449
|
+
|
|
450
|
+
## [1.3.2] - 2026-08-24
|
|
451
|
+
|
|
452
|
+
### Added
|
|
453
|
+
|
|
454
|
+
- animated demo
|
|
455
|
+
- benchmark-report regression wired into CI
|
|
456
|
+
|
|
457
|
+
## [1.3.1] - 2026-08-24
|
|
458
|
+
|
|
459
|
+
### Added
|
|
460
|
+
|
|
461
|
+
- stored blind-test benchmark reports and benchmark results documentation
|
|
462
|
+
- epidemiology and operations domain packs
|
|
463
|
+
|
|
464
|
+
### Fixed
|
|
465
|
+
|
|
466
|
+
- stochastic fade-out theory, Erlang-C overflow, CSV check and fit-bound defects
|
|
467
|
+
|
|
468
|
+
## [1.3.0] - 2026-08-24
|
|
469
|
+
|
|
470
|
+
### Added
|
|
471
|
+
|
|
472
|
+
- decision-theory, demographic/actuarial and spatial-statistics lenses
|
|
473
|
+
- report benchmark runner
|
|
474
|
+
- machine-readable fitting output
|
|
475
|
+
- local Gradio playground
|
|
476
|
+
- project-management domain pack
|
|
477
|
+
|
|
478
|
+
## [1.2.0] - 2026-08-24
|
|
479
|
+
|
|
480
|
+
### Added
|
|
481
|
+
|
|
482
|
+
- reliability, statistical-process-control and thermodynamic lenses
|
|
483
|
+
- additional worked examples and domain packs
|
|
484
|
+
- benchmark dataset/scoring rubric
|
|
485
|
+
- CSV quality pre-check
|
|
486
|
+
|
|
487
|
+
## [1.1.0] - 2026-08-24
|
|
488
|
+
|
|
489
|
+
### Added
|
|
490
|
+
|
|
491
|
+
- game-theory, causal-inference and information-theory lenses
|
|
492
|
+
- expanded archetype catalog and worked examples
|
|
493
|
+
- model-comparison diagnostics, report indexing and GitHub Pages
|
|
494
|
+
|
|
495
|
+
## [1.0.0] - 2026-08-24
|
|
496
|
+
|
|
497
|
+
First tagged release: multi-perspective modeling workflow, rigor ladder, standardized report, bundled validation/fitting/sweep tools, worked examples and GitHub Actions CI.
|
|
498
|
+
|
|
499
|
+
[1.12.2]: https://github.com/Furox-Art/axiomize/releases/tag/v1.12.2
|
|
500
|
+
[1.12.1]: https://github.com/Furox-Art/axiomize/releases/tag/v1.12.1
|
|
501
|
+
[1.12.0]: https://github.com/Furox-Art/axiomize/releases/tag/v1.12.0
|
|
502
|
+
[1.11.2]: https://github.com/Furox-Art/axiomize/releases/tag/v1.11.2
|
|
503
|
+
[1.11.1]: https://github.com/Furox-Art/axiomize/releases/tag/v1.11.1
|
|
504
|
+
[1.11.0]: https://github.com/Furox-Art/axiomize/releases/tag/v1.11.0
|
|
505
|
+
[1.10.0]: https://github.com/Furox-Art/axiomize/releases/tag/v1.10.0
|
|
506
|
+
[1.9.0]: https://github.com/Furox-Art/axiomize/releases/tag/v1.9.0
|
|
507
|
+
[1.8.0]: https://github.com/Furox-Art/axiomize/releases/tag/v1.8.0
|
|
508
|
+
[1.7.0]: https://github.com/Furox-Art/axiomize/releases/tag/v1.7.0
|
|
509
|
+
[1.6.0]: https://github.com/Furox-Art/axiomize/releases/tag/v1.6.0
|
|
510
|
+
[1.5.0]: https://github.com/Furox-Art/axiomize/releases/tag/v1.5.0
|
|
511
|
+
[1.4.1]: https://github.com/Furox-Art/axiomize/releases/tag/v1.4.1
|
|
512
|
+
[1.4.0]: https://github.com/Furox-Art/axiomize/releases/tag/v1.4.0
|
|
513
|
+
[1.3.2]: https://github.com/Furox-Art/axiomize/releases/tag/v1.3.2
|
|
514
|
+
[1.3.1]: https://github.com/Furox-Art/axiomize/releases/tag/v1.3.1
|
|
515
|
+
[1.3.0]: https://github.com/Furox-Art/axiomize/releases/tag/v1.3.0
|
|
516
|
+
[1.2.0]: https://github.com/Furox-Art/axiomize/releases/tag/v1.2.0
|
|
517
|
+
[1.1.0]: https://github.com/Furox-Art/axiomize/releases/tag/v1.1.0
|
|
518
|
+
[1.0.0]: https://github.com/Furox-Art/axiomize/releases/tag/v1.0.0
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Furkan
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
# Axiomize Quantum Skills - 2.0
|
|
2
|
+
|
|
3
|
+
This is not a separate product. It ships [axiomize](https://github.com/Furox-Art/axiomize) and [quantum-reasoning-skill](https://github.com/Furox-Art/quantum-reasoning-skill) together. Install those repositories when you need only one of them. This repository is not a second MCP registration.
|
|
4
|
+
|
|
5
|
+
Current package line: **1.2.0**
|
|
6
|
+
|
|
7
|
+

|
|
8
|
+

|
|
9
|
+

|
|
10
|
+
[](https://pypi.org/project/axiomize-quantum-skills-2.0/)
|
|
11
|
+
[](https://furox-art.github.io/axiomize-quantum-skills-2.0/)
|
|
12
|
+
[](LICENSE)
|
|
13
|
+
|
|
14
|
+
Download numbers live on the package pages themselves, where they are always current:
|
|
15
|
+
[PyPI](https://pypi.org/project/axiomize-quantum-skills-2.0/) ·
|
|
16
|
+
[npm](https://www.npmjs.com/package/axiomize-quantum-skills-2.0)
|
|
17
|
+
|
|
18
|
+
**PyPI is the supported install. npm is behind:** PyPI serves `1.2.0`; the npm registry
|
|
19
|
+
serves `2.0.0`, published before the npm launcher was fixed, so `npx axiomize-quantum`
|
|
20
|
+
still fails. `package.json` is now pinned to `1.2.0` in lockstep with Python and CI
|
|
21
|
+
enforces it, so the next npm release carries the fix. See
|
|
22
|
+
[Honest limits](#honest-limits).
|
|
23
|
+
|
|
24
|
+
**Documentation:** <https://furox-art.github.io/axiomize-quantum-skills-2.0/>
|
|
25
|
+
|
|
26
|
+
A scientific modeling engine with explicit units, dimensional and numerical validation,
|
|
27
|
+
calibration and uncertainty analysis — plus a reasoning protocol that refuses to commit to
|
|
28
|
+
the first plausible answer.
|
|
29
|
+
|
|
30
|
+
Two independent pieces ship together:
|
|
31
|
+
|
|
32
|
+
| Piece | What it is | Where |
|
|
33
|
+
|---|---|---|
|
|
34
|
+
| **Axiomize** | Deterministic engine: versioned Model IR, algebraic/ODE/stochastic/PDE/optimization/control/network/Bayesian/causal execution, dimensional checks, fit, sensitivity, uncertainty, portable export | `src/axiomize/`, CLI `axiomize` |
|
|
35
|
+
| **Quantum Reasoning** | A protocol and deterministic branch controller for keeping several hypotheses alive, scoring them against evidence, pruning weak ones, and collapsing only when evidence supports it | `src/axiomize/reasoning/`, CLI `axiomize-reason` |
|
|
36
|
+
|
|
37
|
+
"Quantum" here is a metaphor for deferring commitment, not quantum computation. It runs
|
|
38
|
+
on classical models and classical hardware. See
|
|
39
|
+
[skills/quantum-reasoning/SKILL.md](skills/quantum-reasoning/SKILL.md).
|
|
40
|
+
|
|
41
|
+
## See it work
|
|
42
|
+
|
|
43
|
+
The reference SIR model, animated. beta = 0.3, gamma = 0.1, so R0 = 3.0.
|
|
44
|
+
|
|
45
|
+

|
|
46
|
+
|
|
47
|
+
That curve is produced by the command in step 3 below. Here it is at full resolution, with
|
|
48
|
+
the peak annotated:
|
|
49
|
+
|
|
50
|
+

|
|
51
|
+
|
|
52
|
+
A sample of the LaTeX report the engine converts a finished analysis into:
|
|
53
|
+
[report-sample.pdf](docs/report-sample.pdf) (source:
|
|
54
|
+
[report-sample.tex](docs/report-sample.tex)).
|
|
55
|
+
|
|
56
|
+
## Quick start (verified against 1.2.0)
|
|
57
|
+
|
|
58
|
+
### Install
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
pip install axiomize-quantum-skills-2.0
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Requires Python 3.10+. NumPy, SciPy, SymPy, NetworkX, statsmodels, Matplotlib, Control,
|
|
65
|
+
CVXPY and CasADi are pulled in automatically; `z3-solver` is included.
|
|
66
|
+
|
|
67
|
+
### 1. See what is actually installed
|
|
68
|
+
|
|
69
|
+
Only backends that are genuinely importable are reported as available.
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
axiomize tools
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
```text
|
|
76
|
+
sympy 1.14.0 available
|
|
77
|
+
scipy 1.18.1 available
|
|
78
|
+
statsmodels 0.15.0 available
|
|
79
|
+
cvxpy 1.9.3 available
|
|
80
|
+
casadi 3.8.1 available
|
|
81
|
+
jax unknown UNAVAILABLE (No module named 'jax')
|
|
82
|
+
z3 5.1.0 available
|
|
83
|
+
...
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Machine-readable version of the same thing:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
axiomize capabilities # -> {"axiomize_version": "1.2.0", ...}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### 2. Run the install-safe benchmark suite
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
axiomize benchmark
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
```json
|
|
99
|
+
{"status": "PASS", "passed": 12, "total": 12, ...}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### 3. Validate a model with dimensional and cross-checks
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
axiomize validate --N 1000000
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
```json
|
|
109
|
+
{
|
|
110
|
+
"status": "PASS",
|
|
111
|
+
"final_size": 0.9404340723379753,
|
|
112
|
+
"asymptotic_final_size": 0.9404805152899381,
|
|
113
|
+
"cross_validation": {"status": "PASS", "difference": 1.1102230246251565e-16},
|
|
114
|
+
"numeric_theory_check": {"status": "INCONCLUSIVE", ...}
|
|
115
|
+
}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Note the deliberate honesty: cross-validation passes, but the numeric-theory check reports
|
|
119
|
+
`INCONCLUSIVE` and says why — the finite horizon has not yet reached the asymptotic SIR
|
|
120
|
+
state, so it should not be compared against final-size theory yet.
|
|
121
|
+
|
|
122
|
+
### 4. Validate your own Model IR
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
axiomize model --input-json docs/quickstart-model-ir.json --action validate
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
```json
|
|
129
|
+
{"status": "PASS", "model_ir": {"name": "member-churn-decay", "domain": "social", ...}}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
`docs/quickstart-model-ir.json` is a complete, copy-pasteable request. To design one from
|
|
133
|
+
a plain-language idea instead:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
axiomize intake "my gym keeps losing members after 3 months; how do I stop the churn?"
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
```json
|
|
140
|
+
{
|
|
141
|
+
"status": "NEEDS_INPUT",
|
|
142
|
+
"questions": [{"field": "system_boundary", "question": "What exactly are we modeling...?"}],
|
|
143
|
+
"rigor_recommendation": {"level": "medium", "reasons": ["default balanced depth"]}
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### 5. Score a reasoning branch
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
axiomize-reason score --evidence 0.9 --verification 0.85
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
```json
|
|
154
|
+
{"branch": "branch-1", "can_collapse": false, "reason": "leader score below collapse threshold"}
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
Every command shown above was executed against `axiomize-quantum-skills-2.0` 1.2.0 at
|
|
158
|
+
commit `338bc9e` on CPython 3.12.10 (Windows). The walkthrough continues in
|
|
159
|
+
[docs/tutorial.md](docs/tutorial.md).
|
|
160
|
+
|
|
161
|
+
## Interfaces
|
|
162
|
+
|
|
163
|
+
All three call the same core services, so validation behaviour never depends on the caller.
|
|
164
|
+
|
|
165
|
+
| Interface | Entry point |
|
|
166
|
+
|---|---|
|
|
167
|
+
| CLI | `axiomize` (14 subcommands: `intake`, `policy`, `model`, `clean-data`, `compare-runs`, `solve`, `fit`, `validate`, `tools`, `capabilities`, `reproduce`, `benchmark`, `serve`, `mcp`) |
|
|
168
|
+
| MCP (stdio) | `axiomize mcp` — 34 tools; see [docs/integrations.md](docs/integrations.md) |
|
|
169
|
+
| REST (v1) | `axiomize serve` — loopback-only by default; see [docs/integrations.md](docs/integrations.md) |
|
|
170
|
+
|
|
171
|
+
MCP host configuration:
|
|
172
|
+
|
|
173
|
+
```json
|
|
174
|
+
{"command": "axiomize", "args": ["mcp"]}
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
REST, verified live:
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
axiomize serve --port 8899
|
|
181
|
+
curl http://127.0.0.1:8899/capabilities
|
|
182
|
+
curl -X POST http://127.0.0.1:8899/solve -H 'content-type: application/json' -d '{"beta":0.3,"gamma":0.1,"N":100000}'
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
Agent skills are shipped as plain Markdown protocols and can be installed independently of
|
|
186
|
+
the Python package:
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
git clone https://github.com/Furox-Art/axiomize-quantum-skills-2.0
|
|
190
|
+
cp -r axiomize-quantum-skills-2.0/skills/axiomize ~/.config/opencode/skills/
|
|
191
|
+
cp -r axiomize-quantum-skills-2.0/skills/quantum-reasoning ~/.config/opencode/skills/
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
## What you get
|
|
195
|
+
|
|
196
|
+
- 15 mathematical perspectives under `skills/axiomize/perspectives/`, plus archetype and
|
|
197
|
+
first-principles routing.
|
|
198
|
+
- 18 worked examples in [`examples/`](examples/), indexed by
|
|
199
|
+
[docs/example-gallery.md](docs/example-gallery.md).
|
|
200
|
+
- A 25-case closed-form benchmark corpus with stored reports, graded in CI.
|
|
201
|
+
- Explicit honesty rules: rejected lenses must carry a reason, every quantity carries a
|
|
202
|
+
unit, and every model states what observation would falsify it.
|
|
203
|
+
|
|
204
|
+
## Benchmarks
|
|
205
|
+
|
|
206
|
+
The 25-case corpus is graded in CI by
|
|
207
|
+
`skills/axiomize/tools/benchmark_runner.py`. Result reproduced locally on commit `338bc9e`,
|
|
208
|
+
axiomize 1.2.0, CPython 3.12.10 (Windows), numpy 2.5.3 / scipy 1.18.1:
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
python skills/axiomize/tools/benchmark_runner.py --case physics-rc-discharge --report benchmarks/reports/physics-rc-discharge.md
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
```text
|
|
215
|
+
automated score: 9/9 -> 10.0/10 (PASS; human rubric layer still required)
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
All 25 cases pass the automated layer, 10.0/10 each. **This is a contract-compliance
|
|
219
|
+
measurement, not a measure of modeling quality**: the automated layer checks structure
|
|
220
|
+
(literal alternative lists present, lens count, unit column, violation-consequence column,
|
|
221
|
+
falsifiability section, numeric oracle within tolerance). A structurally perfect report
|
|
222
|
+
about a wrong model still scores 10.0/10. The human rubric layer described in
|
|
223
|
+
[benchmarks/rubric.md](benchmarks/rubric.md) is not recorded for these cases. See
|
|
224
|
+
[docs/benchmark-results.md](docs/benchmark-results.md) for the full, provenance-stamped run.
|
|
225
|
+
|
|
226
|
+
## Honest limits
|
|
227
|
+
|
|
228
|
+
- The engine does not choose a model for you. `axiomize model --action plan` ranks
|
|
229
|
+
candidate families and then returns `NEEDS_MODEL_IR`; deterministic execution starts
|
|
230
|
+
only after you supply an explicit Model IR.
|
|
231
|
+
- Optional backends (`pymc`, `jax`, FEniCS/DOLFINx) are reported `UNAVAILABLE` unless
|
|
232
|
+
actually installed. Install them with `pip install axiomize-quantum-skills-2.0[full]`.
|
|
233
|
+
- Arbitrary code and theorem elaboration are **not** an OS sandbox. They require explicit
|
|
234
|
+
trust. See [SECURITY.md](SECURITY.md) and [docs/security.md](docs/security.md).
|
|
235
|
+
- **The npm launcher is fixed in the repository but the fix is not published yet.** The
|
|
236
|
+
source is correct as of 1.2.0: `index.js` passes `node --check`, resolves the real CLI
|
|
237
|
+
module `axiomize.cli`, propagates the child's exit code, and the `files` whitelist keeps
|
|
238
|
+
the tarball at 6 files / 41 kB instead of the previous 303 files / 2.1 MB. The npm
|
|
239
|
+
registry still serves `2.0.0`, published before the fix, whose `index.js` is the old
|
|
240
|
+
syntactically invalid one. So `npx axiomize-quantum` **still fails** until a version
|
|
241
|
+
carrying the fix is published. `package.json` is now pinned to `1.2.0` in lockstep with
|
|
242
|
+
Python and CI enforces that, so the next npm release carries the fix.
|
|
243
|
+
Until then, install from PyPI and use the `axiomize` console script directly.
|
|
244
|
+
|
|
245
|
+
Working from a checkout, without waiting for a publish:
|
|
246
|
+
|
|
247
|
+
```bash
|
|
248
|
+
pip install axiomize-quantum-skills-2.0
|
|
249
|
+
node bin/axiomize-quantum.js --help # verified working at 1.2.0
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
## Documentation
|
|
253
|
+
|
|
254
|
+
| Page | Contents |
|
|
255
|
+
|---|---|
|
|
256
|
+
| [Tutorial](docs/tutorial.md) | First session, end to end |
|
|
257
|
+
| [Example gallery](docs/example-gallery.md) | All 18 worked examples with provenance |
|
|
258
|
+
| [Benchmark results](docs/benchmark-results.md) | Reproducible grading run, with commit |
|
|
259
|
+
| [Integrations](docs/integrations.md) | MCP, REST and CLI surfaces |
|
|
260
|
+
| [Worked examples](docs/worked-examples.md) | Modeling + reasoning composed (illustrative) |
|
|
261
|
+
| [Portable export](docs/portable-export.md) | Versioned, integrity-tagged run bundles |
|
|
262
|
+
| [Security](docs/security.md) | Trust boundaries and input surfaces |
|
|
263
|
+
| [Publishing checklist](docs/publishing-checklist.md) | Registry/list submission checklist |
|
|
264
|
+
|
|
265
|
+
## Contributing
|
|
266
|
+
|
|
267
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for the perspective and example contracts, and
|
|
268
|
+
[CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md). Security reports: [SECURITY.md](SECURITY.md).
|
|
269
|
+
|
|
270
|
+
## Citing
|
|
271
|
+
|
|
272
|
+
See [CITATION.cff](CITATION.cff). Release history: [CHANGELOG.md](CHANGELOG.md).
|
|
273
|
+
|
|
274
|
+
## License
|
|
275
|
+
|
|
276
|
+
MIT — see [LICENSE](LICENSE). Copyright (c) 2026 Furkan.
|
package/index.js
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// Thin launcher for the Axiomize Python engine.
|
|
4
|
+
//
|
|
5
|
+
// Two bugs are fixed here relative to the previous revision, both of which made
|
|
6
|
+
// `npx axiomize-quantum` unusable:
|
|
7
|
+
//
|
|
8
|
+
// 1. Syntax error. The old body was `proc.on('close', (code) =; }`, which is
|
|
9
|
+
// not valid JavaScript, so `node --check` failed and every invocation died
|
|
10
|
+
// with `SyntaxError: Unexpected token ';'` before running anything.
|
|
11
|
+
// 2. Wrong module target. It spawned `python -m axiomize_quantum.cli`, a
|
|
12
|
+
// module that does not exist anywhere in this repository. The import
|
|
13
|
+
// package is `axiomize` (see `[project]` in pyproject.toml) and its CLI
|
|
14
|
+
// module is `axiomize.cli`, which defines `main()` and a `__main__` guard.
|
|
15
|
+
//
|
|
16
|
+
// The exit code of the child is propagated so that shell callers, CI steps and
|
|
17
|
+
// the npm contract test can all trust `process.exitCode`.
|
|
18
|
+
|
|
19
|
+
const { spawn } = require('node:child_process');
|
|
20
|
+
|
|
21
|
+
// `python` on Windows, `python3` elsewhere. Honour an explicit override first so
|
|
22
|
+
// CI and virtualenv users are not at the mercy of PATH ordering.
|
|
23
|
+
function resolvePython() {
|
|
24
|
+
const override = process.env.AXIOMIZE_PYTHON;
|
|
25
|
+
if (override) {
|
|
26
|
+
return override;
|
|
27
|
+
}
|
|
28
|
+
return process.platform === 'win32' ? 'python' : 'python3';
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// The console-script equivalent is `axiomize`, installed by the wheel. Prefer it
|
|
32
|
+
// when it is on PATH: it is the entry point the packaging metadata actually
|
|
33
|
+
// declares, so using it keeps this launcher honest about what users get.
|
|
34
|
+
function resolveEntryPoint() {
|
|
35
|
+
if (process.env.AXIOMIZE_CLI) {
|
|
36
|
+
return { command: process.env.AXIOMIZE_CLI, args: [] };
|
|
37
|
+
}
|
|
38
|
+
return { command: resolvePython(), args: ['-m', 'axiomize.cli'] };
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
function runAxiomizeQuantum(args) {
|
|
42
|
+
const { command, args: prefix } = resolveEntryPoint();
|
|
43
|
+
const child = spawn(command, [...prefix, ...args], {
|
|
44
|
+
stdio: 'inherit',
|
|
45
|
+
cwd: __dirname,
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
child.on('error', (err) => {
|
|
49
|
+
process.stderr.write(
|
|
50
|
+
`axiomize-quantum: failed to launch '${command}': ${err.message}\n` +
|
|
51
|
+
'Install the Python package first: pip install axiomize-quantum-skills-2.0\n',
|
|
52
|
+
);
|
|
53
|
+
process.exitCode = 127;
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
child.on('close', (code, signal) => {
|
|
57
|
+
if (signal) {
|
|
58
|
+
process.stderr.write(`axiomize-quantum: terminated by signal ${signal}\n`);
|
|
59
|
+
process.exitCode = 128;
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
process.exitCode = code === null ? 1 : code;
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
return child;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
module.exports = { runAxiomizeQuantum, resolvePython, resolveEntryPoint };
|
|
69
|
+
|
|
70
|
+
if (require.main === module) {
|
|
71
|
+
runAxiomizeQuantum(process.argv.slice(2));
|
|
72
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "axiomize-quantum-skills-2.0",
|
|
3
|
+
"version": "1.2.0",
|
|
4
|
+
"description": "Axiomize 2.0 - scientific modeling engine plus quantum-inspired multi-branch reasoning",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"axiomize-quantum": "./bin/axiomize-quantum.js"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"test": "node --test \".github/tests/**/*.test.js\"",
|
|
11
|
+
"lint": "node --check index.js && node --check bin/axiomize-quantum.js",
|
|
12
|
+
"smoke": "node bin/axiomize-quantum.js --help"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"index.js",
|
|
16
|
+
"bin/",
|
|
17
|
+
"README.md",
|
|
18
|
+
"LICENSE",
|
|
19
|
+
"CHANGELOG.md"
|
|
20
|
+
],
|
|
21
|
+
"engines": {
|
|
22
|
+
"node": ">=18.0.0"
|
|
23
|
+
},
|
|
24
|
+
"publishConfig": {
|
|
25
|
+
"tag": "latest",
|
|
26
|
+
"access": "public",
|
|
27
|
+
"provenance": true
|
|
28
|
+
},
|
|
29
|
+
"keywords": [
|
|
30
|
+
"modeling",
|
|
31
|
+
"simulation",
|
|
32
|
+
"quantum-inspired",
|
|
33
|
+
"multi-branch",
|
|
34
|
+
"scientific-computing"
|
|
35
|
+
],
|
|
36
|
+
"author": "Furox-Art",
|
|
37
|
+
"license": "MIT",
|
|
38
|
+
"repository": {
|
|
39
|
+
"type": "git",
|
|
40
|
+
"url": "git+https://github.com/Furox-Art/axiomize-quantum-skills-2.0.git"
|
|
41
|
+
},
|
|
42
|
+
"bugs": {
|
|
43
|
+
"url": "https://github.com/Furox-Art/axiomize-quantum-skills-2.0/issues"
|
|
44
|
+
},
|
|
45
|
+
"homepage": "https://github.com/Furox-Art/axiomize-quantum-skills-2.0#readme"
|
|
46
|
+
}
|