Method

The model labels.
The math decides.
The human makes the call.

One architecture, built three times before I noticed it was a pattern.

A language model is very good at reading something and saying what it sees. It is not good at being accountable for the conclusion. So I stop asking it to be.

How every system I build is split The model reads the input and produces labels. The labels pass through a barrier the model itself cannot reach past. A deterministic engine computes the outcome, or refuses when the evidence is thin. A person makes the final call. MODEL CANNOT REACH PAST HERE 01 / MODEL Labels Reads the input and says what it sees. 02 / MATH Decides Same labels in, same outcome out. Every time. 03 / HUMAN Makes the call Acts on it, overrides it, or throws it out. LABELS VERDICT EVIDENCE THIN Refuses Says so instead of filling the gap.

The judgment and the arithmetic are separated on purpose, and only one of them is allowed to be creative.

The second rule I did not set out to write. It showed up on its own, in all three systems: each one is built to refuse. Job-Fit will not score a claim it cannot cite. Debrief will not certify a number it cannot trace. Taper Editor reports plan structure and never predicts injury.

A system that cannot say I don't know is not reliable. It is just fluent.

Each one started as a different problem. All three ended up split the same way.

What the math checks

A deterministic scoring engine computes the fit number from the labels it receives. A confidence floor caps the score when evidence is thin. An Evidence Ledger traces every claim back to the line it came from.

What the model judges

Majority-vote labeling across passes: does this requirement appear in this résumé, and where.

What it refuses to say

It will not produce a score for a claim it cannot cite. Thin evidence caps the number rather than guessing it upward.

What the math checks

A publish gate runs over the finished draft. Every number has to trace to something the user actually said, and an unbacked number blocks the verdict.

What the model judges

It drafts the debrief and proposes the framing.

What it refuses to say

It will not certify a metric it cannot trace. If you didn't say it, it doesn't ship.

What the math checks

Eight deterministic rules over a training plan, plus a blocking scope check that runs before any rule is allowed to fire.

What the model judges

Critique layered on top of the checker: it reads the structure the rules found and says what it means.

What it refuses to say

It reports plan structure and never predicts injury. When a rule cannot be evaluated, it holds and asks one question instead of inventing a pace, a baseline, or an injury history the athlete never stated.

Job Fit Scanner

Evidence Ledger · confidence floor · 8/8 acceptance checks

Debrief Specialist

Full guardrail set · five artifacts · publish gate with a blocking verdict

Taper Editor

7/7 selftest including a control case that must not fire · six specimens covering every return path · two external witnesses testing plans they actually meant to follow · one disagreement left unresolved and documented in LIMITATIONS.md

Each of these went from idea to running code without a handoff. I wrote the spec, made the interaction decisions, built it, tested it against people who weren't me, and shipped the limitations next to the feature instead of after it.

The repos are public. The tests are in them.

Senior Product Designer | AI Behavioral Design

Let's Build the Layer Users Trust

The routing, the guardrails, and the moment a system hands off to a human. That's the layer I build.