Resolve

Turn natural language business rules into formal logic

Resolve turns an operations team's standard operating procedure (SOP), the written steps people follow, into rules a solver can check. The SOP owner settles what the solver flags. Then an agent gathers each case's facts, the rules decide, and Resolve names any fact still missing.

The demo uses a Know Your Business (KYB) procedure: how a bank confirms who owns a company before opening its account.

Written SOP
3.3Identify every individual who owns 25% or more of the entity, directly or indirectly. If ownership is not complete, request documents.
Rule · checked by Z3when unidentified ownership ≥ 25%
then request documents
Agent working Northwind Coffee Co. LLC EX-1
  1. get_evidence ownership
  2. Dana Ruiz 35% · Wei Lee 25% · Halcyon Holdings 40%, owners unknown
  3. check_with_resolve
  4. Request documents SOP 3.3 · still needed: who owns Halcyon Holdings
  5. get_evidence Halcyon Holdings' owners
  6. Priya Shah 100% · politically exposed person
  7. check_with_resolve
  8. Escalate SOP 4.3 · nothing still needed
  9. submit_decision escalate, SOP 4.3

How it works

When the SOP changes
SOPThe policy as written
Formal specRules Claude drafts, each quoting its sentence
Z3 checks itDead rules, contradictions, gaps
SOP owner picks a fixEach option shown with the past cases it changes
Updated formal specApproved before it is used
The new version is checked again
The approved spec is what Resolve applies to every case.
For every case
Agent gathers evidenceFrom the evidence system
Case fileFacts, each with a source
Resolve applies the formal specNever approves on an unknown fact
Outcome, or what's missingWith the rules behind it
Missing facts go back to the agent as its next requests

Haiku with Resolve got all 180 runs right; Opus alone got 153

Both arms use the same agent, tools and mocked evidence: 60 synthetic KYB cases, three runs each. Alone, the model reads the SOP and decides. With Resolve, the approved rules decide from what it gathered and name the facts it still has to get. A dangerous approval is approving a case the rules don't approve.

AgentRight outcomeDangerous approvalsCost per caseTime per case
Haiku 5.5, low effort, with Resolve 180/180 0$0.00116.3 s
Opus 5.5, high effort, alone 153/180 3$0.03010.5 s
Haiku 5.5, low effort, alone 143/180 6$0.00106.8 s
Opus 5.5, high effort, with Resolve 180/180 0$0.03711.3 s

Recorded 30 Oct 2026 · not live Runs from commit 9185858, recorded in bench/runs/. The evidence is mocked, and the answer key is the approved rules, so "right" means agrees with the SOP owner's reading of the SOP.

Try it

The Resolve core running in your browser, with no install and no key. Change a case's facts, check the rules with Z3, answer the SOP owner's questions and write the next version.

Open the demo

Take the tour

A replay of one run from 29 Oct 2026. Z3 finds three problems in version 1. The SOP owner answers two questions, which flips one case and opens a new question. Version 3 has no problems and is approved. Every word comes from that run's files.

Open the tour Recorded 29 Oct 2026 · not live

Install the Claude Code mod

In Claude Code, Resolve is a pane beside the chat. It shows the rules' open questions for the SOP owner, every case's outcome and case file, and a button to approve a version. To install it:

/plugin install resolve --marketplace jinalex/resolve-process-factory
/resolve

From a checkout you can also load it directly with claude --plugin-dir mod/resolve. Then run pnpm resolve at the repo root to write the files the pane reads.

Run it from a checkout

Needs Node 22.23.4 or later and pnpm. Commands that call Claude need RESOLVE_ANTHROPIC_API_KEY; the rest run offline.

git clone https://github.com/jinalex/resolve-process-factory
cd resolve-process-factory && pnpm install
pnpm test            # outcomes, Z3's checks, Z3 agreeing with the evaluator
pnpm examples        # each example case's outcome and why
pnpm check-sop       # Z3's findings on the KYB SOP
pnpm resolve         # write .resolve/ for the pane
pnpm write-options   # Claude writes the SOP owner's questions (needs the key)
pnpm next-spec       # the SOP owner's answers become the next version
pnpm build-site      # this page, into site/dist/

How it's built

The system map shows each part of Resolve and its status (built, in review, planned or mocked), where its code lives and the decisions behind it. A timeline shows how it took shape, pull request by pull request.

Open the system map

What's real and what's mocked

PartHere
Deciding a case from the rulesReal. The Dafny evaluator, with proofs that it never approves on an unknown and that filling in an unknown never undoes an answer.
Checking the rulesReal. Z3, in your browser.
What each answer would changeReal. Worked out by Z3 and the evaluator when you ask.
The SOP owner's questions and optionsRecorded. Claude wrote them on 29 Oct 2026. Live calls happen in the mod.
The cases and their evidenceMocked. Finding and reading evidence is a separate system; the six cases and their documents are made-up examples.
A public regulation: the FTC Telemarketing Sales RuleReal. On 51 LegalBench cases, Resolve decided 28 and got 27 right, and sent the other 23 to review. It let no violation through as compliant (no false negatives). Opus answering alone got 46 right but let 2 violations through.

The KYB SOP, its cases and the answer key were written for this prototype. The answer key is the SOP's approved rules.