Principles

Rules the platform doesn't bend.

Moneypenny doesn't ask to be trusted — it shows its work. Every completed claim carries a command and its output; every layer stays swappable enough to survive its own vendor. The rest of this page is the receipts.

Evidence

Evidence or it didn't happen

Every completed claim requires a command and its output. Packet gates, message receipts, and attributed commits mean the system's history can be audited, not just believed.

TimeRecordReceipt
09:14TP-424 · email intake → triage UI · running · step 2/4commit a91f3c2 · attributed · shape ✓ scope ✓ · tests pending
11:47message → mac-node · delivery ackread_by confirmed · receipt logged both directions
14:38TP-429 · cross-machine agent mesh · handledhandshake verified both directions · tests ✓
16:20TP-421 · single sign-on cutover · waits on youproof green · updated 2h ago · one approval needed

A completion that can't point to one of these doesn't count as done — it gets reopened.

Runners

Runners are swappable

The engine dispatches to pi, Claude, or Codex agents through one contract. Model economics change monthly; the platform doesn't marry any vendor.

pi Codex Claude ONE CONTRACT dispatch

Claude is plugged in this run and carries the verified stamp; pi and Codex sit on the same socket, dashed until it's their turn to rotate in.

Lane grammar

One grammar, every diagram

Three colors carry one meaning everywhere this system draws a diagram — the Board, the Desk, and every schematic on this page.

Vermilion — input / action Brass — the human, and the handled node Teal — output / machine
Eavesdropper

Listens so you don't have to

Channel watchers run continuously across every connected surface — classifying, extracting people and dates, and staging tickets before anyone opens a thread to look for them.

auto-ticketstaged under a second after the message lands
inboundiMessage · sender resolved through the relationship graph, not just a phone number
resolved tolong-time friend · last thread 11 weeks back
ticket"Reply — weekend plans check-in" · thread context attached, two drafts ready

Nobody opened the thread to make this happen. Classification, entity extraction, and relationship context ran before the notification even cleared the lock screen.

Voice

How it talks

Three lines pulled from the Desk — dry, competent, and sharp at the situation, never at the person reading them.

Dr. Reyes' office has moved this appointment twice. I've held the 9:40 slot, but they release it to the wait list at noon if nobody confirms.

— reschedule

The 6:40 to Heathrow has one car left before the surge doubles the fare. I put a hold on it — say the word or lose the seat.

— travel

The 2019 lease is three storage tiers down by now. I've already filed the retrieval request; expect it back on the archive's schedule, not yours.

— archive request

Honest about what's not here yet: no community around this, a handful of connected channels today, and the self-improving loop described in the architecture isn't wired in. None of that is hidden behind the pitch.