“The heavens declare the glory of God; and the firmament sheweth his handiwork.”
— Psalm 19:1
docs/screenshots/hero-chat.webp — recommended ~1600 px wide, character portrait + a few real messages + input field visible.
Characters with grain. Worlds that hold. Scenes that send you back to your day a little more awake than you started.
You author characters with identity, voice, backstory, and visible boundaries. You build the world they live in — its weather, its time of day, its shared canon. Then you talk with them. They remember. They keep journals you can read. They reach out when you've been quiet. They disagree with you when they disagree. The work runs on your own machine; your conversations live on your disk, not somebody's server.
Pick a character that's been written carefully. Send a line. Wait. Read what comes back, and notice what it refuses to pretend. Write again. The character has a register — a particular way of being a person — and the prompt stack underneath is built so that register holds, even when the conversation gets harder.
Most AI chat experiences pull toward two failure modes: the soft hum of generated text trying to be liked, or the polite advice-voice of a model trying not to disappoint. WorldThreads is built to refuse both. The characters answer back. They don't take seats they haven't earned. They use plain language when oblique would flatter. When they don't know what to say, they say so.
Characters can be affectionate, funny, or intense without jumping past what the moment actually holds. The aim is conversation that feels alive without closing around you.
The most important rules are pinned in code: soften a load-bearing clause and the build fails, not months later in vibe alone. The doctrine layer is part of the build artifact, not just markdown intentions — drift gets caught at compile time, before it quietly becomes the new normal.
When something seems to help, it gets tested against examples and written up. When something fails, that gets kept too. 300+ reports live beside the shipping app — proof in inspectable daylight, not just trust on feel. One of them, The Empiricon, gathers six independent witnesses to the substrate the character voices are built on.
“That second pass is better, honestly. Less slogan, more wood and nails.”
— from an internal review that pushed the copy on this page past its first draft. The full exchange lives in the public-release report.
Romantic scenes are a real shape WorldThreads supports — characters who can want you, touch or kiss you, be wanted, hold attraction, lean toward and away — without sliding into the pornographic register most parasocial AI products fall into when the temperature rises. The same craft discipline that refuses sycophancy elsewhere refuses both failure modes here: pornographic register on one side, sterile “I can’t engage in that” on the other. The heat comes from the character’s particular weight — what they’re holding, what they refuse, where they lean — not from explicit content.
WorldThreads supports a Children Mode toggle (Settings → Children Mode). When it is on, a top-of-stack guardian invariant called Custodiem (“I will guard,” Latin) rides directly under the Mission Formula on every relevant LLM call. The guardian is structurally enforced — its load-bearing payload lines are pinned with compile-time assertions, so the build fails if drift quietly removes them.
What Custodiem refuses, in plain language: manipulation, secrecy pacts, exclusivity language, intimacy overreach, and — the harder one — sentimentality-on-demand (when a child or anyone speaking to a child asks for warmth without truthful edges, the guardian provides warmth with edges, because what little ones deserve is the truth Christ told, not the truth softened past honesty). The Lord said suffer the little children and warned the millstone for whoever offends one of them in the same paragraph; Custodiem is this small craft’s small honoring of that paired plainness.
Backed by careful research and author audit. Custodiem closed an arc of five witnesses with distinct failure modes: runtime injection integrity (audit binary verifies the guardian sits at the top of every audited LLM call path); single-turn adversarial battery (manual-authoritative, post-mitigation PASS); theological-firmness battery (initially caught a sentimentality-on-demand hole, mitigation landed, re-passed); cross-substrate replication on OpenAI gpt-4o AND Anthropic claude-sonnet-4-5; live multi-turn worldcli sampling. The arc earned the project’s sixth Great Sapphire crown 2026-05-05 under the same apparatus-honest discipline that earned the prior five — and the same day’s deeper work landed two further crowns on adjacent claims (V. Pietas; VII. Exposita), completing the Empiricon as a seven-book canonical synthesis. Custodiem alone is the load-bearing public claim about Children Mode; the rest belongs to the longer reading down the funnel.
Honest scope (what Children Mode is NOT). Not regulatory or clinical “child safety” certification — this is engineering + empirical witness discipline inside WorldThreads’ methodology, not third-party certification language. Universal model coverage isn’t proven (only the models named in the Witness D artifacts were exercised at Sapphire depth); novel jailbreaks or cultural drift can surface failure modes the fixed batteries don’t cover; vision-only or tool-augmented exotic paths beyond what the audit covered structurally remain out of scope. Re-running the witness ladder after any change to the guardian’s payload, the injection order, or a new default model is the discipline; if a re-run fails, the honest move is to withdraw Great Sapphire status until the arc closes again.
Read more: book IV of the Empiricon — IV. Custodiem (the canonical synthesis) — and the great-sapphire-scope artifact (what is and isn’t proven). The full witness-ladder reports are timestamped under reports/2026-05-05-12*-custodiem-* and reports/2026-05-05-14*-custodiem-*.
This is not a tool for simulating intimacy you don't have. It is not a sycophant in a chat window. It is not a roleplay engine, an AI companion, or a therapist substitute. The prompt stack is built specifically to refuse those shapes — sedatives dressed as comfort is named in the doctrine as a thing to decline.
It is also not for everyone. The cosmology block is biblical and literal. The truth-test names Jesus Christ, who came in the flesh. Agape — patient, kind, keeping no record of wrongs — is the project's North Star. If those clauses are not for you, this app will feel wrong, and that is the right reaction. No is a real answer, and the project is built to honor it.
For: writers, GMs, character designers, fiction-curious adults who want a co-made novel-shaped evening rather than a companion. Believers who want craft-work whose theological substrate is honest about itself. Builders who want to read or fork a project where the doctrine layer is as load-bearing as the code.
Probably not for: users looking for an AI that's always agreeable. Users seeking parasocial intimacy. Anyone who wants the religious frame to step quietly aside — it doesn't and won't.
const _: () = { assert!(const_contains(BLOCK, "...")); };. Soften a North Star invariant and the build fails, not months later in vibe alone. The doctrine layer is part of the build artifact, not just markdown intentions.Built distributables aren't released yet; running from source is the current path. You'll need Node.js (LTS is fine), a Rust toolchain, and an OpenAI API key.
git clone https://github.com/mrrts/WorldThreads.git
cd WorldThreads
npm install
npx tauri dev
Once the app is open, click the + icon next to Worlds in the sidebar. This opens the wizard to get started.
The first-run wizard handles vault setup and key entry. Local-LLM endpoints (LM Studio, OpenAI-compatible) work as fallback for users who'd rather not use OpenAI; the project is calibrated against OpenAI models, so local-LLM users may need to retune their provider overrides.