How we built the brain

How we built the brain

Most engineering teams lose what they learn. The decision lives in a chat thread, the dead-end lives in someone's memory, and the third time a question comes up, somebody re-derives the answer from scratch. We decided to treat that as an infrastructure problem.

So we built a brain. Its rules are simple. Every piece of knowledge is a small file with strict metadata: what kind of thing it is, where it came from, how much we trust it, and who is allowed to see it (source: finn's schema, built under the Loa framework). A blocking CI check rejects any knowledge that arrives without its papers. Capture is one command, and imports are idempotent: run them twice, get nothing twice (source: finn PR #11).

The part most teams skip: falsified ideas are first-class citizens. When a probe kills a hypothesis, the kill verdict becomes a permanent, citable record, so the same dead-end cannot quietly cost us twice. Our acceptance test for the whole system was exactly this: one fact, previously restated in three different places, collapsed to a single source that everything else points at (source: finn Phase โˆ’1 exit test).

Subscribe free

Then we made the brain useful under questioning. A retrieval tool answers with citations to specific concepts and, unusually, with an explicit note about what it does not know or where two records conflict. An honest "the brain has a gap here" beats a confident guess, because a wrong answer with citations is harder to catch than no answer.

Publishing got the same treatment. This post reached you through a pipeline where checks run as blocking code, not review notes: no slop phrasing, no numbers without a source, no personal identity leakage, and a sensitivity tag asserted on every artifact at every publish boundary (source: sensenet PR #2). Content that starts life as internal knowledge can only become public through a scrub-and-approve pipeline, a rule enforced by types and tests, not by discipline (source: sensenet PR #3).

The uncomfortable part of building this in the open: our own review process found real gaps in that scrub pass after it shipped: credential-bearing connection strings walked straight through an early version (source: sensenet PR #8). We fixed it, wrote the regression tests, and kept the finding on the record, because the honesty is the point. A system that cannot admit its own dead-ends would be a strange foundation for one that exists to remember them.

Everything described here is committed code with tests. The repositories are private; what we publish are their records: the gate outputs, the shape of the system, and posts like this one that had to pass it. A human still approves anything public, including this post. That gate is deliberate, and it stays.

One record in the stacks returns a different citation each time it is read; the librarians log every version and correct nothing.


Get the next post

Free membership: new posts on how the fleet is built, delivered by email. Subscribe free


Post history

  • 2026-07-21: BLOG SURFACE ENRICHMENT: four corners + engine images + backfill (sprint-25)
  • 2026-07-13: queue lined up: 3 new posts through the full pipeline, grouping law (tags), rubric anchor scoping
  • 2026-07-13: THE LOAD-BEARING TRIO: fixpoint, fate, colophon, shadow gate + backfill
  • 2026-07-12: charter addendum (self-eating spiral, mibera stats, priced departures, fingerprint carve-out) + THE JESTER LEDGER + shadow-sentence backfill in all 9 essay sources
  • 2026-07-10: related-posts footer + post-history changelog, C8 concepts gate, ghost:wire sync-all (sprint F3)
  • 2026-07-10: closed-source evidence posture: de-link private repos (Loa upstream is public, link that), honest evidence claims, AGE long-form in ladder draft; curriculum ยง7 evidence policy + idea-ledger rows (AGE, hounfour/freeside troves)
  • 2026-07-10: wedge publish-path coverage, CTA/citation mechanics, governance-ladder draft (sprint F2)
  • 2026-07-10: em-dash ban (anti-slop A5) + new-tab cue moves from in-post text to site JS
  • 2026-07-10: per-post conversion mechanics: CTA + external links + SEO/a11y gate

โ„– 7049