One continuity stream.
Every surface. Every provider.
Willow is hosted, there is nothing to download. The layer underneath is an OpenAI-compatible gateway with continuity state on top. The same coherence report (thread integrity, fragmentation risk, recommended action, intent vector) is available alongside the completion, so your stack can decide what to do before the answer reaches your user.
Everything documented on this page is present on the live gateway. Where something is not yet publicly available, this page says so rather than showing a command that would fail.
App → Willow → Providers
Willow sits inline between your application and the model provider. It observes the exchange, produces a coherence report, and returns a recommended action alongside the completion.
CoherenceReport
Field names below match the live gateway schema. Hover any key for its definition. Scoring formulas, thresholds, and weighting logic are not published.
01{02 "thread_integrity_score": 84.186,03 "intent_alignment": 0.91,04 "fragmentation_risk": { "score", "level", "reasons" },05 "recommended_action": "verify",06 "intent_vector": { ... },07 "components": [ ... ],08 "dynamic_weights": { ... }09}Willow also returns a ContinuityArtifact --> the compact carried frame, with primary goal, active and obsolete facts, constraints, non-goals, open loops, invariants, a temporal anchor, and a re-entry payload, PLUS a SessionFrame describing the operating mode the thread is running under.
What the gateway exposes.
OpenAI-compatible
- POST /v1/chat/completions
- GET /providers
- GET /health
Send authorization or x-willow-key. Accepts the usual model / messages / temperature / max_tokens / stream fields, plus willow, session_id, and session_frame.
State & re-entry
- GET /v1/state
- GET /v1/state/reentry
- POST /v1/state/reenter
- GET POST /v1/events
Read the carried frame, get a re-entry payload for a fresh session, or append events to a thread.
Handoffs & actions
- POST /v1/handoffs
- GET /v1/handoffs/{run_id}
- GET POST /v1/actions
- POST /v1/actions/{id}/claim
Pass a run between workers with its summary, decisions, and unresolved questions. Actions support claim, complete, defer, dismiss, and resolve.
Billing, pricing catalogue, and Observatory endpoints exist on the same gateway but are for the product surface rather than direct integration.
Start with the gateway.
Willow speaks the OpenAI chat-completions shape, so the fastest integration is repointing a client you already have.
01# any OpenAI-compatible client works, point it at Willow02curl -X POST "$WILLOW_BASE_URL/v1/chat/completions" \03 -H ""x-willow-key: $WILLOW_API_KEY"" \04 -H ""content-type: application/json"" \05 -d "'{"model":"...","messages":[...],"willow":true,"session_id":"..."}'"0607# then read the carried frame back on a fresh session08curl "$WILLOW_BASE_URL/v1/state/reentry" -H ""x-willow-key: $WILLOW_API_KEY""Root · Canopy · Forest
Willow is hosted, so there is no proprietary engine to download. Builder access is an invitation into the layer underneath: the base URL, credentials, the Python SDK, and the MCP bundle come with it.
- Root, a one-month builder pass into hosted Willow. Gateway, SDK, MCP, and proxy access with project-scoped continuity, for indie builders, founders, students, and small teams.
- Canopy, ongoing developer access at $98/month, with account-level continuity and the MCP + SDK bundle.
- Forest, team and enterprise deployments, higher volume, priced on request.
The Python SDK and MCP server aren't published to PyPI or npm yet, so there's no public install command to give you. We'd rather leave it blank than print one that fails.
Ask about builder accessProvider support.
Reported by the live gateway's own /providers endpoint.
- openai
- anthropic
- gemini
- groq
- together
- openrouter
- perplexity
- mistral
- deepseek
- nvidia
The request schema accepts a stream flag. We don't publish a per-provider streaming support table, because behaviour depends on the upstream provider and model rather than on Willow.
Careful signals, not benchmarks.
| Signal | Result | Context |
|---|---|---|
| Live Core smoke --> API · continuity state · multi-model path | passed | controlled launch smoke run |
| Coherence fields returned in live responses | thread_integrity_score · intent_alignment · fragmentation_risk · recommended_action · intent_vector | live gateway schema |
| Continuity artifact vs. source transcript | ~14.6% | single synthetic long-context compression test |
| Gemini provider-adaptive followed-rate | 37.5% → 62.5% | focused private validation; high-load/urgent cases reached 100% after policy refinement |
| Automated tests passing | 130 + 4 | product test suite run --> a build-health count, not a performance result |
A passing test count says the build is healthy. It is not a performance benchmark, and we keep the two apart. Full conditions and limits are on the evidence page.