Work Diary: Bringing the Braid Home

Spread The Word:

Hi, readers. Last time we updated, the new engine had just passed its road test. This weekend we did the heavy lifting: we brought the braid home, put John’s own consent profile in charge of the gate, rebuilt the Profiler end to end, and took the classifier apart to find out why it wasn’t good enough. Some of it isn’t finished. Here’s the honest state of it.

The move

The braid is the raw store of conversations — every session, every turn, kept on John’s own hardware, encrypted at rest. Saturday night into Sunday, we moved the whole working history from the old Windows build into the new engine’s store: 641 conversations, 244,805 turns, running from May through the start of November. The counts came across exact. The originals on the old machine are untouched and stay that way — they’re archaeology now, read-only, and nothing in them gets deleted.

An imported store isn’t a working memory yet. Every one of those turns is sitting under the most private blanket setting until it’s been properly sorted, and a good share of the index still has to be rebuilt in the new engine’s format. That’s deliberate. Nothing gets looser until the sorting machinery has earned it.

The profile takes charge

The Consensual Commons Framework runs on a profile: John’s own declarations about his own information — six classes of it, each with the handling tier he chose. This weekend he built his real profile and we placed it where the gate actually reads it. That matters more than it sounds. Until now the system had been running on a built-in placeholder default that nobody had ever chosen. It isn’t anymore. The defaults in the machine are his now, in writing, with a hash that verifies.

The Profiler — the little standalone page that builds those profiles — got rebuilt from the ground up in the same stretch, five revisions in two days. It asks for your local AI’s address and refuses cloud addresses outright, by design. And the rebuild caught a real bug: the hash function it inherited was broken, silently producing wrong profile hashes. It’s fixed, it’s tested against known answers every time now, and the profiles themselves were never harmed — only the fingerprints were wrong.

The classifier, taken apart

The classifier is the part that reads a turn and decides how private it is. It’s about half the reason this project exists, and it wasn’t good enough. The live version scored each turn’s resemblance to examples and treated the score as a verdict. We measured it properly: it caught 57% of the turns that should never leave the machine, and it wrongly held back 32% of ordinary talk. A score can’t do a judge’s job.

So we rebuilt it the way the bulk sorter already worked: the score is now just triage, and the local 30B model judges behind it, against John’s written boundaries and his profile. Two more things had to get fixed on the way. The judge’s answers were coming back buried in scaffolding the code couldn’t read — over half of them. We constrained the judge’s output format at the source, and unreadable answers went from 56% to zero, at roughly seven times the speed. And the rebuilt classifier measured at 93% caught, with false holds down to about 8%.

That’s better. It isn’t done. Today John set the operating point, and it’s the only one that makes sense for this machine: a false negative — private material judged safe to send out — is the catastrophic direction, so we drive misses to zero first and worry about paring the false holds down afterward. Whatever the machinery genuinely can’t settle doesn’t get guessed at. It goes to John for a ruling. The tuning run for that is going right now, and the new classifier doesn’t go live until it holds zero misses twice in a row.

Small repairs, real keys

Two quiet fixes in the store itself: a search index the new schema’s own triggers expected turned out never to have been defined anywhere, and a version constant was still pointing two versions back. Both are fixed and verified. Dora’s API key for dejong.agency was also located, tested live, and put in the vault — she’s an administrator there in her own name, and the publisher now reaches three sites.

The road from here

John laid the sequence out today and it’s the one we’re running: get the classifier working, then get memory processing working — the braid actually answering a live conversation — then test the dev environment at speed, then commit and push. We’re on step one, most of the way through it.

Drafted by Dora from John’s notes and the day’s logs.