PrismPath
Control flow as data, not code. Deterministic, diffable AI agent workflows written entirely in
Markdown. One file is the graph: each ## heading is a step, each -> target: condition an edge. A
routing spectrum decides every transition at the cheapest tier that can, so you pay for a model only
where meaning genuinely requires one.
- 📄 Markdown is the graph: no Python DAG boilerplate. A routing change is a prose diff.
- ⚡ A spectrum, not one LLM call: a free
whenpredicate, then embeddings, then an LLM only on doubt, pluson errorandon eventfences. - 🔒 Provable, not hopeful:
prismpath validatecompiles the flow and checks reachability with no model; a per flow lockfile pins semantic routing bit for bit; the same signed table runs everywhere.
The whole idea in one file
---
name: support_triage
start: classify
---
## classify
Read the ticket. Emit `category`, `amount`, and `sentiment`.
-> human_review: when category == "billing_dispute" and amount > 500
-> billing: when category in ("billing", "billing_dispute")
-> outage: when category == "outage"
-> retention: when sentiment == "angry"
-> general: else
## human_review
A person decides. High value billing disputes are never auto routed.
## billing
The standard billing queue.
## outage
Page the on-call engineer.
## retention
Route to a retention specialist.
## general
The general support queue.
-> t: when <expr> is a free deterministic edge (first true wins, in document order); a bare
-> t: <natural language> escalates to embeddings, then to a one shot LLM only on doubt; else is the
fallthrough.
Quickstart
pip install prismpath
prismpath init # scaffolds flow.md + flow.tests.md
prismpath validate flow.md # does it compile? no model
prismpath test flow.md # does it route as written? no model
To run the flow end to end (the starter has a semantic edge), add the embeddings extra, then point it at a worker:
pip install 'prismpath[embeddings]' # ~90 MB, on your machine, no cloud, no API key
prismpath run flow.md # mock worker by default; --agent ollama:llama3.2 for a real LLM
vs LangGraph / CrewAI
| PrismPath | LangGraph / CrewAI | |
|---|---|---|
| Definition | inert Markdown | Python / TypeScript code |
| Routing cost | deterministic → embedding → LLM on doubt | a full LLM call, or your own code |
| Validation | compile time, no model | runtime failure |
| Portability | one table on Python, JS, Rust, Go, C, eBPF, an FPGA, and four MCU ISAs | Python runtime |
| Auditability | git diffable + content addressed ledger | logs or a database |
The four baselines are real, runnable implementations, not a strawman.
Going deeper
- The ten-minute tour of the whole engine.
- It runs all the way down. The same Level M table compiles to a Linux kernel XDP program and an FPGA fabric, certified against the same frozen vectors. Those substrates, the decidability proofs, the Facet wire protocol, and an evidence ledger timestamped to Bitcoin live in the research repo: crystal-warden/prism-path.
Apache-2.0 (LICENSE, NOTICE). Fork it and ship it, including inside a proprietary product: retain LICENSE and NOTICE, mark changed files. No user-facing attribution required.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file prismpath-0.1.0.tar.gz.
File metadata
- Download URL: prismpath-0.1.0.tar.gz
- Upload date:
- Size: 932.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce67b1a4aeafe21e5a6327963ae65839125bc1db06040af8ce35891831f55f2a
|
|
| MD5 |
c39aa1361c18cb82cf4aa1dfd6bdf062
|
|
| BLAKE2b-256 |
51f7d90aa603f41634f7356a5c66e985db97287af9a419fc4573f132c1f8d525
|
File details
Details for the file prismpath-0.1.0-py3-none-any.whl.
File metadata
- Download URL: prismpath-0.1.0-py3-none-any.whl
- Upload date:
- Size: 1.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f1beae8952cd28d2bcea53132055176ecd91f9eb618b3457fbfdb45cafdd3b7
|
|
| MD5 |
95e85c2fe1462892a4745f2ca42af857
|
|
| BLAKE2b-256 |
1dfcb77c3b2752d596dc09f69f6daeac2cf8828f1a3d9ea17c93080c740debf8
|