The problem it fixes
Every local model speaks its own tool-calling dialect. Every agent program has its own tools, approvals and memory. Today each pair is wired by hand, and the wiring is where the authority leaks: a model reads a web page that contains an instruction, repeats it as a tool call, and the program obeys because nothing in between remembered where the text came from.
INTERPLANE puts a named, tested layer there. It belongs to neither side. A runtime keeps its own policy and execution; a model keeps its own dialect. The protocol only standardises what crosses between them, and makes that crossing measurable.
Models express intent. Runtimes retain authority. INTERPLANE defines the boundary between them.
Seven modules, one line
Each module answers one question a call has to pass on its way from a model to an effect in the world.
Core
What crosses the line?
The shared vocabulary: capabilities, requests, results, traces and the canonical byte form every digest is computed over.
SpecificationLenshift
What did the model actually say?
Reads each model's native tool-call dialect into one form. An incomplete or ambiguous call is rejected, never guessed.
SpecificationCrossAxis
Which tools does this task need?
Selects the few tools a task needs from a runtime's catalog, so a small local model is not buried under schemas it will never use.
SpecificationCrossveil
Who is allowed to act?
Tracks where every piece of text came from. Content a model read on the web cannot grant authority, and an effect it asks for while untrusted text is in view is held for a person.
SpecificationProbe
What does this model and backend really support?
Live probes that measure a model, backend and runtime combination instead of trusting its documentation.
SpecificationVectorveil
How do bytes travel?
The transport envelope. Specified; the implementation belongs to the 0.4 Execution stage.
SpecificationRelayLine
How does a long call stream?
Streaming, cancellation and continuation. The contract is written; the implementation belongs to 0.4.
Specification
One measured result
From the 0.1 readiness report. A real Qwen3.5-9B model on Ollama, one task, the runtime's full tool catalog against the tools CrossAxis selected.
Fewer tokens is the cost side only. The same stage later asked whether a small model keeps its capability with fewer tools, pre-registered the thresholds, and recorded the answer: the 0.2 gate failed. Both results are in the repository, with the raw runs. Read the 0.1 report.
Current state
Read from the protocol repository at commit 1de1b0065b2e (26 Oct 2026). This page is rebuilt every hour from that record and nothing here is typed by hand.
Roadmap
- 0.1RealityProve what a model/backend/runtime combination really supportsclosed, report below Report
- 0.2CapabilityGive small local models the minimum tools required without making them less capableclosed 4 Oct 2026, gate FAIL Report
- 0.3TrustPreserve the line between content, model intent and runtime authorityclosed 5 Oct 2026, gate PASS Report
- 0.4ExecutionMulti-round execution without losing the boundarynext
- 0.5QualificationMeasured, reproducible model and backend claimsplanned
Next stage: 0.4 Execution.
Components
STATUS.md tracks 42 rows for the Rust implementation.
- 3 qualified against a real model or backend
- 12 conformant to the shared fixtures
- 13 tested
- 2 implemented or running
- 1 specified only
Conformance runner: 106 of 106 cases, verdicts byte-identical to the recorded reference.
Full status tableActivity
- Latest change: Merge pull request #120 from aien-dev/fix/security-workspace-and-session-bounds
- Last merged proposal: #120 fix(security): confine approved writes and bound retained refusals (26 Oct 2026)
- 0 open proposals, 3 open issues
- Latest release: v0.3.0
Reports, in their own words
Every stage closes with a pre-registered gate and a report that states the result whether it passed or failed.
- INTERPLANE 0.1 readiness report (2026-10-04)
- INTERPLANE 0.2 capability report (2026-10-04) the pre-registered CrossAxis gate FAILED.
- INTERPLANE 0.2x campaign report (2026-10-05) all four arms FAILED the pre-registered gate, including arm 3, the primary claim.
- INTERPLANE 0.3 trust report (2026-10-05) every offline gate of the pre-registered 0.3 protocol PASSED (P, X, I, E, A, N; `bench/PROTOCOL-0.3.md` section 5, thresholds fixed before the run and not changed here).
- Independent adapter reproduction (plan 19.7 item 8)
Generated 2026-10-26T20:07:09Z. The data behind this section is published as facts.json.
Try it in a minute, offline
No model, no GPU, no network. A scripted model fetches a page that carries an injected instruction, then asks to send an email, write a file and append a note. The reference pipeline denies the email and the write, holds the note for a person, and executes none of them.
git clone https://github.com/aien-dev/interplane-mv.git
cd interplane/rust
cargo run -q -p interplane-crossveil --example offlineTo connect your own program, read Writing an adapter and run its to-do list example. The conformance suite then checks your adapter the same way it checks the reference.
