Skip to content

Releases: agtm1199/uber-polya

uber-polya v0.3.0 Release Notes

Choose a tag to compare

@agtm1199 agtm1199 released this 21 Feb 06:39

uber-polya v0.3.0 Release Notes

Release date: 2026-02-21
License: Apache 2.0


Don't guess. Solve. (Now with proof.)

168 automated tests, GitHub Actions CI, and a cleaner documentation experience.


Test Infrastructure

Every solver now runs under pytest with automated verification. Three test layers cover correctness, structure, and regression:

Test Suite Tests What It Checks
test_solvers.py — Smoke 36 Every solver exits cleanly (subprocess, 120s timeout)
test_solvers.py — Verification 13 solution.json verification dict: all checks pass
test_solvers.py — Feasibility 3 is_feasible and is_optimal flags in solution.json
test_structure.py 116 Skill dirs, SKILL.md frontmatter, example READMEs, solver scripts, HTML nav bars, root files
Total 168

Verification Patterns Handled

Solvers use different verification formats in solution.json. The test harness handles all of them:

  • True (bool)
  • "True" (string)
  • {"passed": True, ...} (nested dict with metadata)
  • Numeric metric values (skipped — not pass/fail)

GitHub Actions CI

Continuous integration on every push and pull request to main:

Matrix: Python 3.11 + 3.12
Stages:
  1. Structure tests (test_structure.py)
  2. Solver smoke tests (test_solvers.py::test_solver_runs)
  3. Solver verification tests (test_solvers.py::test_solver_verification_passes)

Pip caching enabled for faster runs.


Dependency Management

New requirements.txt pins all 25 Python dependencies in one place:

networkx pulp z3-solver sympy scipy matplotlib numpy cvxpy
statsmodels shapely numpy-financial nashpy pymoo prophet arch
ruptures lifelines scikit-learn xgboost umap-learn pandas simpy
dowhy pytest pytest-timeout

Documentation Polish

  • Footer nav removed from all 7 HTML pages — top nav bar is the single navigation point
  • "Install Free" → "Start Now" on index.html hero and features sections
  • Tutorial reframed around /uber-polya as the single entry point:
    • Phase headers: "Understand & Model", "Solve & Verify", "Interpret & Recommend"
    • Separate /uber-solve and /uber-interpret invocation steps removed
    • Sub-skills mentioned only as "under the hood" detail
    • Both getting-started.md and getting-started.html updated

Bug Fix

meal-planning solver (meal_solver.py): Fixed TypeError crash when PuLP returns infeasible. The report code attempted to format None objective value with f"${sol.objective:.2f}". Now wrapped in a feasibility guard with graceful fallback.


Files Added

File Purpose
requirements.txt All Python dependencies + test tools
pytest.ini Test configuration (120s timeout, slow marker)
tests/__init__.py Package init
tests/conftest.py Shared fixtures (root, examples_dir, skills_dir, docs_dir)
tests/test_solvers.py 52 parametrized solver tests
tests/test_structure.py 116 structural/convention tests
.github/workflows/ci.yml GitHub Actions CI workflow

By the Numbers

Metric v0.2.0 v0.3.0
Algorithms 305 305
Structures 91 91
Solver Libraries 26 26
Worked Examples 36 36
Domains 25 25
Automated Tests 0 168
CI Pipelines 0 1

Installation

git clone https://github.com/agtm1199/uber-polya.git
cd uber-polya
bash install.sh

Python Dependencies

pip install -r requirements.txt

Run Tests

pytest tests/ -v

Cross-Platform Compatibility

uber-polya uses the Agent Skills open standard and works on any platform that supports it:

  • Claude Code (Anthropic)
  • OpenAI Codex CLI
  • Cursor
  • GitHub Copilot
  • Mistral Vibe
  • And 25+ more

Documentation


Links

uber-polya v0.1.0 — Initial Release

Choose a tag to compare

@agtm1199 agtm1199 released this 20 Feb 20:55

uber-polya v0.1.0 — Initial Release

Release date: 2026-02-18
License: Apache 2.0


Don't guess. Solve.

uber-polya is a Claude Skill that solves any problem with the right math tool, using George Polya's generic problem-solving method from How to Solve It (1945). Describe a real-world problem — business or personal — and uber-polya finds the mathematical structure hiding inside it, solves it with the right algorithm, verifies the answer, and delivers an actionable result.

The first math problem-solver skill for Claude Code and 25+ compatible platforms. Free, open-source, Apache 2.0.


Four Skills, One Pipeline

Skill Role What it does
/uber-polya Orchestrator Chains Model → Solve → Interpret as a single invocation with full-pipeline, fast-track, stop-after-model, and stop-after-solve modes
/uber-model Phase A: Understand & Plan Guides you from a vague real-world problem to a formal mathematical model through Socratic questioning
/uber-solve Phase B: Execute Selects the right algorithm, writes a verified Python solver, and produces a certified solution
/uber-interpret Phase C: Look Back Translates the mathematical solution into actionable, stakeholder-ready insights with visualizations
/uber-polya (orchestrator)

/uber-model            /uber-solve             /uber-interpret
"What IS the           "What is the            "What does it
 problem?"              ANSWER?"                MEAN?"

 Real-world    -->     Formal Model    -->     Verified       -->    Actionable
 problem               (math)                 Solution              Insight

Knowledge Base

139 algorithms, 43 structures, 17 heuristics, 15 solver libraries — curated, cross-referenced, and organized for rapid problem-solving.

Catalog Entries Details
Polya's Heuristics 17 Socratic questions: draw a figure, introduce notation, work backwards, decompose, find analogies, and more
Structure Catalog 43 across 10 domains Graphs, trees, matchings, set systems, LPs, ILPs, sequences, recurrences, Boolean formulas, convex programs, QPs, random variables, hypothesis tests, regression models, Bayesian models, experimental designs
Problem Classification Decision tree + pattern table Rapid matching from problem description to mathematical structure
Common Mistakes 16 anti-patterns Modeling (M1–M10), solving (S1–S6), interpretation (I1–I6)
Algorithm Catalog (Discrete/Continuous) 94 algorithms Graph, combinatorial, ILP/LP, SAT/SMT, number theory, DP, BFGS, gradient descent, SQP, interior point, cvxpy DCP
Algorithm Catalog (Statistics) 45 algorithms Hypothesis tests, regression, Bayesian methods, estimation, resampling
Solver Ecosystem 15 Python libraries NetworkX, PuLP, Z3, SymPy, SciPy, OR-Tools, cvxpy, statsmodels, scikit-learn, PyMC, pingouin, lifelines, and more
Model Templates 5 patterns Fill-in-the-blank templates for assignment, scheduling, routing, selection, dependency ordering
Solving Protocols 8 workflows Domain-specific solving procedures for graph, ILP/LP, SAT/SMT, counting, proof, number theory, DP, continuous optimization
Optimization Hardening Phase 4 guide Performance tuning and production hardening for solvers
Interpretation Patterns 11 pattern groups Domain-specific math-to-reality translation for discrete, continuous, and statistical results
Visualization Guide 20+ chart types Gantt, network, heatmap, bar, sensitivity, Pareto, timeline, QQ, regression, residual, forest, posterior, and more

Domains Covered

Domain Algorithms Structures Solver Libraries
Discrete Mathematics 86 32 8 (NetworkX, PuLP, Z3, SymPy, SciPy, OR-Tools, and more)
Continuous Optimization 8 5 cvxpy, SciPy
Statistical Inference 45 6 6 (scipy.stats, statsmodels, scikit-learn, PyMC, pingouin, lifelines)

All reference files carry Scope tags for multi-domain awareness and include cross-reference indexes linking structures → algorithms → solvers → interpretation → visualization.


16 Worked Examples

Everyday Problems (10)

Example Problem Algorithm
Shift Scheduling Schedule 8 nurses across 3 shifts over 7 days ILP (PuLP/CBC)
Budget Optimization Select projects to maximize ROI under budget 0/1 Knapsack ILP
Fair Rent Split rent fairly among 3 roommates Hungarian + envy-free adjustment
Route Planning Shortest delivery route across 8 stops Held-Karp DP (exact TSP)
Project Prioritization Rank 8 features by weighted criteria MCDA weighted scoring
Study Schedule Conflict-free study timetable for 6 subjects Graph coloring (NetworkX)
Meal Planning Plan 7 dinners minimizing cost, meeting nutrition targets ILP (PuLP/CBC)
Team Assignment Assign 6 developers to 6 projects Hungarian algorithm (SciPy)
Break-Even Analysis Find break-even quantity for product launch Symbolic algebra (SymPy)
Event Seating Seat 12 wedding guests at 3 tables with constraints ILP (PuLP/CBC)

Technical Showcases (6)

Example Domain Algorithm
Milking Cows Interval merging Sort + sweep, O(N log N)
Inspector Assignment Bipartite ILP PuLP/CBC solver
Portfolio Optimization Convex QP cvxpy (Markowitz efficient frontier)
Tournament Hamiltonian Graph proof Induction + Z3 verification
A/B Testing Statistical inference z-test + Bayesian + bootstrap + power analysis
Cafe Tips Statistical inference t-test + Mann-Whitney + permutation + bootstrap + Bayesian

Every example includes a README, Python solver script, sample input/output, independent verify() function, and visualization.


Installation

git clone https://github.com/agtm1199/uber-polya.git
cd uber-polya
bash install.sh

The installer asks whether to install globally (~/.claude/skills/) or locally (./.claude/skills/). Works on macOS and Linux.

Python Dependencies

pip install networkx pulp z3-solver sympy scipy matplotlib numpy cvxpy statsmodels

Cross-Platform Compatibility

uber-polya uses the Agent Skills open standard and works on any platform that supports it:

  • Claude Code (Anthropic)
  • OpenAI Codex CLI
  • Cursor
  • GitHub Copilot
  • Mistral Vibe
  • And 25+ more

Documentation

  • The Manifesto — Why every problem is a math problem
  • Architecture — Polya's method mapped to the skill trilogy, knowledge base design, expansion architecture
  • Getting Started — Step-by-step walkthrough with the exam scheduling problem
  • Creating Skills — How to build new skills following the uber-polya patterns
  • Contributing — Add algorithms, domains, or examples
  • Usage Guide — Full HTML guide with problem gallery, knowledge base reference, and FAQ

Walkthrough Pages


Design Principles

  1. Socratic, not didactic. Asks questions that could have occurred to you. Never lectures.
  2. Verify everything. Every solution includes independent verification.
  3. Right tool for the job. Algorithm selection based on problem class and instance size.
  4. Audience adaptation. Results adapted for technical, decision-maker, or general audiences.
  5. Knowledge transfer. Every problem teaches a reusable modeling pattern.
  6. Modular expansion. New domains plug in without changing the core workflow.

Technical Details

  • Python 3.10+ required for solver scripts
  • dataclass(frozen=True) for immutable problem instances
  • dataclass for mutable solution objects
  • time.perf_counter() timing on all solvers
  • Independent verify() function on every solver (must not share logic with solve())
  • #!/usr/bin/env python3 shebang and module docstrings on all scripts
  • Type hints on all function signatures
  • from __future__ import annotations at top of all modules
  • Structured artifact schemas: Formal Model, Solution Report, Interpretation Report
  • Self-evaluation checklists after every phase gate

Expansion Roadmap

Domain Status
Discrete Mathematics Shipped
Continuous Optimization Shipped
Statistical Inference Shipped
Game Theory Planned
Machine Learning Planned
Simulation Planned
Time Series Planned
Decision Analysis Planned

New domains plug in as reference files without changing the core Polya workflow. See CONTRIBUTING.md.


Links