spine-lite¶
Deterministic policy and effects runtime for LLM tool calls.
Six-class effects taxonomy on state × boundary × reversibility axes. Ordinal precedence. Content-addressable receipts. Designed for any LLM tool call, not just bash. Sibling project to M87-Spine-lite — see Porting Notes for the relationship.
What it does¶
You hand it a tool call and a manifest of declared effects. It hands back a deterministic decision: which effects fire, what the dominant class is, and a structured receipt you can replay by SHA. Wire it in front of Claude Code's tool-use as a PreToolUse hook, or call the library directly from any Python process.
The runtime is offline by design — no clocks, no randomness, no network, no LLM calls inside the runtime itself.
Status¶
| Phase | Scope | Version | State |
|---|---|---|---|
| 1 | Scaffold, taxonomy, exceptions, CLI surface, CI matrix, docs | v0.1.0a0 |
Shipped |
| 2 | Manifest schema, classifier with parity tests | v0.2.0a0 |
Pending |
| 3 | Posture state machine, receipts, hook adapter, end-to-end | v0.3.0a0 |
Pending |
PyPI publish lands at the end of Phase 3. Until then, install from source — see Getting Started.
Where to go¶
- New here? → Getting Started
- Mental model → Concepts / Overview
- The six effect classes → Effects Taxonomy
- Use the API today → How-To / Use the API
- Wire into Claude Code → How-To / Wire into Claude Code
- Public surface → Reference / API, Reference / CLI, Reference / Glossary
- Why it's shaped this way → Explanation / Architecture, Invariants, Design Rationale, FAQ
- What shipped when → History / Phase 1
License¶
MIT. Maintained by Mac McFall under M87 Studio.