THE MECHANICS

One node.
Four agents.
No surprises.

The harness reads your books and your job data, drafts the work no one wants to do, and parks each draft in your approval queue. The contract is simple — agents propose, you dispose, the audit log keeps the receipt.

A DAY ON A REAL JOB
01
04:00 PT · NIGHTLY

The harness syncs.

At 04:00 the harness pulls overnight bank activity, fresh accounting state, the job time tracker, the GC's portal status, and any inbound supplier acknowledgements. Everything lands in one place before anyone wakes up.

NIGHTLY · audit log entry
2026-05-11 04:00:12  sync.accounting  vendor_bills=12 customers=146 jobs=14
2026-05-11 04:00:47  sync.bank        acct=op last_balance=$1,247,418.04
2026-05-11 04:01:02  sync.gc-portal   portal=lakeside rfis=2 cos=1
2026-05-11 04:01:08  scan.coi        subs=12 expired=1 (Bay Plumbing 05/18)
02
04:30–05:45 PT · AGENT RUN

Agents propose.

Each agent reads the slice of state it owns and drafts. agent.ap matches vendor bills 3-way. agent.cfo runs the 13-week cash forecast against your minimum-cash threshold. agent.aia checks whether a draw is due this month. Nothing posts. Everything gets queued with a tier.

AGENT.AP · output
VENDOR
Carrier Supply Co
PROPOSED
bill #INV-88412 → JOB#41209
PO MATCH
$12,402.16 ✓
BOL MATCH
$12,402.16 ✓
TIER
2 · routine review
QUEUED AS
approval #1042
03
06:00 PT · YOU

Morning Briefing.

You open the briefing on your phone with coffee. Cash position. WIP. AR aging. The 13-week forecast with weeks below threshold flagged. Project alerts. A count of things awaiting your stamp — usually under 10.

EMAIL · 06:02 from agent.cfo
subj: Weekly cash position — wk03 + wk04 below $80K min target · 3 actions inside
────────────────────────────────────────────
Tom — cash position is $1.24M as of 06:00 Monday.
Two upcoming weeks are below your $80K floor.

   wk03 (05-26)  proj $72K  driven by Lakeside CO-014 not yet billed
   wk04 (06-02)  proj $64K  payroll $58K + AP $42K stack

3 drafted actions in your queue. Open queue →
04
06:30 PT · APPROVAL

You stamp.

Tier 1 rows (a routine AP match, a 30-day AR reminder) you batch-approve. Tier 2 you skim. Tier 3 is where you actually engage — a variance, a CO over $10K, a lien waiver. Tier 4 is owner-only and rare. Anything you reject takes a one-line reason; the agent learns from it.

TIER 1 · BATCH
approved 8 in 12s
TIER 2 · INDIVIDUAL
approved 4, edited 1
TIER 3 · VARIANCE
held for PM
TIER 4 · OWNER
0 today
05
06:30:14 PT · THE NODE WRITES

Then — and only then — it posts.

An approved row triggers the accounting write with an idempotency key. If your accounting system rejects (duplicate doc number, closed period, validation error), the row flips to conflict and a retry schedule starts. Nothing silently fails. Nothing double-posts. The audit log gets every attempt.

AUDIT LOG · two entries
2026-05-11 06:30:14  approve.user     #1042 by [email protected]
2026-05-11 06:30:14  accounting.write vendor_bill INV-88412 · idem=ap-1042-20260511 · ok
THE HARD INVARIANTS

The three things
the harness will never do.

Most "AI for the trades" products want to act for you. We don't. The architecture forbids it — and the audit log proves it.

HITL · 01

Never posts without a stamp.

Every external mutation requires an approved stamp from a real human. No agent can bypass it; no admin can disable it. If the harness wrote it, you signed it.

AUDIT · 02

Never loses the receipt.

Every approve, reject, edit, expire, and accounting sync writes one append-only row. The audit log is permanent — no edits, no deletes. Bonded contractors get a clean audit out of the box.

IDEM · 03

Never double-posts.

Every queue row carries a unique idempotency key. Retry the write — same key — get the same result. The harness can crash, resume, and never bill the same vendor twice.

SEE IT YOURSELF

Walk through
a real morning.