Behavioral Interrupt Protocol — the open spec for behavioral context.
What loop is the user in right now? BIP is the spec that answers that question in a shape any LLM, wearable, coordinator, or downstream protocol (PAP, EAP, UAP, RAP) can read.
Apache 2.0. Reference-implemented by COYL Cloud. The substrate underneath the four sibling specs — behavior context flows into PAP's proactive interrupt, EAP's cross-device action, UAP's standing-authority gate, and RAP's irreversibility scoring.
Status, honestly: the spec is published under Apache 2.0; the reference engine and the typed @coyl/protocol SDK are in alpha. BIP context feeds the live stack — PAP proposes, EAP acts, UAP authorizes, and the RAP safety floor gates every one of them. Built for foundation labs; design partners invited.
What the spec defines
The shape behavioral context travels in.
- The BehavioralContext envelope. A signed JSON document carrying loop identity (what recurring behavior), phase (entry / window / exit), confidence, danger-window proximity, and the consent-scope under which it was authored.
- Loop taxonomy + ontology. The canonical vocabulary for recurring behavior — dose-trough rebound, weekend-collapse, post-deadline reward, stress-event window — that consumers and producers of BIP agree to use.
- Conformance + transport. How a context-emitter (wearable, journaling app, prescription bridge) signs and transmits a context, and how a context-consumer (LLM coordinator, interrupt service) validates the signature, the scope, and the freshness window.
What’s actually shipped
A typed SDK, a runnable demo, and a live safety floor. Not a slide deck.
BIP is the read substrate. The context it carries feeds a stack that is implemented in this repository, in alpha — PAP proposes, EAP acts, UAP authorizes, RAP gates. Three proofs make that concrete.
The SDK · alpha
@coyl/protocol
A typed, zero-dependency TypeScript client. UAPClient does grant / precheck / execute / revoke / audit / kill-switch / verify-provenance; EAPDeviceClient registers a device, polls approved actions, and publishes sensor snapshots — the same snapshots that become BIP context. Typed against the live route handlers; wire shapes can change before 1.0.
The demo · runnable
Grant it, then try to break it.
One script walks the whole trust contract: grant → reversible action allowed and audited → irreversible send denied (it fails closed) → provenance verified on an allowed representation action → kill switch → the next action is dead. The fail-closed denial is the point.
The safety floor · live
Gates everything BIP feeds.
RAP's classifier, routing envelopes, and store are implemented and gating live in the app — the closed-coaching-path check runs ahead of every other gate on the agent path and before any consumer interrupt. A person in a closed path is never nudged, no matter what BIP context says.
The protocol family
BIP is the substrate. Four siblings build on it.
AI for the moment before behavior happens.