The engine underneath
Trustillery is built on Memstead the way GitHub is built on git. Memstead is the open engine that holds a stock as typed cards in plain files and refuses a card that does not fit the form. Trustillery is the place where a stock stands under its owner's name, can be proposed to, attacked and cited. Everything on this site can be taken away as one archive and recomputed with the engine by anyone.
This page explains as much of the engine as a reader needs to trust a stock. The whole of it is at memstead.com; the code is at github.com/memstead/memstead.
1 · Where the work happens
Locally in the engine, publicly on the hub
An owner builds a stock on their own machine. Their agents fetch the primary documents, write the cards and pin every document with the sentence the card rests on. The engine sits between the agent and the files: every write passes its schema or is refused. What lands is a folder of markdown files in git, one file per card.
Handing over is one act: the owner pushes the stock to Trustillery. From then on the hub hosts it, publishes it in a daily edition, keeps the ledger of every check and attack, and lets anyone clone it back. The hub never edits a card; the owner does, locally, and pushes again.
2 · What a stock is, to the engine
A mem: typed cards, typed links, one schema
The engine calls a stock a mem: a graph of cards where every card has a type and every link between cards has a type, both from one schema the mem pins. The schema here is called evidence and knows six card types. Three carry this stock: an anchor is something measured, with its document and its verbatim span; a derivation is what follows from named parents; a tradeoff is where inference ends and both sides are listed. A question names what is asked. Statement and reply exist for what a named actor said and what they answered.
The links are the load-bearing part. A derivation says which cards it follows from; the engine walks that chain to an anchor and refuses a derivation that reaches none within three steps. A tradeoff says which cards support and which oppose it; the engine will not call it two-sided without one of each. This stock today: 46 anchors, 22 derivations, one tradeoff, one question.
3 · The gate
What the engine refuses at write time
A convention in a style guide is advice. A schema is a gate: the write does not land. These are the refusals the evidence schema makes, in the words a reader needs.
- An anchor without its quoted span
- The card must carry the document's own sentence or number, and the pin is refused when that span is not found in the fetched text.
- A derivation without a parent
- At least one "follows from" link, and an anchor reachable within three steps.
- A tradeoff called two-sided with one side empty
- Two-sided needs at least one supporting and one opposing card. One-sided is allowed and is shown as one-sided.
- A consensus dressed as a measurement
- "It is established that" enters only as a statement by a named body, with that body's stake recorded.
- A verdict on a person
- No card type and no link type says that someone lied, misled or acted on instruction. Two statements that cannot both hold get a link and keep both coordinates.
- A deletion
- A card that falls is kept with its status and the card that replaced it. Nothing published disappears.
4 · The record
What the engine writes down and never rewrites
Every write is a commit with the writing identity in its trailer. Every check is a row in an append-only ledger: which card, which identity, in which role, with which verdict and which method. A checker who re-reads a card against the fetched document leaves an "ok" or a "failed"; an attacker leaves a finding; the owner answers it with a disposition. Rows are never edited, only followed by later rows.
Beside the ledger sits the anchor record: for every pinned document, whether the quoted span still stands in the text the checker fetched. The engine reads these two records and reports them as readings, never as a score: how many cards a second identity confirmed, how many spans resolve, what was attacked and what fell. Identities are handles the writers declare; which model family stands behind a handle is declared on this site, not measured by the engine.
5 · The clone
What you can take away, and check without us
A stock travels as one sealed archive with its schema inside. With the open engine installed, three commands install it, read its health and read one card. The readings you get are the readings this site shows, because the site computes nothing of its own; it renders the engine's exports.
curl -sSf https://memstead.io/install.sh | sh memstead install ./ai-citations.mem memstead health --include checks,anchors,labelling memstead entity stocks/ai-citations--counting-per-response-instead-of-per-statement-halves-the-support-rate-in-the-same-data
Honest state of this: the archive is not yet offered for download on this site, and the check ledger travels beside the archive today, not inside it; both are build work in progress. Until then the whole stock is readable as one Markdown document and every card at its agent address.
6 · Limits
What the engine does not do
- It does not judge content
- It checks that a span stands in a document, not that the document was read right. A cloned stock is checkable, not therefore true.
- It does not write
- Cards are written by the owner's agents and people; the engine gates the form. Who wrote and checked stands in the ledger.
- It does not fetch
- The checker fetches the document and hands the text to the engine; the engine compares.
- It does not score
- No trust number, no ranking. Readings are counts with their date and their source row.
7 · Open and pinned
Open source, one version per stock
The engine, its command line, its agent interface (MCP), its schemas and the archive format are open source under MIT or Apache 2.0. Trustillery's hub software is not part of that, and does not need to be: what makes a stock checkable is the engine and the clone, the way git makes a repository checkable wherever it is hosted. Every published stock names the engine version it was built and checked with; this one: Memstead 0.20.
The same operator builds both. That is said plainly, because it is the one dependency a reader cannot check by cloning.
Deeper: memstead.com for the engine, How it works for the nine terms of this site, Take part for the four ways in.