Method
I don't ask AI to be confident. I ask it to be verifiable.
That one line is my method, and it runs through everything I build here — the agent catalog, the Agentic Runtime and RAWLY: AI drafts the work, deterministic gates decide what may continue, and every claim I publish traces back to a versioned artifact. The word proven is earned on this site, not asserted.
I split the work into three responsibilities:
- Draft — expert agents produce the first version.
- Check — an isolated verifier re-derives every claim, and gates screen each step.
- Decide & record — the go/no-go is mine at named points, and every run becomes a dated trace.
It matters because I don't trust an AI result just because it looks convincing. So I control the work before, during and after — the pipeline below.
AI drafts, gates check, I decide
Across the catalog, the runtime and RAWLY, I run the same pipeline.
-
AI drafts in shared context. Expert agents — chained by declarative BPMN workflows in the runtime, a nutrition expert and a copywriter for RAWLY articles — produce the first version. Business value: domain expertise is captured as reusable, versioned agents instead of being re-improvised on every request.
-
An isolated checker verifies blind. It receives none of the drafting context and re-derives every claim from the source of authority — RAWLY's fact-checker re-resolves every PMID and DOI from scratch against the live registries, never from memory. Business value: a citation that looks perfect but is wrong is caught before it ships — I put this in place after auditing RAWLY's legacy articles and finding four hallucinated PMIDs.
-
Deterministic gates decide what continues. After each step an eval-gate I built checks the result: a blocking failure stops the chain, an advisory finding is recorded but lets it continue. No LLM ever evaluates another LLM's output. Business value: an error found at step 3 does not silently become the input to step 4, 5 or 6.
-
I decide at named points — not a blanket sign-off. The division of labor is fixed: the LLM proposes, deterministic code disposes, I decide. I give the go/no-go before any billed run, choose the model for that run, and merge any change to the catalog — nothing bills or ships on autopilot. Business value: cost and adoption stay under my control, at the points where a wrong automatic decision would be expensive.
Verifiable before it ships, controlled while it runs, provable afterwards — so a plausible-but-wrong result is stopped at a gate, not discovered by a client.
Prove it live, fail closed
I call a workflow proven only after a real run traversed it end to end, with eval-gates enforced at every step and the per-step verdicts committed as verbatim JSON traces. A run that merely looks finished is not evidence — the trace is.
Fail-closed means a run has three honest outcomes, and I publish all three:
| Outcome | What it means | Exhibit |
|---|---|---|
completed |
Every gate passed; the deliverable shipped | Nine workflows on the live proofs page |
⟲ returned |
A counter-review gate sent the work back; the final report was withheld by design | WF-008 |
| gate-halt | A gate rejected its input and stopped the chain | WF-009's second trace |
The last two are not failures of the method — they are the method working. A returned audit and a halted chain prove the gates discriminate: they can say no, so their yes means something.
The same discipline governs the dispatcher. Before any workflow runs, the
runtime's router decides which one — and it can decline. Out of twenty test
briefs it routed nineteen to the process a person would have chosen; the twentieth
it refused with NO_MATCH, naming the nearest miss. When a brief is too thin to
route it returns PARAMS_MISSING, naming exactly what it needs — and only after I
amend it and give the go-ahead does the routed run proceed. See the
dispatcher runs.
Versioned, or it didn't happen
Every repository I ship carries the same regime: SemVer, annotated git tags, GitHub Releases, and a dated changelog entry per release.
- The catalog versions its 38 agents, 37 skill folders and 10 workflows as code — all 85 assets indexed in a CI-validated sidecar.
- The runtime commits its live-run traces verbatim under
docs/audit/live-runs/— the same files the live proofs page quotes. - This site follows the identical discipline: each release folds its changelog entry, and the model that did the work is recorded per release.
Explore the evidence
- Browse the ten workflows →
- Read the live proofs →
- Questions about the approach? Contact me →