Skip to content

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.

Get started API reference

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

License

MIT. Maintained by Mac McFall under M87 Studio.