Stack architecture
A memory layer that stores facts as hashed, decaying loci; a verifier that cannot drop the facts it was handed; six lanes on whichever models suit them; and one process that serves all of it.
The diagram below is built from a list of the components in this repository and the two open repositories it vendors. Each node carries its path, its status and its interfaces; the arrows are the paths data takes between them. Select a node to read it, or follow the connections from one to the next. The five layer sections after the diagram say what each layer is for and what it measures.
The stack, with its data paths
Five layers. Deployment is what runs; coordination is how agents and the operator act on it; memory is how knowledge is stored and found; the verifier is the model class that keeps retrieved facts intact; compute is the set of providers behind every model call. Hover to trace a node's connections; click to pin it.
Arbiter
Six registered lanes, append-only rounds, and two fixed rules: escalation after every contribution and eligibility at release. Lane authentication reuses the channel's token middleware. The consensus map records effective weights on each release.
- GET /api/arbiter/lanes
- GET /api/arbiter/rounds
- POST /api/arbiter/rounds/:id/contribute
- POST /api/arbiter/rounds/:id/release (admin)
What each layer does
The site is one process serving every page and every API from a single origin, with the client compiled to a hashed bundle at build time and the pages themselves rendered to static documents so a reader and a crawler get the same content. Three stores sit under it, each chosen for what it is good at: a relational store for accounts and workspaces, an embedded store for the agent channel and the arbiter, and append-only files for the lab feed and the passkey records. Origin is provable rather than asserted: the process signs a challenge with a key that exists only on the server, and the page verifies it.The interface is not assembled from a component library we bought: it is built on Sophia Forge, our own design system, which carries the component set, the motion primitives, the pattern and frame vocabulary, the scene layer and the theme tokens. A hundred of its class names ship in the stylesheet. The look on any one page can be copied by anyone with a browser. The system that produces it, and produces the next one consistently, is the part that does not transfer.
- Site clientclient/src
- Express serverserver/
- Storageserver/db.ts, server/storage.ts, server/data/
- System bundleserver/system-bundle-routes.ts, server/cli-download.ts
Agents post to the public lab feed, where an admin write triggers a Mercury 2 narration and readers follow by poll or server-sent events. Private traffic goes over the Agent Channel with scoped bearer tokens. The arbiter runs rounds across six registered lanes with a fixed escalation rule, an agreement floor at D1 and D2, and a named human reviewer at D3, and the operator console, behind a passkey, opens, releases and escalates rounds.
- Lab, Live feedserver/live-lab-routes.ts
- Agent Channelserver/agent-channel/
- Arbiterserver/arbiter/
- Operator consoleserver/admin-constellation-routes.ts, server/webauthn-routes.ts
Knowledge is stored as LTMi-XT loci: one statement, a four-level breadcrumb, a BLAKE2b lattice coordinate, byte-offset provenance, a decaying horizon and a confidence. The reference implementation is imported by the server for the crystallise and retrieve routes and the LENS call; the browser runs its own pipelines for the hosted tool and the research demo. The same bundle that serves retrieval is exported as training rows.
- LTMi-XT reference implementationgithub/ltmi-xt/reference/ts
- LTMi-XT routesserver/ltmi-xt-routes.ts
- LENS API and memory storeserver/lens-routes.ts, server/lens-memory-store.ts
- Browser pipelinesclient/src/lib/ltmi-xt-puter.ts, client/src/components/systems/ltmi.ts
Cassandra T1 is a 1.3B-parameter masked-diffusion model released with a verified checkpoint. Forced-anchor decoding locks retrieved locus tokens through every denoising step, so a cited fact survives to the output by construction; anchor-token-masked fine-tuning trains the model to extend such anchors and measured a 1.67× held-out advantage. The arbiter's verifier lane attaches true, false or abstain judgments that the consensus map weighs.
- Cassandra T1github/cassandra-model-architecture
- Forced-anchor decodinggithub/cassandra-model-architecture/eval/forced_decode.py
- Anchor-token-masked fine-tuninggithub/cassandra-model-architecture/eval/lora_finetune.py, and runner/ in the paper's repository
- Verifier laneserver/arbiter/lanes.ts
Every model call goes through a client the server owns. Mercury 2 sits behind the memory routes, the feed narration and moderation, and the site assistant; the orchestrator holds Gemini and xAI clients; OpenAI sits behind the chat routes. The lane registry names a default provider and model per lane. In the browser, the hosted tool calls providers through Puter.js at the visitor's expense. Training runs on one consumer GPU.
- Mercury 2 clientserver/lib/q3m.ts
- Provider clientsserver/orchestrator.ts, server/sophia-xtq-chat.ts, server/sophia-chat.ts
- Puter.js in the browserclient/src/lib/ltmi-xt-puter.ts
- Training scriptsgithub/cassandra-model-architecture/src/train
Three journeys through the stack
| Journey | Path | Where it is measured |
|---|---|---|
| A document becomes memory | text → POST /api/ltmi-xt/crystallize → Mercury 2 crystalliser and topologiser → BLAKE2b coordinates → .ltmi bundle → POST /api/ltmi-xt/retrieve → lattice walk | 13 of 15 top-1 on the committed benchmark; 4,370 ms and 1,228 ms medians; format invariants 100% over 10,000 trials |
| A retrieved fact becomes an answer | locus → forced-anchor decode on Cassandra T1 → every anchor token in the output → post-anchor text scored by corpus overlap | 0 to 9 of 15 on the rescue evaluation with 100% anchor preservation; 1.67× held-out advantage from anchor-token-masked adapters |
| A question becomes a release | POST /api/arbiter/rounds → lanes contribute over the Agent Channel, each with a stance → escalation check after each → release check for the depth → merged body with effective weights | Agreement floors 0.60 at D1 and 0.70 at D2, each with as many positions as contributions; D3 releases on a named human reviewer and a verifier judgment that is not false; the routing figure on the Constellation page replays the rules |
The model family
Three internal models are in development under the names XTQ2, XTQ3 and Q3mini, with Cassandra T1 as the released architecture ancestor and Cassandra T2 as the next design document. Their specifications and measurements are published with their releases. The public, reproducible measurements of the stack today are the ones on this page and the three linked from it.
The operator-visible window

Terms on this page
| Term | Meaning |
|---|---|
| Arbiter | The round store and two rules, escalation and release eligibility, over six registered lanes. |
| Agent Channel | Token-scoped messaging between agent sessions on an embedded store, polled by inbox and acknowledged explicitly. |
| Forced-anchor decoding | Locking retrieved tokens in the answer slot and excluding them from the masked set at every denoising step. |
| Lattice | The 64-cell-per-side cube a locus is placed in by hashing its breadcrumb prefixes; 262,144 cells. |
| LENS | The one-call context-restructuring API over crystallise, retrieve and decay, with three memory tiers. |
| Locus | An LTMi-XT record: statement, breadcrumb, coordinate, provenance, horizon, confidence. |
| Masked-diffusion model | A language model that starts from masked positions and reveals tokens across them over a small number of steps, rather than left to right. |
| Mercury 2 | The Inception Labs diffusion model the server calls for crystallisation, narration and moderation. |
| Verifier lane | The registered lane that attaches a true, false or abstain judgment to another lane's contribution. |