daemonlabs case · verified procedure runtime man case(1)
build 2026.05.13 sf / bangalore
§01 — Pitch
operates davinci resolve / open-source sdk + hosted api / macos · resolve 19 + 20

$pip install case-sdk copied
works with Claude Code · Codex · OpenCode · OpenClaw · Hermes · any MCP client
FIG. 01 · DaVinci Resolve · live replay
click for sound
scroll to drive the agent
EARLY ACCESS
DaVinciResolve 19 + 20
macOSnative, today
MCP+ python sdk
0typed procedures
WORKS WITH
Claude Code Codex OpenCode OpenClaw Hermes any MCP client
INSTALLpip install case-sdk · or grab the binary from github
§ · Structured failure
structured_failure()/ what your agent gets back when the click misses

Your agent crashed at 'element not found'.
case returns the typed code → your planner replays.

without case raw computer use · pyautogui · pixel-driven
$ python agent.py import_clip
 
Exception: Could not click
element at (847, 312)
at PyAutoGUI._click(x=847, y=312)
at runProcedure('import_clip', …)
at orchestrate(['select_dir','open','poll'])
… 18 more frames …
your agent: crashes
you: grep logs at 2:47am
with case typed enum · retry flag · runbook link
await case.call("import_clip", { path: "/Users/me/clip.mov" })
 
→ resolved 142ms
{
ok: false,
code: "AX_TIMEOUT",
retry_safe: true,
repair_hint: "modal not painted",
recovery: "/runbook/ax_timeout"
}
your agent: retries → escalates
you: sleep

click → watch each agent resolve in real time

§02 — Surface area
catalog()/ click anything · receipts inline

Every procedure is one call.
Open one to see why it ships.

Each procedure carries a typed schema, an idempotency label, a structured failure shape, per-version reliability, and a recovery doc. 66 procedures live · 12 shown.

§03 — Path in
quickstart()/ one terminal

From install to working agent
in 10 minutes.

Three commands. One terminal. Working agent in 10 minutes.

brew install
tap and pull the harness binary.
case init
probe the target app, register typed procedures.
case demo
run a verified composite end-to-end.

Drop the MCP endpoint into Claude SDK, Anthropic CU, Hermes — or any tool-use framework.

macOS · Resolve 20.0+

$ brew install daemonlabs/tap/case
$ case init --target resolve
detecting cua-driver............ ok
probing Resolve 20.2 AX tree... ok
registering 66 procedures...... ok
mcp endpoint: stdio://case-resolve
 
$ case demo
agent: "import 3 clips and cut to beat"
step 1/8 open_media_pool........ verified
step 2/8 import_clip × 3........ verified
step 3/8 add_to_timeline × 3.... verified
step 4/8 detect_beats............ verified
done · 8/8 · 1m 47s · 0 model retries
§04 — Compare
compare()/ measured vs stochastic

Same 50,000 calls.
Two different products.

without it
~70%

Stochastic. Silent. Slow.

Zero-shot CU figures it out every call. Failures are silent. Retries compound bugs. Every call hits the frontier model. No number you can put in a contract.

with case
99.6%

Measured. Versioned. Structured.

The same procedure runs across 51,204 customer calls on Resolve 20.2. Failures return {ok, repair_hint, retry_safe}. Idempotent procedures retry. Non-idempotent ones don't. You ship the number to your own customers.

§05 — Audience
built_for()/ scope

Built for the developers
shipping vertical AI agents.

  • 01Your agent works in dev, fails at demo time.
  • 02Customers ask why the export silently dropped audio.
  • 03Pixel-click automation breaks every Resolve update.
  • 04You ship Resolve now — Premiere is next quarter.
  • 05You're hitting the desktop reliability ceiling.
§06 — Investment
your_status_page()/ populated by our numbers

Your customer-facing status,
powered by our measurements.

The numbers you ship to your customers come from us.

  1. 01 / operations, not marketing

    99.6% across 51,204 calls on Resolve 20.2. 30-day uptime, p95 latency, per-version success — measured on real customer machines.

  2. 02 / your status page, our measurements

    Drop per-procedure stats into your customer-facing reliability page. Numbers become yours to defend, backed by trajectory data and replay-deterministic audit trails.

  3. 03 / the compounding moat

    Models will improve. "We know how to drive Resolve" erodes. Verification contracts, idempotency, audit trails, versioning — these compound.

your-product.com / reliability
Desktop procedure statuspowered by case · last 30 days
All systems operational
import_clip99.8%
add_to_timeline99.6%
apply_color_node97.1%
render_export99.9%
set_inspector_value99.6%
detect_beats99.5%

We don't sell reliability.
We sell the absence of dread.

Every developer shipping a desktop-touching agent runs the same monologue — "this will fail at demo time and I'll debug it under deadline." Structured failures, idempotency labels, versioned reliability, recovery docs — engineered for one thing: turning that dread into a typed function call with a published number.

§08 — Access
request_endpoint()/ one line

Reliable procedures for the
software your agent can't reach.

If your agent product lives or dies on desktop reliability, we should talk.

Read the spec →