Unverified output delivered since the gate shipped: 0.00000000%
macOS 14 and Apple silicon · your own Claude account · nothing hosted, nothing to sign up for
One registry, two surfaces — whatever is already in your Claude Code config is already here

The morning desk, on this machine, this morning. Not a mockup.
The runtime
FIG 0.1
Twenty lines of YAML and a cron expression, using the skills already on your machine. Five append-only ledgers record every tool call, friction row and dollar.
FIG 0.2
Every cited URL is checked against the URLs the run actually retrieved — a record the agent cannot edit afterwards. A blocked run is a governed outcome, not a crash.
FIG 0.3
Unset is the default and it is a stop, not a degraded mode. Nothing ambient is ever used — a key left in a shell profile years ago cannot pick up the bill.
verify.ts · assertions

So the gate is mechanical on principle. It checks the citations against the run's own event log, checks that every cited path exists, and treats numbers as advisory because a number can be correctly derived and never appear verbatim. Then it reports both halves — what it proved, and what it could not.
Risk limits
A limit is not a dashboard tile — it is a number with a ceiling, marked daily at 06:15 whether anyone looks or not. Cost per delivered outcome sits in the same ledger, because a cheap run that had to be run again was never cheap.


Connectors
The store is Claude Code's own mcpServers map, so after a connector lands there is no "Complexity connector" and no "Claude Code connector" — there is a connector. That file is treated as precious: an atomic write on a freshly-read copy, verified afterwards, with a timestamped backup either way.
Who pays
A job is twenty lines
A job's allow / ask / deny compiles into the SDK's own rule set, evaluated before the permission mode and before any allow rule — a deny there cannot be overridden by any mode. Run headless, ask fails closed and writes a friction row rather than running silently.
# Your real weekly digest, wired to a skill you already have. prompt: "/ensi-weekly — cover the last 7 days" skills: [ensi-weekly, ensi-report] budget: { max_usd: 2.50 } permissions: allow: [Read, Grep, WebSearch, WebFetch] ask: [Write, Edit, Bash] deny: ["mcp__gmail-*__send_email"] on_ask: deny verify: { mode: assertions } deliver: [local, "file:~/Desktop/ensi-weekly.md"] schedule:{ cron: "0 7 * * 1", tz: Europe/Prague }
Channel assurance
ensi-weekly wants to send the digest to 4 recipients.
gate-demo cited a URL that never appears in events.jsonl.
6 runs · 5 delivered · $2.71 · 1 held.
Client concentration is approaching its ceiling.
Known gaps
Published, because a product that hides its gaps has not earned the sentence at the top of this page.
npm i -g complexity · 0.1.0 · Apple silicon · 102 tests passing