Enaho Murphy

Co-founder & CTO · Pradini · Lagos

Drawn 2013–2026

DWG EM-2026 · Sheet 01 · Where I’m heading

Generation is free. Proof isn’t.

Let the model write. Make the machine check. Keep the person deciding.

  1. Guards that must fail 2026 · Held, Pradini
  2. Spec-first tickets and agent lanes 2026 · The Crew
  3. Datum 2026

Sheet 01 · Datum

Datum

Writing code is instant now. Every guard I’ve shipped taught me the same lesson. A check that can’t fail is worse than no check, because it looks exactly like success.

So I break the code on purpose. Only the tests that notice count.

Datum is where that’s heading. A person writes down what each part of a system must do. Machines measure the code against it. Every proof expires the moment the code under it changes. Models can propose. They can’t approve, and they can’t grade their own work.

Datum · local-first · CLI + desktop app + CI · in active development · one user · 661 commits, Aug–Sep 2026

system HOTSTD claims 11 adapters · structure hashes leftovers PASS unregunadmexpiredadmittedlive gate · ledger
Detail N · Datum

Try to fool it

Simulated · one part, one obligation

Obligation · Keys are serialised in canonical order

export function canonical(keys) { return keys.slice().sort(cmp) }
expect(canonical(['b','a'])).toEqual(['a','b'])

structure #0000check: not run

UNADMITTED
BLOCK
  1. Unregistered
  2. Unadmitted
  3. Expired
  4. Admitted
  5. Live

Registered. Not admitted yet. No check has been seen failing.

Sheet 02 · The loop

Hand in a ticket

Every change takes the same path: planned, built in 3 lanes, checked by something with no brain, then written in the logbook.

Idle · waiting for a ticket

  1. Entry 17,314 · stamped by the Guard