{"id":50857787,"url":"https://github.com/stussysenik/math-inference","last_synced_at":"2026-06-14T19:31:23.687Z","repository":{"id":351431207,"uuid":"1210959187","full_name":"stussysenik/math-inference","owner":"stussysenik","description":"Phoenix LiveView monolith for mathematically verified LLM answers. LLMs route; SymPy / Julia / Octave / Lean4 prove.","archived":false,"fork":false,"pushed_at":"2026-04-15T00:11:55.000Z","size":66,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-15T02:24:25.144Z","etag":null,"topics":["elixir","lean4","livesvelte","llm","math","nvidia-nim","openspec","phoenix","sympy","verification"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stussysenik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"stussysenik"}},"created_at":"2026-04-14T23:50:24.000Z","updated_at":"2026-04-15T00:12:14.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/stussysenik/math-inference","commit_stats":null,"previous_names":["stussysenik/math-inference"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/stussysenik/math-inference","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stussysenik%2Fmath-inference","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stussysenik%2Fmath-inference/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stussysenik%2Fmath-inference/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stussysenik%2Fmath-inference/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stussysenik","download_url":"https://codeload.github.com/stussysenik/math-inference/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stussysenik%2Fmath-inference/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34335688,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-14T02:00:07.365Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["elixir","lean4","livesvelte","llm","math","nvidia-nim","openspec","phoenix","sympy","verification"],"created_at":"2026-06-14T19:31:18.309Z","updated_at":"2026-06-14T19:31:23.673Z","avatar_url":"https://github.com/stussysenik.png","language":null,"funding_links":["https://github.com/sponsors/stussysenik"],"categories":[],"sub_categories":[],"readme":"# math-inference\n\nA Phoenix LiveView + LiveSvelte monolith that produces **mathematically verified** LLM answers for engineering- and contest-level mathematics. Every rendered section is verified by at least one symbolic engine (SymPy, Julia, GNU Octave, Lean 4, Wolfram Alpha) before it reaches the UI. LLMs route, parse, and narrate; symbolic engines prove.\n\n\u003e **The non-negotiable invariant:** LLMs are never in the verification path. Symbolic engines are the sole ground truth for mathematical correctness. No section reaches the UI without passing at least one engine; cross-verification across two engines is preferred when the router can identify a second applicable backend.\n\n## Status\n\nThis repository is in the bootstrap phase. The code scaffold has not yet been generated — the initial OpenSpec change proposal is the source of truth until slice 1 lands. Read the proposal first, then the tasks checklist:\n\n- [`openspec/changes/add-math-inference-backbone/proposal.md`](./openspec/changes/add-math-inference-backbone/proposal.md) — what we're building and why\n- [`openspec/changes/add-math-inference-backbone/design.md`](./openspec/changes/add-math-inference-backbone/design.md) — 9 architectural decisions with alternatives considered\n- [`openspec/changes/add-math-inference-backbone/tasks.md`](./openspec/changes/add-math-inference-backbone/tasks.md) — 97-task implementation checklist\n- [`openspec/project.md`](./openspec/project.md) — canonical project context for contributors and agents\n\n## Documentation\n\n- **[VISION.md](./VISION.md)** — why this project exists, the architectural convergence across six prior attempts, the verification invariant, the slice plan, and success criteria.\n- **[TECHSTACK.md](./TECHSTACK.md)** — full stack breakdown with rationale for every choice, alternatives considered, and the lifecycle of a verified generation.\n- **[openspec/](./openspec/)** — change proposals, capability specs, and project conventions.\n\n## Stack at a glance\n\n| Layer | Choice |\n| --- | --- |\n| Backend | Elixir 1.19 / OTP 28, Phoenix 1.8, LiveView, LiveSvelte |\n| Frontend | Svelte 5 (runes), Vite, Tailwind v4, SaladUI, GSAP, Phosphor icons, KaTeX |\n| LLM | NVIDIA NIM (OpenAI-compatible streaming) |\n| Verification | SymPy (slice 1), Julia, GNU Octave, Lean 4, Wolfram Alpha (slice 2+) |\n| Transport | LiveView + JSON/SSE REST + Phoenix Channels, OpenAPI 3.1 via `open_api_spex` |\n| Persistence | ETS / Agent (slice 1), Ecto + Postgres 16 (slice 2+) |\n| Dev environment | Nix flake pinning Elixir, Node, Python, Julia, Lean 4, Postgres |\n| Pre-commit | Lefthook |\n| Deployment | Railway via Nixpacks (slice 3+) |\n\nSee [TECHSTACK.md](./TECHSTACK.md) for the full breakdown.\n\n## Getting started\n\nOnce slice 1 lands (tracked in `tasks.md`), the canonical entry point is:\n\n```sh\nnix develop\nmix setup\nmix phx.server\n```\n\nUntil then, the repo carries only the OpenSpec scaffold. Implementation begins after the disk-headroom prerequisite (task group 12) completes.\n\n## Prior art\n\nThis project centralizes six prior attempts into one canonical monolith:\n\n| Repository | Role |\n| --- | --- |\n| [`stussysenik/math-explainer-redwood`](https://github.com/stussysenik/math-explainer-redwood) | reference only (RedwoodJS + GraphQL) |\n| [`stussysenik/kimi-math-chat`](https://github.com/stussysenik/kimi-math-chat) | reference only (Rails + Hotwire + Rust NIF) |\n| [`stussysenik/math-chat`](https://github.com/stussysenik/math-chat) | prompts ported verbatim into `priv/prompts/` |\n| [`stussysenik/phoenix-math-stream`](https://github.com/stussysenik/phoenix-math-stream) | reference only (minimal LiveView NIM client) |\n| [`stussysenik/zig-elixir-math-katex`](https://github.com/stussysenik/zig-elixir-math-katex) | structural base (Phoenix 1.8 + SymPy + Wolfram + Octave) |\n| [`stussysenik/math_reader`](https://github.com/stussysenik/math_reader) | dropped |\n\nSee [VISION.md](./VISION.md#prior-art-and-the-architectural-convergence) for the full synthesis.\n\n## Contributing\n\nThis is a single-operator research harness in the bootstrap phase. Contribution guidelines will land with `AGENTS.md` in task group 3.\n\n## License\n\nTBD.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstussysenik%2Fmath-inference","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstussysenik%2Fmath-inference","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstussysenik%2Fmath-inference/lists"}