Rust Control Plane
Auth, sync, ask, apply, audit, serve — compiled. Python never touches credentials.
CLI-Based Context Engine
A Rust CLI that pulls artifacts into a git-tracked project, answers questions with citations, and writes back to systems of record — only after you approve every field.
What it is
Rust owns credentials and writes. Python never sees either. Every field decision is hash-chained and tamper-evident.
Auth, sync, ask, apply, audit, serve — compiled. Python never touches credentials.
Tokens in .yarrow/state.db under AES-256-GCM.
yarrow ask returns answers with citations to source artifacts.
Per-field approve/skip/flag before any system-of-record write.
Every decision in .yarrow/audit.jsonl with prior-record hash.
yarrow-extract invoked by Rust over stdio. No credentials, no state.
Live Demo
$ yarrow doctor
✓ keyring secret
✓ project config project_id=demo
✓ state store .yarrow/state.db readable
ℹ openrouter OPENROUTER_API_KEY not set
✓ extract sidecar yarrow-extract on PATH
$ yarrow gmail sync --filter "newer_than:30d" --limit 100
Synced 100 threads into context/gmail/threads/
$ yarrow ask "What stage is the Acme deal?"
Answer: Stage 3 — Proposal
Citations: context/gmail/threads/acme-deal.md
$ yarrow pipeline apply bindings/deals.yaml --verify-audit
Loading binding "deals"...
Extracting 7/7
Gate: 5 proposed, 2 abstained
Review: 5 approved, 2 skipped
Write: 5 written to Salesforce
Audit chain: verified (127 entries)
Architecture
Rust Control Plane
Auth
OAuth in / tokens encrypted out
Sync
Gmail, Salesforce, Postgres, files
Q&A
retrieval in / cited answer out
Apply
binding → extract → review → write → audit
Audit
hash-chained .yarrow/audit.jsonl
Supporting
yarrow-dev
binding validation, offline evals
yarrow-extract
LLM extraction sidecar, stateless
bindings/*.yaml
governed write definitions
MCP / HTTP
yarrow mcp-serve, yarrow serve
Dashboard
Monitor status, run dry-run pipelines, search audit trails — behind RBAC.
yarrow serve
Install
$ curl -sSL https://yarrowlabs.io/install.sh | bash
Or clone from GitHub and run make setup.