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 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
+ ![License](https://img.shields.io/badge/license-MIT-blue)
8
+ ![Python](https://img.shields.io/python-3.10%2B-blue)
9
+ ![CI](https://github.com/Furox-Art/axiomize-quantum-skills-2.0/actions/workflows/ci.yml/badge.svg)
10
+ [![PyPI](https://img.shields.io/pypi/v/axiomize-quantum-skills-2.0)](https://pypi.org/project/axiomize-quantum-skills-2.0/)
11
+ [![Docs](https://img.shields.io/badge/docs-gh--pages-blue)](https://furox-art.github.io/axiomize-quantum-skills-2.0/)
12
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](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
+ ![Animated SIR epidemic curve, R0=3.0](docs/sir-demo.gif)
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
+ ![SIR beta=0.3 gamma=0.1 R0=3.00, peak 300,465 at day 61](docs/sir-example.png)
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.
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ require('../index.js').runAxiomizeQuantum(process.argv.slice(2));
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
+ }