LogicPearl is the piece that decides. Compile your policy into an 8 KB Wasm artifact — same input, same verdict, every time, with a signed rule trace you can replay a year later.
Same refund policy, same customer message, default temperature. This is a real capture: 5 serial calls to Claude Sonnet 4.5 on the left, one LogicPearl evaluation on the right, both staring at the same input.
Hi — I ordered the desk lamp exactly 30 days ago today. It's still in the box, never opened. I realized I don't really need it. Can I return it for a refund?
Run 1 (3.2s) ✗ APPROVE "Falls within 30-day window." Run 2 (3.4s) ✗ APPROVE "Exactly at the 30-day deadline." Run 3 (3.2s) ✗ APPROVE "Section 1 accepts within 30 days." Run 4 (3.1s) ✗ APPROVE "Standard return window." Run 5 (3.2s) ✗ APPROVE "Policy explicitly accepts." 5/5 disagree with the artifact ~16 s total · ~$0.025 spend
Input (extracted by LLM): days_since_purchase 30 reason_category "changed_mind" item_is_digital false item_used false order_amount_usd 119 previous_refunds_90d 1 Verdict: DENY Fired: rule_001 days > 29 AND reason == changed_mind Latency: 0.37 ms Bitmask: 0b00010 Artifact: sha256:6713173a… byte-identical every run · $0 · replayable
days > 29 → DENY. Your LLM reasons from the prose and changes its mind as its version changes. The artifact enforces the compiled policy, byte-identical, signed. Only one is your policy of record. The split above isn't a choice of one or the other. In practice you let the LLM do what it's great at — reading prose, extracting structured data — and let LogicPearl do the decision.
days=30, reason=changed_mind, digital=false, used=false, …. Schema-checked, narrow, testable. npx @logicpearl/mcp install writes the config for both hosts with timestamped backups. Every chat then has access to three tools — the LLM decides when to call them.
The refund case above is the quickest one to show. These are the same primitive running against harder data — live Wasm artifacts, governance traces, counterfactual hints, the works.
Five packs, live Wasm evaluation in the browser, a per-account governance trace you can inspect. The same artifact enforces the decision that the AI recommends.
Intake packet, observer findings, policy checks, evidence trail. Counterfactual hints on every denial — not "the system said no."
Clinical-trial readiness surfaced as a deterministic gate: same inputs, same verdict, with the rule that fired and what would flip it.
Three npx commands, five minutes, no config. See the CLI flow end to end.
Install the MCP server. Copy-paste tool-use schemas for Anthropic and OpenAI.
Three npm packages, one Rust engine, the interactive Wasm playground.
Working on something where this fits? ken@logicpearl.com.