Install
Python 3.10+. Optional LangGraph extra maps runtime IDs for you.
pip install mycelium-runtime pip install 'mycelium-runtime[langgraph]' # optional
Mycelium
Install the reliability layer, watch a duplicate side effect get blocked, then wire one tool. No framework rewrite.
Path
Using a coding agent? Ask it to “Use
$mycelium-setup to protect this project.” The repository skill
discovers tools, fills the YAML, wires the runtime, and runs the checks.
You review effect classifications, identity, secrets, and provider access.
Python 3.10+. Optional LangGraph extra maps runtime IDs for you.
pip install mycelium-runtime pip install 'mycelium-runtime[langgraph]' # optional
Feature tour: lease, hard-block, repair, reconcile, operator release. Doctor inspects config. Verify exercises synthetic failures against the ledger backend only.
mycelium demo mycelium demo --redis # needs Redis + mycelium-runtime[redis] mycelium doctor --config mycelium.yaml mycelium verify --config mycelium.yaml
Writes mycelium.yaml: transition + one mutating tool.
Fill in the callable path manually, or let $mycelium-setup
inspect and wire your application.
mycelium init # manual path: edit mycelium.yaml → tools.*.callable # agent path: use $mycelium-setup
Zero-touch wrap: configured callables are guarded before your app starts. Retries return stored results or hard-block; they do not double-fire.
mycelium run --config mycelium.yaml -- python -m my_app
What you just enabled: any tool, any provider: prove run-or-not and enforce at-most-once. Not tracing. Prevention at the tool boundary. Loop, scope, and completion guards are opt-in later.