You will be able to specify the review queue, the evaluation, the drift checks, and the go/no-go for unattended use.
For owners and technical leads deciding what to build and how to run it. About two hours.
LESSON 01 · 15 MIN
Architecture: deterministic core, model at the edges
The reference shape has four parts. A deterministic engine (tables, formulas, rules) that is pure and tested. A rule store with history. A review queue where proposals wait for an expert. And an evaluation harness that replays past jobs and a held-out set on every change.
Language models attach at three points: intake (free text to structured inputs, with the structured result shown for confirmation), explanation (the narrative that goes with a proposal), and rule drafting (a correction in plain words to a candidate rule). Each of those outputs is checked by something deterministic before it matters.
This shape runs anywhere: a Next.js app on Vercel with Postgres, a Python service, or inside an existing system. The engine is a library; the queue and the ledger are tables; the model is an API call with a budget.
✓Engine, rule store, queue, evaluation harness.
✓Models at intake, explanation, and rule drafting, each checked deterministically.
✓The engine is a library; it runs wherever you already run.
LESSON 02 · 15 MIN
Designing the review queue
The queue is the expert's whole interface, so it has to be fast. One proposal per screen, the inputs on the left, the proposal on the right, and the diff from the last similar job in between. Accept is one key. Correct is a click on the line that is wrong.
Each correction opens a tiny form: what changed (pre-filled), the conditions (suggested from the job), and the why (required). The expert can narrow or widen the conditions. Submitting the form writes a rule and re-runs the proposal so they see the effect before moving on.
Batch the queue by job type so the expert's context stays warm, and cap sessions at thirty minutes. Reviews after that are worse than no reviews.
✓One proposal per screen; accept is one key.
✓Corrections write rules with a required why, and re-run the proposal.
✓Batch by job type; cap sessions at thirty minutes.
HANDS-ON · LOOP LAB
Notice how the Loop Lab groups the queue by job type and what the correction form pre-fills. That form is the product.
On every change to a table, a rule, or a model prompt, the harness replays the past-job set and the held-out set and reports agreement by job type. A change that lowers held-out agreement does not ship. This is the single discipline that keeps an engine from getting worse while looking busier.
Drift is when the world changes and the rules do not: a new cement vendor, a rate increase, a regulator's update. Watch for agreement falling on a job type that used to be stable, and for rules that have not fired in ninety days. Both are prompts for the expert, not alarms.
Rules conflict. Two rules can match the same job and disagree. Order them, show both in the proposal, and make the expert pick. Retire rules rather than deleting them, so the history explains past proposals.
✓Replay past and held-out sets on every change; falling held-out agreement blocks the change.
✓Drift shows as falling agreement or silent rules; prompt the expert.
✓Order conflicting rules, show both, retire rather than delete.
LAB · READ THE AGREEMENT CURVE
The lab replays a simulated year of reviews. Add a rule, change a rate, introduce drift, and read what the curve does. Decide at which month you would allow unattended use for each job type.
Crosses the 95% gate in month 7, then drift pulls it back under; the expert's next reviews recover it.
LESSON 04 · 15 MIN
The go/no-go for unattended use
Unattended use means a proposal goes out, to a customer or a crew, without a human reading it. The decision is per job type and it is the owner's, not ours. The inputs are: held-out agreement above a threshold (we suggest 95% for pricing, higher for safety-relevant quantities), a minimum number of reviews, and no open rule conflicts.
Even unattended, every proposal is logged with the rules that fired and can be sampled for review. A fraction of unattended proposals go back into the queue so the agreement number stays honest.
A customer-facing first pass is the common unattended case: show ranges, name the assumptions, and offer a human. The engine's job there is to make the first conversation shorter, not to close the sale.
✓Per job type, owner's call, with a held-out threshold and a review minimum.
✓Log the rules that fired; sample unattended proposals back into the queue.
✓Customer first pass: ranges, assumptions, a human on offer.
LESSON 05 · 15 MIN
Scope, cost, and return
Scope one engine at a time. The scope page names the decision, the inputs, the tables, the past jobs, the expert, and the definition of acceptable. It is one page because anything longer is two engines.
Cost is mostly the first six weeks. After that the running cost is hosting, model calls (small, because the model is at the edges), and the expert's review time, which falls as agreement rises.
The return is measured on the same dashboard the expert uses: proposals per month, minutes per proposal before and after, agreement rate, and for customer-facing engines, first-pass quotes that turned into jobs.
✓One decision, one page, one engine.
✓Running cost is hosting, small model spend, and shrinking review time.
✓Measure return on the dashboard the expert already uses.
LAB · YOUR NUMBERS, AGAIN, WITH PRODUCTION COSTS
The same calculator as 101, now with hosting and model spend lines. Put in your real volume.
AGREEMENT
EXPERT HOURS RETURNED / MO
VALUE / MO
RUNNING COST / MO
70%
23.3
$2,217
$76
85%
25.3
$2,407
$76
95%
26.7
$2,533
$76
Assumes a review takes 4 minutes plus 20 minutes times the disagreement rate. Deliberately conservative; put your own numbers in.
CHECK YOUR UNDERSTANDING
Quiz
1. Which change should never ship?
2. Two rules match the same job and disagree. The engine should