Parfait v0.1-alpha
Open-Source Core • Written in Go • Self-Hosted & Cloud Coming Soon

The Execution Plane for AI Agents & Automation.

Fast, persistent, type-safe orchestration. Best of all worlds: self-hostable like n8n, easier and cheaper than Zapier & Make, and as powerful as LangGraph—with built-in MCP, native integrations, and zero spaghetti code.

Join Early Access (Self-Hosted & Cloud)
triage_agent.pf
Sim Input:
Block Streaks: Trigger Control / Flow MCP Server Agent / Tool Durable State
when event received topic: "ticket.created" schema: TicketEvent 0.2ms
agent branch "triage-router" model: claude-3-7-sonnet 0.4ms
with MCP server postgres-prod scope: read-only 0.3ms
parallel join: all_settled goroutines ×2
invoke tool "search_kb" query: event.summary 0.8ms
invoke tool "fetch_customer_tier" id: event.user_id 0.6ms
if agent.confidence >= 0.85 0.1ms
checkpoint & emit channel: "#auto-resolved" 0.4ms
else
await human approval timeout: "24h" persist: durable_wal hibernated
💡 Click any block above to inspect its Go runtime frame & static type contract.
Go Execution Plane Inspector
goroutine #42 [ready]
Engine Step
1.4 ms
State WAL
seq #0084
Worker Heap
94 KB
SELECTED BLOCK FRAME Trigger • Event
when event received ("ticket.created")

Validates incoming payload against compiled schema before allocating a lightweight Go execution fiber.

{
  "event_id": "evt_99481a",
  "topic": "ticket.created",
  "user_id": "usr_enterprise_08",
  "summary": "SSO SAML assertion timeout on EU cluster",
  "type_check": "PASS (0.04ms)"
}
DETERMINISTIC EXECUTION LOG engine=parfait-go/1.23
[00.0ms] Ready. Click "Run Live Trace" to step through blocks.
[00.1ms] Static type graph compiled: 0 errors, 2 MCP tools bound.
[00.2ms] Durable WAL snapshot initialized (zero-copy binary).
Persistence: Postgres / Embedded BadgerDB ● Crash-Safe
Built for AI & Automation Engineers

Why node-and-wire graphs and brittle glue code break in production.

Visual canvas tools turn into unreadable spaghetti the moment you add loops or branches. Code frameworks require hundreds of lines of state-graph boilerplate. Parfait gives you a real block-structured execution language backed by a compiled Go engine.

SOLVED BY BLOCK SCRIPTS

1. Zero Spaghetti Code

Node-and-wire tools turn into a cobweb of backward-looping bezier lines after 10 nodes. Parfait uses structured C-blocks (for each, parallel, if/else) with true lexical scoping, compile-time type safety, and clean Git diffs.

for each doc in batch.items
SOLVED BY DURABLE GO ENGINE

2. True Agent Persistence

Long-running agents fail when processes restart or webhooks time out. Parfait automatically checkpoints state after every block. Agents can hibernate for days awaiting human approval and resume on another worker with zero memory footprint while paused.

await human approval "72h"
SOLVED BY NATIVE MCP & TOOLS

3. Native MCP & AI Primitives

Stop writing brittle JSON-parsing wrappers. Model Context Protocol (MCP) servers, structured output schemas, token budgets, and deterministic tool sandboxes are first-class language blocks—automatically scoped to the active agent branch.

with MCP server github-mcp
Side-by-Side Architecture Comparison

Block Scripts vs. Spaghetti Graphs & Boilerplate

n8n Node-and-Wire Loop
6 nodes • 7 wires • Fragile context
Webhook batch[] SplitInBatches loop_idx: ?? done AI Classify $json.item Wait & Set wire back ↩ Merge Output partial loss! ⚠ Error: $node["Webhook"] context lost on iter 4
Why this hurts in production:

• Looping requires manual backward wires into SplitInBatches, breaking upstream node references.

• If iteration #47 fails, the entire batch state is lost or requires complex manual sub-workflow splitting.

Parfait Scoped C-Block Script
Zero wires • Automatic per-item checkpoint
when webhook received path: "/ingest-batch" as batch
for each item in batch.records concurrency: 8 workers
agent classify input: item.body into LabelSchema
checkpoint iteration key: item.id retry: exponential(3)
with MCP server slack-ops notify: "Batch completed: " + batch.count
Why Parfait wins:

• Lexical Scoping: batch and item are strongly typed and accessible anywhere inside the C-block.

• Resumable Mid-Loop: If item #47 fails, Parfait replays strictly from item #47 without re-billing LLM tokens for items 1–46.

Compiled Go Execution Plane

Why we wrote the Parfait runtime in Go.

When an AI agent orchestrates 50 parallel tool calls and state checkpoints, orchestration overhead compounds fast. Parfait compiles block scripts into a deterministic state machine executed by lightweight Go goroutines with zero-copy binary serialization.

Lower is better • Excludes external LLM network time
Parfait Engine Compiled Go 1.23 • Goroutines
1.4 ms Baseline (Fastest)
n8n Workflow Runner Node.js V8 • Single-Thread Event Loop
38.0 ms 27× slower
LangGraph Checkpointed Runtime Python 3.12 • Asyncio + Dict Cloning
74.5 ms 53× slower
1. Zero-Copy Binary Checkpoints

Instead of deep-cloning massive JSON graphs on every node transition like Node.js or pickling Python dicts, Parfait appends compact binary deltas to its Write-Ahead Log.

2. True Multi-Core Goroutines

Each parallel or for each block spawns 2KB stack goroutines scheduled across all CPU cores—no GIL or V8 event-loop stalls.

3. Single Static Binary

Deploys as a single 28MB Go binary or scratch Docker container with zero Node/Python dependency hell.

The Sweet Spot

Best of All Worlds. None of the Tradeoffs.

Self-hostable like n8n, easier and cheaper than Zapier & Make, and as powerful as LangGraph—unified in a clean block execution plane.

Capability
Parfait
n8n Zapier / Make LangGraph
Control Flow Model ✓ Structured C-Blocks (Zero wires) Node & wire spaghetti Linear chains / Router bubbles Verbose Python/TS boilerplate
Durable Agent Persistence ✓ Built-in WAL & Zero-Cost Hibernation Partial (Wait node limitations) ✕ Stateless / Short timeouts Requires manual Checkpointer DB setup
Compile-Time Type Safety ✓ Strict lexical scope & schema check ✕ Runtime $json guessing ✕ Untyped dynamic fields Manual TypedDict annotations
Native MCP & AI Tooling ✓ First-class language blocks Sub-node wrappers Basic webhook / app actions Adapter libraries + custom code
Execution Engine & Speed ✓ Compiled Go (1.4ms step p99) Node.js (38ms step p99) Cloud throttled (100ms–2s) Python (74ms step p99)
Self-Hostable & Pricing ✓ Open-Source Core + Fair Cloud ✓ Fair-code self-hosted ✕ Expensive per-task tax MIT library, paid LangSmith Cloud
🚀 Public Alpha Launching Soon

Deploy on your own metal, or let Parfait Cloud run the plane.

Get notified the moment our open-source Go binary hits GitHub, plus early invite access to Parfait Cloud with managed MCP connectors and zero-ops durable execution.

SELF-HOSTED QUICKSTART (COMING SOON)
# 1. Pull single 28MB Go engine container
$ docker run -d --name parfait \
  -p 8080:8080 \
  -v parfait_wal:/var/lib/parfait \
  ghcr.io/parfait-dev/parfait:latest

# 2. Or run directly via static Go binary
$ parfait serve --storage=badger --mcp-auto
✔ Parfait Execution Plane listening on :8080
✔ Block Studio UI ready at http://localhost:8080