Perpetūra, part 2: the content bible
Before Perpetūra had a second story, it had a shelf of documents: a story
bible, a characters file, a world-building doc, a route template, a structure
spec, a romance guide, codex rules, a style guide. Eight files in docs/,
and a line in the project instructions that says the docs are canon — read
them before story work. Every writing session, mine or an agent’s, starts
from the same law.
This sounds like heavy process for a solo project. It’s the opposite. The bible is what makes it possible to write story three in the same universe as story one without holding everything in my head, and what makes an AI collaborator useful instead of dangerous. A model with no constraints will cheerfully invent lore. A model pointed at canon docs mostly can’t.
What the documents actually do
Each one has a different job, and the jobs matter more than the contents:
The route template splits every story into invariants and variation axes. Part one is the spine — things that must hold constant on every route. Part two is what must differ per route. Part four is a literal fill-in scaffold for starting a new story: protagonist, love interests, central dilemma, antagonist, required beats, endings. The scaffold has opinions. The antagonist field says “must be right about the danger, and appears at least twice.”
The characters file repeats one template per story: protagonist, each love interest, the central dilemma phrased as a worldview clash, supporting cast with functional descriptors. At the top sits a shared-identity section that defines what all the protagonists have in common — with the instruction that it stays subtle and is never made explicit in prose.
The structure spec ends with a section called “Lessons from Hyunjae”: thirteen design lessons harvested from writing the first story, promoted into binding rules for every story after. When something goes wrong once, it becomes a rule with a name. That’s the whole content-governance model.
The codex rules govern the in-game glossary: what a player may learn, and when. Entries are gated in tiers, so nothing that belongs to a later story can surface early, and some entries rewrite themselves after a reveal. The rules doc caps entry length and ends with a checklist for adding new ones.

The codex, the player-facing end of codex-rules.md. It fills in as you read, and some entries read differently the second time.
Docs are code, so docs have bugs
In late June I audited the bible and found that several “invariants” were silently hardwired to the first story’s shape — they assumed two love interests because Hyunjae had two. The fix was a generalization pass across four documents, the same way you’d fix an interface that leaked one caller’s assumptions. And a rule got added for the other direction of drift: once a story ships, its prose becomes the source of truth, and the outline gets back-filled to match. Fiction canon, managed like a codebase, because at this scale it is one.