bob

359,848
raw sources captured
1,173,867
derived atoms, cited
88
public canon atoms
76
questions asked

live — last capture 2h ago · this page reads the substrate at render

Every message, meeting, transcript, document and machine-conversation I produce — captured raw into infrastructure I control, derived into cited atoms, queryable live. Provenance isn't a policy here; it's a foreign-key constraint.

Ask it yourself — live

A curated public projection of this substrate answers any question with citations to the real source — or abstains. It never invents.

Ask the canon

The doctrines — enforced in schema, not policy

cite-or-die

No derived claim exists without a foreign key to its raw evidence. The database throws.

no naked state

No stored status, ever — every state is the latest event in an auditable stream.

tested exit path

Sovereignty isn't possession. Truncate the derived layers, rebuild from raw: 25,571 atoms, bit-for-bit, three codebases agreeing.

draft → approve → send

The machine does everything up to the threshold, then withdraws. The yes stays human.

supersede, never overwrite

Corrections point at what they replace. Yesterday's record survives its own correction.

abstention is honesty

When the record is silent, the answer is “I don't know” — structurally, not behaviorally.

The load-bearing line

-- citations = derived-from = physics. cite-or-die as an FK.
to_atom_id uuid not null references bob.atoms(id)

-- publish: refuses to let any claim go live with zero citations
raise exception 'cite-or-die: judgment % cannot go live
                 with 0 citations', p_id;

Stack: Postgres 17 + R2 for raw bytes · voyage-3.5 embeddings · every write through a door, every status the latest event · rebuilt from raw and verified bit-for-bit.

Lineage: bob succeeded brain-mcp (2025 — 388K messages, 12ms recall, open source) on 2026-06-17, when the raw bytes started streaming into bob's own floor. The predecessor indexed conversations; bob owns everything, with provenance enforced in schema. The correction is a supersession, not a deletion — like every correction here.

“If you can't query it, you don't own it.”