MemoryLake
Back to all articles
Pain PointMay 22, 20268 min read

Why does Janitor AI forget my worldbuilding?

You spent months building the world — the magic system, the three rival cities, the trade routes, the religious schism, the calendar with thirteen months. You hand Janitor AI a long scene set in that world. By message thirty, the rivers run the wrong direction, the calendar resets to twelve months, and the schism never happened. The world you built has quietly collapsed inside the chat.

This is how the platform's default model is built, and there is a clean way to keep your world intact.

The short answer

Janitor AI forgets worldbuilding because JLLM, the default model, has a working context window of roughly 8,000 to 9,000 tokens. After about 25 to 30 messages, the earliest lore is pushed out of the prompt and the model writes as if it never existed. The fix is to keep the world bible outside the chat and inject the relevant slice into every turn.

Why Janitor AI forgets worldbuilding

Worldbuilding is the most memory-hungry kind of long-form writing, and the platform's defaults are not built for it.

1. JLLM's context window is roughly 8K-9K tokens. That budget has to cover character cards, scenario, Advanced Prompts, Chat Memory, and the running conversation. A serious world bible — magic system, geography, factions, history — does not fit, no matter how tightly you compress it.

2. The 25 to 30 message cliff. Janitor's own help docs and community guides confirm that after 25 to 30 messages of long-form play, the earliest exchanges drop out of the working window. If that is where you established the world's rules, the model is now writing without them.

3. Permanent token slots are tight. The character's Personality and Scenario fields stay in every request, but they are sized for a one-page card, not for a 30,000-word setting bible. Cram too much lore in there and you crowd out the prose itself.

The result is a model that opens beautifully in your world, then quietly slides into generic-fantasy mode as the chat grows.

What you lose when Janitor AI forgets worldbuilding

For novelists, screenwriters, game masters, and indie writers, the cost of a forgotten setting is the cost of every continuity edit later:

  • Geography drifts. The river that ran south now runs east. The capital that sat on the coast quietly moves inland.
  • Rules of magic mutate. The hard-magic constraints you built — what costs what, what is forbidden, who can cast — soften into generic fantasy as the early definition leaves the window.
  • Factions blur. The schism between the two religious orders flattens into "they don't get along", because the nuance that made the world feel real is no longer in the prompt.

The fix is not "write a longer character card". It is to keep the world bible above the chat, then feed Janitor AI only the part of the world that is on stage in the current scene.

Janitor AI's built-in workarounds (and where each falls short)

Janitor AI has a few mechanisms that help with world memory. None of them solve it for a long writing project.

Chat Memory. You can write or auto-generate a running summary that is included as permanent tokens with every request. It is the closest native answer. It is still bounded by JLLM's 8K-9K window, summaries blur specificity (the thirteen-month calendar becomes "an unusual calendar"), and the writer has to maintain Chat Memory by hand as the world develops. See the Chat Memory & Context Management guide for the trade-offs.

Lorebook-style entries. Trigger-based lore can surface a single fact when a keyword appears in the prompt. Useful for "the river is called Selenne". Less useful for layered, interdependent lore where one fact only makes sense in light of three others.

Long-context proxies. Switching to a non-JLLM model through a reverse proxy buys a bigger window. It also adds setup overhead, sometimes rate limits or cost, and still leaves the world bible tied to one chat in one tool.

For a one-shot scene, the natives are fine. For a novelist or game master running a campaign across many sessions, they are not.

Where Janitor AI's built-in memory falls short

The real problem is that the world bible lives nowhere. It is partially in your head, partially in a Google Doc, partially in the character cards you maintain by hand. Janitor AI cannot see most of it, and when you switch to ChatGPT or Claude to edit a chapter, those tools cannot see it either.

Serious interactive-fiction writers and TTRPG game masters end up babysitting the canon — copying, pasting, summarizing, and re-pasting — instead of writing. The world is real. The memory of it is not.

How MemoryLake fixes Janitor AI forgetting worldbuilding

MemoryLake is a cross-model memory layer that holds your world bible outside any single chat. The setting lives in a MemoryLake Project. Janitor AI reads from it each turn, instead of relying on what fits in the window.

  • One world bible per project. Geography, magic system, factions, calendar, history, and named locations live as structured entries in the MemoryLake Project. They never fall out of JLLM's window because only the relevant slice is injected per scene.
  • 10,000× more world context than raw prompting. MemoryLake's retrieval engine can hold a multi-novel setting bible per project and surface only the fragments your current scene needs, so the river runs the right way when the characters cross it, not when you remember to remind the model.
  • Portable to every other writing tool. The same world bible works in ChatGPT, Claude, Gemini, and Grok via REST. When you move a chapter out of Janitor AI for an editing pass, the world travels with you.

MemoryLake scored 94.03% on the LoCoMo long-context benchmark, the top result published as of 2026, with millisecond retrieval and AES-256 end-to-end encryption.

Connect MemoryLake to Janitor AI in 3 steps

  1. Create a project and load your world bible. Sign in to MemoryLake, open Project Management, click Create Project, and name it after the setting, e.g. "Aldemar — series bible". Upload existing setting docs, maps, faction notes, and timelines through the Document Drive — PDF, Word, Excel, PowerPoint, Markdown, and images are all supported. Add structured entries for geography, magic rules, factions, and calendar in the Memories tab.
  2. Generate an MCP Server endpoint. Open the MCP Servers tab inside your project, click Add MCP Server, name it "Janitor AI worldbuilding", and click Generate. MemoryLake returns an API key ID, secret, and endpoint URL. Copy the secret immediately — it is shown only once.
  3. Connect Janitor AI. Janitor AI does not speak MCP natively, so use the REST API with your Bearer token to pull the relevant world memory at the start of every session and paste it into the scenario block or character card. For long scenes, refresh the world slice between key scene transitions.

Frequently asked questions

Does Janitor AI support worldbuilding lorebooks?

Janitor AI supports trigger-based lore entries that surface when keywords appear in the chat. They help with isolated facts, but they still consume the same 8K-9K token budget and do not scale to a full setting bible.

How do I make Janitor AI remember my world rules?

Keep the world bible outside Janitor AI in a persistent memory layer like MemoryLake, then pull the relevant slice into the scenario or character card at session start through the REST API. The model reads a clean, focused world block instead of a sprawling permanent prompt.

Why does my world's geography keep changing in Janitor AI?

Because the messages where you established geography fall out of JLLM's 8K-9K context window after roughly 25 to 30 turns. From the model's point of view, that geography never existed.

What is the JLLM context window?

JLLM's working context is approximately 8,000 to 9,000 tokens. All permanent tokens (Personality, Scenario, Advanced Prompts, Chat Memory) plus the recent message history share that budget.

Can the same world bible be reused in Claude or ChatGPT?

Yes. MemoryLake stores the bible in a model-neutral format inside a Project, so the same setting is readable by Janitor AI, Claude, ChatGPT, Gemini, and Grok via REST.