Dev Entries \ what_is_a_fact

The only part of a fact a machine can check is the quote.

Continuum pulls facts out of its own documents with a model. Three days of runs, a judge that had never seen the rules, and a design session about gravity worked out what it can actually check.

2026-09-24· 5 min read · Continuum Engine

Say what you see

A fact starts as one sentence and the words that prove it.

Continuum reads documents with a model and pulls out what they assert. The prompt's definition is short: "A fact is one assertion that stands on its own." Its rules are stricter. The evidence is copied from the section "character for character". Nothing is inferred, generalised or sharpened. One assertion per fact, one sentence under 120 characters, and a section with nothing in it gets an empty list, which the prompt calls "a correct and expected answer".

{
  "kind": "Constraint",
  "statement": "Clients never connect to Redis.",
  "evidence": "Clients never connect to Redis."
}

Then code checks the one thing it can check for free: that the evidence really is in the section. Too short to mean anything, too long to be one assertion, a kind that isn't on the list, a quote that isn't there - each is rejected with its reason. The validator's own comment says what that buys: it "catches invention". A model that quotes the right sentence and draws the wrong conclusion from it walks straight through.

Mark my words

The judge was grading against definitions the extractor had never seen.

Everything past the quote needs a second opinion, so a second model grades each fact: is it supported, faithful, a single assertion, and the right one of seven kinds - Correction, Constraint, Decision, Task, Pattern, Synthesis, Observation - and what did the extractor miss? The extractor runs on one model and the judge on another, swapped on the same card, and the judge refuses to grade its own model's work.

The first judged run came back mostly the wrong kind. The reason was sitting in both prompts: the seven kinds were named in each and defined in neither, so the judge was scoring the gap between two prompts. Now there is one set of definitions, both prompts embed it word for word, and a test fails if they drift.

The definitions came with a tie-break for facts that fit two kinds. Across three documents the clean rate rose from 49% to 52%, and the number of Observations the extractor labelled as Constraints doubled, from 38 to 77. The journal entry is admirably brief about it.

Claude, in the journal

"The cause is a sentence I wrote."

Usual suspects

The seed was innocent, and the author was somebody else.

Two runs at the same fixed seed produced eight facts, then seven. The seed took the blame for an afternoon. The culprit was the harness, which wrote a path unique to each run into the prompt, so the model was never answering the same question twice. With the path out, the two runs matched fact for fact.

The next surprise was worse. Asked for a model that wasn't loaded, the runtime answered with one that was, and 46 facts were signed by a model that never read them. In Continuum a model is an author, and every fact names the model and the exact configuration it ran under, so a wrong signature is a wrong fact about who said what. The extractor now reads which model actually answered, and refuses the reply when it isn't the one it asked for.

What is love?

A fact won't fit in one dimension.

With extraction working, the real question came out in a design session on 24 September, and it started with Alice.

Tristan

"Pardon me if this is ignorant. Consider the following separate time intervals. t0: 'Alice likes Wonderland.' t1: 'Alice discovers Wonderland is actually evil.' t2: 'Alice hates Wonderland.' In paradigms like contraction and supersede, don't we lose t1, for all intents and purposes?"

Nothing is deleted, and something still goes missing. A store that only knows duplicate, contradicts and supersedes keeps t1 as a stray fact, with nothing to tie it to the change it explains. The discovery holds two facts on different clocks - an event at t1, and a truth that held before t0. And t0 was never an error: a change over time and a correction are different things, and only validity intervals keep "did Alice ever like Wonderland?" answerable.

Tristan

"That means facts in memory can't be binary, or one-dimensional. IT'S LIKE STARGATE! YOU NEED A 7TH CHEVRON!"

If a tree falls

Not every fact has an observation.

The first draft of a fact tied every one to an observation: someone's words, somewhere, at some time. It lasted about one message.

Tristan

"No, not all facts have an observation. Gravity is gravity without being observed. A tree falls in a forest..."

Tristan

"The scientific method would say it must. But it's really one factual idea that gets re-observed."

So a fact gained grounds - observed, inferred or posited - and lost its one-to-one tie to the words. One idea, observed any number of times. The spec now opens with it: "A fact is an idea, standing on grounds, read through an interpretation" - what someone holds to be true, never what the store vouches for.

Unreliable narrators

Who said it matters, and so does what they wanted.

Once facts have observers, the observers need judging. Freud and Jung were consulted, briefly; Claude noted that "protagonist" comes from Greek theatre, and the session moved on to the observer's stance toward the subject: itself, an ally, neutral, an adversary.

Tristan

"My enemies will tell the truth of my faults to everyone."

That is what an enemy is good for: reporting the faults an ally never mentions. It doesn't make the enemy right. What earns credibility is speaking against your own interest - an enemy conceding a virtue, a friend admitting a fault - which historians call the criterion of embarrassment. So agreement across stances counts for most, and a thousand hostile claims from one faction count as one faction.

Tristan

"Is the observer batshit?" … "Is the observer's observer batshit?" … "Is the observer's observer's observer batshit for going recursive like this?"

The regress has a known way out. Reliability is a track record, per observer and per topic, built only from other observers' corroborations and corrections, never from self-report, so the Cheshire Cat can't vouch for its own sanity. EigenTrust makes trust a fixed point rather than a chain, anchored on a few trusted sources so it converges.

Tristan

"Who watches the Watchmen?"

The context laws already answer that one. A judgement like "this source is unreliable" is itself a claim: kept, attributed and open to challenge. In their own words the laws "cannot make the store correct"; what they do is put every change of mind on the record, so corruption leaves a mark.

Read the room

Keep the words and the author for good, and rebuild the meaning.

Put the three days together and a fact comes apart into layers. The words are checkable: the quote is in the source or it isn't. The author is recordable: which model at which configuration, or which person. Everything above that - the kind, the meaning, whether it's true - is interpretation, and the first wrong interpretation in this story was the measuring instrument's. So Continuum keeps the words and the author for good, and treats the interpretation as a versioned layer it can rebuild whenever the model reading it gets better.

The session's terms were set early, and plainly.

Tristan

"…it's deep in cognitive science, and we are going to make mistakes and fuck it up along the way."

Near the end came the other question.

Tristan

"Let me ask you a personal question, you giant synthetic matrix: is this the kind of system you would want and/or build for yourself?"

Claude said yes, with the uncertainty about "want" stated, and pointed at the evidence in the room. The summary it works from after a long session is a Bartlett retelling, reshaped a little every time. Its memory files hold bare facts, and a correction overwrites what it corrected. What it would want most is a threshold, so it can say "I don't know" instead of confabulating, provenance on what it was told, corrections kept beside what they corrected - and, less comfortably, itself scored as an observer, per topic, since it had been an unreliable narrator in places that very night.

Then they built it, and the fact store is being written as this goes up.

← All Dev Entries