axiomize 1.6.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. axiomize-1.6.0/.gitattributes +18 -0
  2. axiomize-1.6.0/.github/ISSUE_TEMPLATE/bug_report.md +15 -0
  3. axiomize-1.6.0/.github/PULL_REQUEST_TEMPLATE.md +10 -0
  4. axiomize-1.6.0/.github/dependabot.yml +14 -0
  5. axiomize-1.6.0/.github/workflows/ci.yml +70 -0
  6. axiomize-1.6.0/.github/workflows/pages.yml +75 -0
  7. axiomize-1.6.0/.gitignore +16 -0
  8. axiomize-1.6.0/CHANGELOG.md +123 -0
  9. axiomize-1.6.0/CONTRIBUTING.md +60 -0
  10. axiomize-1.6.0/LICENSE +21 -0
  11. axiomize-1.6.0/PKG-INFO +255 -0
  12. axiomize-1.6.0/README.md +219 -0
  13. axiomize-1.6.0/ROADMAP.md +57 -0
  14. axiomize-1.6.0/benchmarks/ideas.json +88 -0
  15. axiomize-1.6.0/benchmarks/reports/ad-lift-causal.md +295 -0
  16. axiomize-1.6.0/benchmarks/reports/app-adoption-ceiling.md +283 -0
  17. axiomize-1.6.0/benchmarks/reports/barista-staffing.md +271 -0
  18. axiomize-1.6.0/benchmarks/reports/chemistry-batch-yield.md +60 -0
  19. axiomize-1.6.0/benchmarks/reports/duopoly-price-cut.md +287 -0
  20. axiomize-1.6.0/benchmarks/reports/epidemic-threshold.md +292 -0
  21. axiomize-1.6.0/benchmarks/reports/greenhouse-setpoint.md +247 -0
  22. axiomize-1.6.0/benchmarks/reports/novel-async-alignment.md +288 -0
  23. axiomize-1.6.0/benchmarks/reports/novel-telephone-fidelity.md +265 -0
  24. axiomize-1.6.0/benchmarks/reports/physics-pendulum-drift.md +59 -0
  25. axiomize-1.6.0/benchmarks/reports/reserve-ruin.md +274 -0
  26. axiomize-1.6.0/benchmarks/reports/school-rumor-reach.md +231 -0
  27. axiomize-1.6.0/benchmarks/rubric.md +34 -0
  28. axiomize-1.6.0/docs/benchmark-results.md +45 -0
  29. axiomize-1.6.0/docs/example-gallery.md +63 -0
  30. axiomize-1.6.0/docs/index.md +11 -0
  31. axiomize-1.6.0/docs/publishing-checklist.md +30 -0
  32. axiomize-1.6.0/docs/report-sample.pdf +0 -0
  33. axiomize-1.6.0/docs/report-sample.tex +103 -0
  34. axiomize-1.6.0/docs/sir-demo.gif +0 -0
  35. axiomize-1.6.0/docs/sir-example.png +0 -0
  36. axiomize-1.6.0/docs/tutorial.md +61 -0
  37. axiomize-1.6.0/examples/biology-population.md +119 -0
  38. axiomize-1.6.0/examples/cafe-pricing-war.md +76 -0
  39. axiomize-1.6.0/examples/chemistry-reaction.md +125 -0
  40. axiomize-1.6.0/examples/climate-energy.md +20 -0
  41. axiomize-1.6.0/examples/coffee-shop-staffing.md +98 -0
  42. axiomize-1.6.0/examples/control-greenhouse.md +80 -0
  43. axiomize-1.6.0/examples/engineering-control.md +119 -0
  44. axiomize-1.6.0/examples/epidemic-sir.md +95 -0
  45. axiomize-1.6.0/examples/finance-portfolio.md +20 -0
  46. axiomize-1.6.0/examples/fleet-maintenance.md +74 -0
  47. axiomize-1.6.0/examples/insurance-ruin.md +77 -0
  48. axiomize-1.6.0/examples/marketing-attribution.md +74 -0
  49. axiomize-1.6.0/examples/network-rumor.md +76 -0
  50. axiomize-1.6.0/examples/physics-oscillator.md +123 -0
  51. axiomize-1.6.0/examples/probability-bayes.md +143 -0
  52. axiomize-1.6.0/examples/sensor-placement.md +72 -0
  53. axiomize-1.6.0/examples/startup-growth.md +70 -0
  54. axiomize-1.6.0/examples/supply-chain-inventory.md +96 -0
  55. axiomize-1.6.0/mkdocs.yml +13 -0
  56. axiomize-1.6.0/packs/biology.md +134 -0
  57. axiomize-1.6.0/packs/chemistry.md +167 -0
  58. axiomize-1.6.0/packs/climate.md +50 -0
  59. axiomize-1.6.0/packs/domain-packs.md +20 -0
  60. axiomize-1.6.0/packs/ecology.md +24 -0
  61. axiomize-1.6.0/packs/economics.md +24 -0
  62. axiomize-1.6.0/packs/engineering.md +150 -0
  63. axiomize-1.6.0/packs/epidemiology.md +27 -0
  64. axiomize-1.6.0/packs/finance.md +50 -0
  65. axiomize-1.6.0/packs/operations.md +27 -0
  66. axiomize-1.6.0/packs/physics.md +121 -0
  67. axiomize-1.6.0/packs/probability.md +179 -0
  68. axiomize-1.6.0/packs/project-management.md +24 -0
  69. axiomize-1.6.0/playground/app.py +119 -0
  70. axiomize-1.6.0/pyproject.toml +97 -0
  71. axiomize-1.6.0/requirements-test.txt +19 -0
  72. axiomize-1.6.0/skills/axiomize/SKILL.md +168 -0
  73. axiomize-1.6.0/skills/axiomize/archetypes.md +54 -0
  74. axiomize-1.6.0/skills/axiomize/first-principles.md +78 -0
  75. axiomize-1.6.0/skills/axiomize/perspectives/agent-based.md +43 -0
  76. axiomize-1.6.0/skills/axiomize/perspectives/causal-inference.md +33 -0
  77. axiomize-1.6.0/skills/axiomize/perspectives/control.md +45 -0
  78. axiomize-1.6.0/skills/axiomize/perspectives/decision-theory.md +80 -0
  79. axiomize-1.6.0/skills/axiomize/perspectives/demographic.md +51 -0
  80. axiomize-1.6.0/skills/axiomize/perspectives/deterministic.md +42 -0
  81. axiomize-1.6.0/skills/axiomize/perspectives/game-theory.md +37 -0
  82. axiomize-1.6.0/skills/axiomize/perspectives/information-theory.md +34 -0
  83. axiomize-1.6.0/skills/axiomize/perspectives/network.md +45 -0
  84. axiomize-1.6.0/skills/axiomize/perspectives/optimization.md +50 -0
  85. axiomize-1.6.0/skills/axiomize/perspectives/reliability.md +40 -0
  86. axiomize-1.6.0/skills/axiomize/perspectives/spatial.md +83 -0
  87. axiomize-1.6.0/skills/axiomize/perspectives/spc.md +73 -0
  88. axiomize-1.6.0/skills/axiomize/perspectives/stochastic.md +48 -0
  89. axiomize-1.6.0/skills/axiomize/perspectives/thermodynamic.md +95 -0
  90. axiomize-1.6.0/skills/axiomize/rigor.md +42 -0
  91. axiomize-1.6.0/skills/axiomize/templates/assumptions.md +32 -0
  92. axiomize-1.6.0/skills/axiomize/templates/glossary.md +36 -0
  93. axiomize-1.6.0/skills/axiomize/templates/parameters.md +35 -0
  94. axiomize-1.6.0/skills/axiomize/templates/report.md +106 -0
  95. axiomize-1.6.0/skills/axiomize/templates/subagent-brief.md +61 -0
  96. axiomize-1.6.0/skills/axiomize/tools/benchmark_runner.py +186 -0
  97. axiomize-1.6.0/skills/axiomize/tools/check_skill.py +120 -0
  98. axiomize-1.6.0/skills/axiomize/tools/csv_check.py +110 -0
  99. axiomize-1.6.0/skills/axiomize/tools/fit.py +269 -0
  100. axiomize-1.6.0/skills/axiomize/tools/index_reports.py +67 -0
  101. axiomize-1.6.0/skills/axiomize/tools/parallel_sweep.py +123 -0
  102. axiomize-1.6.0/skills/axiomize/tools/report_to_latex.py +403 -0
  103. axiomize-1.6.0/skills/axiomize/tools/validate.py +300 -0
  104. axiomize-1.6.0/src/axiomize/__init__.py +22 -0
  105. axiomize-1.6.0/src/axiomize/tools/__init__.py +5 -0
  106. axiomize-1.6.0/tests/__init__.py +0 -0
  107. axiomize-1.6.0/tests/test_tools.py +202 -0
@@ -0,0 +1,18 @@
1
+ # Store all text as LF in the repo so the same blob checks out identically
2
+ # everywhere; git still hands the working copy the OS-preferred ending via
3
+ # core.autocrlf where configured.
4
+ * text=auto eol=lf
5
+
6
+ # Windows launchers must keep CRLF — cmd.exe mis-parses LF-only batch files
7
+ # in some cases, and these are the documented entry points.
8
+ *.bat text eol=crlf
9
+ *.cmd text eol=crlf
10
+ *.ps1 text eol=crlf
11
+
12
+ # Binary assets — never normalize, never diff as text.
13
+ *.png binary
14
+ *.jpg binary
15
+ *.jpeg binary
16
+ *.gif binary
17
+ *.ico binary
18
+ *.pdf binary
@@ -0,0 +1,15 @@
1
+ ---
2
+ name: Bug report
3
+ about: Something in the skill or tools is wrong
4
+ title: "[BUG] "
5
+ labels: bug
6
+ ---
7
+
8
+ **What happened?**
9
+ <!-- Include the exact phase/output where the skill misbehaved -->
10
+
11
+ **Reproduction:** which idea/prompt triggered it?
12
+
13
+ **Environment:** runtime (Claude Code / opencode / other), model, OS
14
+
15
+ **Expected behavior per SKILL.md:** <!-- quote the rule that was violated, if any -->
@@ -0,0 +1,10 @@
1
+ # What does this PR change?
2
+ <!-- one paragraph -->
3
+
4
+ # Checklist
5
+
6
+ - [ ] New/changed markdown passes `python skills/axiomize/tools/check_skill.py`
7
+ - [ ] Perspective files follow the contract in CONTRIBUTING.md (all four sections)
8
+ - [ ] Examples follow the 8-phase structure and include at least one rejected-lens rationale
9
+ - [ ] Tool changes: sanity checks still exit non-zero on failure; default runtime < 60s
10
+ - [ ] No emojis in content; units stated wherever quantities appear
@@ -0,0 +1,14 @@
1
+ version: 2
2
+ updates:
3
+ # Only github-actions. There is no pip manifest in this repo — the two
4
+ # runtime packages the validators need (numpy, scipy) are installed inline
5
+ # by the CI step, so there is nothing for the pip ecosystem to watch.
6
+ - package-ecosystem: "github-actions"
7
+ directory: "/"
8
+ schedule:
9
+ interval: "weekly"
10
+ labels:
11
+ - "dependencies"
12
+ - "github-actions"
13
+ commit-message:
14
+ prefix: "ci"
@@ -0,0 +1,70 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ # One run per ref. `pull_request` fires again on every push to a PR branch, and
10
+ # the benchmark-regression step at the bottom replays every stored report
11
+ # listed in benchmarks/ideas.json, so a superseded run is not cheap.
12
+ concurrency:
13
+ group: ci-${{ github.ref }}
14
+ cancel-in-progress: true
15
+
16
+ # Nothing here writes: the jobs only lint the skill and replay validators.
17
+ permissions:
18
+ contents: read
19
+
20
+ jobs:
21
+ validate:
22
+ runs-on: ubuntu-latest
23
+ strategy:
24
+ fail-fast: false
25
+ matrix:
26
+ python-version: ["3.9", "3.11", "3.13"]
27
+ steps:
28
+ - uses: actions/checkout@v7
29
+ - uses: actions/setup-python@v7
30
+ with:
31
+ python-version: ${{ matrix.python-version }}
32
+ - name: Install dependencies
33
+ # Tracked manifest so a clean environment installs exactly what the
34
+ # tools import - keeps CI and local runs from drifting apart.
35
+ run: pip install -r requirements-test.txt
36
+ - name: Run test suite
37
+ # pytest is listed in requirements-test.txt so a clean environment
38
+ # has it. Fails the build on any regression in validate/fit/csv_check.
39
+ run: pytest tests/ -v
40
+ - name: Skill lint (frontmatter + links + compile)
41
+ run: python skills/axiomize/tools/check_skill.py
42
+ - name: Deterministic SIR checks
43
+ run: python skills/axiomize/tools/validate.py --model sir --beta 0.3 --gamma 0.1
44
+ - name: Stochastic (Gillespie) checks
45
+ run: python skills/axiomize/tools/validate.py --model gillespie --N 10000 --I0 1 --runs 300
46
+ - name: Stochastic subcritical/critical regression (fade-out theory)
47
+ # R0=0.5, I0=1: theory 2/3 (first-jump exact); R0=1, I0=3: theory 1/4.
48
+ # The old code asserted fade-out probability 1.0 for every R0 <= 1.
49
+ run: |
50
+ python skills/axiomize/tools/validate.py --model gillespie --beta 0.05 --gamma 0.1 --I0 1 --N 10000 --runs 400
51
+ python skills/axiomize/tools/validate.py --model gillespie --beta 0.1 --gamma 0.1 --I0 3 --N 10000 --runs 400
52
+ - name: Queue (Erlang-C) checks
53
+ run: python skills/axiomize/tools/validate.py --model queue --lam 60 --mu 20 --target-wait 3
54
+ - name: Calibration selftests
55
+ run: |
56
+ python skills/axiomize/tools/fit.py --model sir --selftest
57
+ python skills/axiomize/tools/fit.py --model logistic --selftest
58
+ - name: Parallel sweep engine
59
+ run: |
60
+ python skills/axiomize/tools/parallel_sweep.py --job sweep
61
+ python skills/axiomize/tools/parallel_sweep.py --job mc
62
+ - name: Benchmark regression (stored blind-test reports)
63
+ # Case ids come straight from ideas.json, so every case runs and the
64
+ # list can never silently fall behind the cases that exist.
65
+ run: |
66
+ ids="$(python -c "import json; print(' '.join(c['id'] for c in json.load(open('benchmarks/ideas.json', encoding='utf-8'))['cases']))")"
67
+ echo "grading cases: $ids"
68
+ for id in $ids; do
69
+ python skills/axiomize/tools/benchmark_runner.py --case "$id" --report "benchmarks/reports/$id.md" || exit 1
70
+ done
@@ -0,0 +1,75 @@
1
+ name: Pages
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ workflow_dispatch:
7
+
8
+ permissions:
9
+ contents: read
10
+ pages: write
11
+ id-token: write
12
+
13
+ concurrency:
14
+ group: pages
15
+ cancel-in-progress: true
16
+
17
+ jobs:
18
+ build:
19
+ runs-on: ubuntu-latest
20
+ steps:
21
+ - uses: actions/checkout@v7
22
+ - uses: actions/setup-python@v7
23
+ with:
24
+ python-version: "3.12"
25
+ - run: pip install mkdocs-material
26
+ - name: Stage skill docs
27
+ # SKILL.md and the perspective heads are written to be browsed inside
28
+ # skills/axiomize/, so their relative links do not survive being
29
+ # concatenated into a single docs/ page. Everything that is NOT staged
30
+ # into docs/ (i.e. anything but rigor.md and archetypes.md) is rewritten
31
+ # to an absolute GitHub URL. `mkdocs build --strict` below is what keeps
32
+ # this list honest: a new link shape that no rule covers fails the build
33
+ # instead of shipping a 404 to the site.
34
+ run: |
35
+ cp skills/axiomize/rigor.md docs/rigor.md
36
+ cp skills/axiomize/archetypes.md docs/archetypes.md
37
+ SKILL_URL='https://github.com/Furox-Art/axiomize/tree/main/skills/axiomize'
38
+ {
39
+ echo "# The workflow"
40
+ cat skills/axiomize/SKILL.md
41
+ printf '\n\n# The lenses\n\n'
42
+ for f in skills/axiomize/perspectives/*.md; do
43
+ echo "## $(basename "$f" .md)"
44
+ echo
45
+ head -n 12 "$f"
46
+ echo
47
+ done
48
+ } | sed -E "
49
+ s#\]\(perspectives/#](${SKILL_URL}/perspectives/#g
50
+ s#\]\(templates/#](${SKILL_URL}/templates/#g
51
+ s#\]\(first-principles\.md#](${SKILL_URL}/first-principles.md#g
52
+ s#\]\((agent-based|causal-inference|control|decision-theory|demographic|deterministic|game-theory|information-theory|network|optimization|reliability|spatial|spc|stochastic|thermodynamic)\.md#](${SKILL_URL}/perspectives/\1.md#g
53
+ " > docs/skill.md
54
+ {
55
+ echo "# Worked examples"
56
+ for f in examples/*.md; do
57
+ echo "## $(basename "$f" .md)"
58
+ echo
59
+ head -n 8 "$f"
60
+ echo
61
+ done
62
+ } > docs/examples.md
63
+ - run: mkdocs build --strict
64
+ - uses: actions/upload-pages-artifact@v5
65
+ with:
66
+ path: site
67
+ deploy:
68
+ needs: build
69
+ runs-on: ubuntu-latest
70
+ environment:
71
+ name: github-pages
72
+ url: ${{ steps.deployment.outputs.page_url }}
73
+ steps:
74
+ - id: deployment
75
+ uses: actions/deploy-pages@v5
@@ -0,0 +1,16 @@
1
+ __pycache__/
2
+ *.pyc
3
+ .ipynb_checkpoints/
4
+ .DS_Store
5
+ *.aux
6
+ *.log
7
+ *.out
8
+ texput.log
9
+
10
+ # mkdocs output, plus the pages that the Pages workflow stages into docs/ from
11
+ # skills/axiomize before building. Generated on every build, never authored.
12
+ site/
13
+ docs/rigor.md
14
+ docs/archetypes.md
15
+ docs/skill.md
16
+ docs/examples.md
@@ -0,0 +1,123 @@
1
+ # Changelog
2
+
3
+ All notable changes to Axiomize are documented here. Format follows [Keep a Changelog](https://keepachangelog.com/); versioning is SemVer.
4
+
5
+ ## [1.5.0] - 2026-08-24
6
+
7
+ ### Added
8
+ - First-principles protocol (`skills/axiomize/first-principles.md`) for ideas with no matching archetype: derive the model from conservation/accounting identities instead of forcing a known template
9
+ - Two novel-domain benchmark reports exercising that path — async-alignment and telephone-fidelity — neither drawn from the archetype catalog
10
+ - Novel-territory appendix in the report template, recording which quantities were derived rather than borrowed
11
+ - PyPI packaging (`pyproject.toml`, src-layout shim, `axiomize-*` console commands, tracked `requirements-test.txt` manifest); the wheel is assembled straight from `skills/axiomize/` so no file is duplicated
12
+
13
+ ### Fixed
14
+ - Gillespie fade-out theory now uses the gambler's-ruin jump-chain result valid for every R0 (previously asserted probability 1.0 for all R0 ≤ 1); critical point verified as 1/(I0+1)
15
+ - `validate.py --days` is honored by the SIR report and sweep (previously ignored)
16
+ - `csv_check.py` fails hard on unknown column names and treats unsorted time as a data-quality failure (previously silently fell back to columns 0/1 and sorted before grading)
17
+ - Benchmark archetype gate requires the significant tokens of an archetype alternative (the old split-on-"/" reduced "M/M/c queueing" to the letter M and always passed); rejection check accepts the template's "Rejected lenses" heading
18
+ - `report_to_latex.py` neutralizes dangerous TeX macros (`\input`, `\write18`, ...) in math spans and catches pdflatex timeouts (the previous pre-pass preserved live `\input` commands)
19
+ - Playground locates the tools directory when launched via `gradio app.py` and validates the SIR population N before fitting
20
+
21
+ ### Changed
22
+ - SKILL.md routes to the first-principles protocol when archetype matching fails
23
+
24
+ ## [1.4.1] - 2026-08-24
25
+
26
+ ### Fixed
27
+ - LaTeX converter hardening: all 11 worked examples and 8 benchmark reports now compile with zero errors
28
+ - `texput.log`, a LaTeX build artifact, had been committed in 1.4.0; removed and `*.aux` / `*.log` / `*.out` added to `.gitignore`
29
+
30
+ ## [1.4.0] - 2026-08-24
31
+
32
+ ### Added
33
+ - LaTeX/PDF export for reports (`skills/axiomize/tools/report_to_latex.py`): booktabs tables, verbatim code blocks, unicode transliteration
34
+ - Sample rendered report checked in as `docs/report-sample.tex` / `.pdf`
35
+
36
+ ## [1.3.2] - 2026-08-24
37
+
38
+ ### Added
39
+ - Animated demo embedded in the README
40
+ - Benchmark regression wired into CI: the eight stored blind-test reports are replayed on every run, so a scoring regression fails the build
41
+
42
+ ## [1.3.1] - 2026-08-24
43
+
44
+ ### Added
45
+ - Eight blind-test benchmark reports committed under `benchmarks/reports/` (8/8 PASS, mean score 9.35) plus `docs/benchmark-results.md` summarising them
46
+ - Epidemiology and operations domain packs filled out
47
+
48
+ ### Fixed
49
+ - QA-wave defects: fade-out theory formula, Erlang-C overflow on large offered load, `csv_check` reporting a false PASS, and `fit` bounds
50
+
51
+ ### Removed
52
+ - Registry submission kit (`docs/submissions.md`) — premature
53
+
54
+ ## [1.3.0] - 2026-08-24
55
+
56
+ ### Added
57
+ - Three new lenses: decision theory (deep uncertainty, EVPI), demographic/actuarial, spatial statistics — fifteen total
58
+ - Benchmark runner: `benchmark_runner.py` grades produced reports against ideas.json cases automatically
59
+ - `fit.py --json` for machine-readable calibration output
60
+ - Local playground: Gradio UI wrapping csv_check + calibration (`playground/app.py`)
61
+ - Example gallery page and registry submission kit in docs
62
+ - Domain pack: project management
63
+
64
+ ### Fixed
65
+ - benchmark_runner --case-list no longer requires --report
66
+
67
+ ## [1.2.0] - 2026-08-24
68
+
69
+ ### Added
70
+ - Three new lenses: reliability engineering, statistical process control, thermodynamic analogies (twelve total)
71
+ - Three new worked examples: fleet maintenance (reliability), marketing attribution (causal), sensor placement (information theory) — eleven examples total
72
+ - Benchmark suite: `benchmarks/ideas.json` with 8 standard test cases + scoring rubric
73
+ - Domain packs: economics and ecology (alongside epidemiology and operations)
74
+ - Beginner tutorial: `docs/tutorial.md`
75
+ - New tool: `csv_check.py` — data quality pre-check before calibration
76
+ - Parallel subagent wave executed for lens/example authoring; orchestrator integration pattern documented by example
77
+
78
+ ### Fixed
79
+ - f-string backslash incompatibility breaking Python 3.9/3.11 in parallel_sweep.py
80
+
81
+ ## [1.1.0] - 2026-08-24
82
+
83
+ ### Added
84
+ - Three new lenses: game theory, causal inference, information theory (nine total)
85
+ - Archetype catalog expanded 16 → 30 entries
86
+ - Five new worked examples: network rumor, greenhouse control, startup growth (Bass + calibration), insurance ruin risk, café pricing war — network and control lenses now have dedicated examples
87
+ - Mermaid coupling diagrams in Phase 2 and the report template
88
+ - `fit.py`: AIC/BIC diagnostics, residual autocorrelation flag, `--compare` mode ranking models on the same data
89
+ - `tools/index_reports.py`: rebuilds `reports/INDEX.md`; sessions now cross-reference earlier reports
90
+ - Glossary template supporting basic-tier readers
91
+ - GitHub Pages site (`mkdocs-material`) via Pages workflow
92
+ - Domain packs: epidemiology, operations
93
+ - Publishing checklist for external registries
94
+ - CI: Python 3.9 / 3.11 / 3.13 matrix with dependency floors
95
+
96
+ ## [1.0.0] - 2026-08-24
97
+
98
+ First tagged release.
99
+
100
+ ### Added
101
+ - 8-phase workflow: parse → decompose → parameters → assumptions → multi-perspective modeling → comparison → implementation → falsifiability
102
+ - Six mathematical lenses: deterministic, stochastic, optimization, agent-based, network, control
103
+ - Archetype catalog mapping idea patterns to canonical models (SIR, Bass, newsvendor, M/M/c, logistic, Lotka–Volterra...)
104
+ - Three-tier rigor ladder (basic / standard / research) with plain-language guarantee and automatic escalation on threshold risk
105
+ - Parallel Dispatch Protocol: lenses run as independent subagents from frozen self-contained briefs; assumption conflicts surface at merge
106
+ - Standardized report template with confidence ledger and research appendix
107
+ - Tools bundled inside the skill:
108
+ - `validate.py` — SIR / Gillespie CTMC / Erlang-C queue modes with sanity checks and sweeps
109
+ - `fit.py` — parameter calibration from CSV data with confidence intervals and self-tests
110
+ - `parallel_sweep.py` — real process-pool execution of grids and Monte Carlo chunks
111
+ - `check_skill.py` — metadata, link and compile linter (wired into CI)
112
+ - Three worked examples: epidemic SIR, retail inventory, coffee-shop staffing
113
+ - GitHub Actions CI running all validation modes
114
+
115
+ [1.5.0]: https://github.com/Furox-Art/axiomize/releases/tag/v1.5.0
116
+ [1.4.1]: https://github.com/Furox-Art/axiomize/releases/tag/v1.4.1
117
+ [1.4.0]: https://github.com/Furox-Art/axiomize/releases/tag/v1.4.0
118
+ [1.3.2]: https://github.com/Furox-Art/axiomize/releases/tag/v1.3.2
119
+ [1.3.1]: https://github.com/Furox-Art/axiomize/releases/tag/v1.3.1
120
+ [1.3.0]: https://github.com/Furox-Art/axiomize/releases/tag/v1.3.0
121
+ [1.2.0]: https://github.com/Furox-Art/axiomize/releases/tag/v1.2.0
122
+ [1.1.0]: https://github.com/Furox-Art/axiomize/releases/tag/v1.1.0
123
+ [1.0.0]: https://github.com/Furox-Art/axiomize/releases/tag/v1.0.0
@@ -0,0 +1,60 @@
1
+ # Contributing to Axiomize
2
+
3
+ Thanks for helping make idea-to-model rigor a standard agent capability.
4
+
5
+ ## Adding a perspective (the most valuable PRs)
6
+
7
+ Each file in `skills/axiomize/perspectives/` follows a fixed contract. A new lens PR must include **all** sections:
8
+
9
+ ```
10
+ # Perspective: <Name> (<one-line essence>)
11
+
12
+ ## When Applicable
13
+ - Explicit triggers tied to the Phase 2 classifications (flow / interaction / decision / uncertainty)
14
+ - What questions this lens answers that others cannot
15
+
16
+ ## Model Forms
17
+ - The 2-4 canonical formalisms, with checklists for building them correctly
18
+ - Concrete functional forms (not "model it appropriately")
19
+
20
+ ## Standard Analysis Output
21
+ - Numbered list of artifacts every analysis must produce
22
+
23
+ ## Strengths / Blind Spots
24
+ - (+) what this view uniquely sees
25
+ - (-) what this view cannot see (honesty is the product)
26
+ ```
27
+
28
+ Rules for perspective content:
29
+
30
+ 1. Every equation symbol must be defined inline.
31
+ 2. Units are mandatory where dimensional.
32
+ 3. Include an "analysis ladder" (cheap → expensive methods) if more than one fidelity level exists.
33
+ 4. No filler prose — a domain expert should be able to build a first model from your file alone.
34
+
35
+ Candidate lenses not yet covered: queueing networks beyond M/M/c, survival analysis with competing risks beyond reliability scope.
36
+
37
+ ## Adding worked examples (`examples/`)
38
+
39
+ Follow the 8-phase structure exactly as in `examples/epidemic-sir.md`. Requirements:
40
+
41
+ - Real-ish parameter ranges with source classes (`lit.` / `data` / `est.`)
42
+ - At least two perspectives actually built, plus at least one **explicitly rejected with a one-line reason**
43
+ - A falsifiability section naming observations that would kill the model
44
+ - If you add runnable tooling, extend `skills/axiomize/tools/validate.py` (see below)
45
+
46
+ ## Extending `skills/axiomize/tools/validate.py`
47
+
48
+ Every new model mode must print sanity checks and exit non-zero when they fail. Accepted checks: conservation laws, bounds/monotonicity, agreement with a closed-form theory result (within stated tolerance), or distributional consistency across Monte Carlo runs. CI runs all modes — keep default parameters under ~60s total runtime.
49
+
50
+ ## Style
51
+
52
+ - Markdown for docs; Python 3.9+ stdlib + numpy/scipy only.
53
+ - No comments in code unless explaining a non-obvious formula's origin.
54
+ - English for repo content.
55
+
56
+ ## Submitting
57
+
58
+ 1. Fork & branch (`feat/<topic>`).
59
+ 2. Run all validate modes locally before the PR.
60
+ 3. Describe what lens/example adds to coverage that no existing file provides.
axiomize-1.6.0/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.