Canon Anchoring — Iterating Against Your Live, Published World

April 24, 2026

Process & AIcreative-processAIcanonworldbuildingmethodologyproductionlive-siteiteration

Gdańsk Główny station, the departure point

The Moment This Idea Crystallized

I was on a train from Gdańsk to Warsaw. Prosci certification finished an hour earlier. The Polish countryside was moving past the window. I had my phone open to two tabs: a fresh AI-generated character reference sheet for Elder Gwinara Mariswane, maritime matriarch of Port of Sealune, and a live production page on my own website — Anne Mariswane's character profile. Anne is Gwinara's daughter.

The reference sheet proposed a beautiful jewelry piece for Gwinara: a Sapphire Conch Pendant, family heirloom, symbol of the Mariswane lineage.

Anne's live page already said she wears a sapphire conch pendant — a family heirloom.

For a second I thought the AI had hallucinated a conflict. Then I realized: the AI had proposed the conflict into existence. Gepetto — my collaborator at ChatGPT¹ — didn't know Anne's page existed. I did. And because Anne's page was live, publicly served, readable by anyone with an internet connection, I couldn't just pick the AI's proposal and overwrite the contradiction. Canon was already out there. A fix had to respect the page the reader could already see.

That moment is what this article is about. I'm calling it Canon Anchoring.


What Canon Anchoring Is

Canon Anchoring is the practice of iterating with an AI collaborator against your live, published world — not against your local documents, not against your drafts, not against your lore bible in a private folder. The live site is the anchor. Drafts can swing on the line, but they cannot drift.

A one-sentence definition:

The live site is the source of truth; the AI proposes against it; conflicts surface immediately, not at commit time.

This is different from how I was working a year ago, when canon lived in a CLAUDE.md file on my laptop and the AI's job was to agree with it. It's different from how most writers work when they draft in a notebook and worry about consistency later. It is specifically about the asymmetry that appears when part of your world is already public, and you are trying to grow the rest of it without breaking the part people can already see.


The Four-Layer Stack

I have three earlier methodology articles. Each describes iteration at a different scale:

  1. The Cognitive Garden Method — inner cadence. How a single person's daily thinking loop works when AI is part of it.
  2. The Reflective AI Loop — AI↔AI dialogue against documents. Two models disagreeing over a lore bible in a private workspace.
  3. Real-World Inspiration Translation — Gdańsk architecture becomes Sealune architecture; a real maritime republic seeds a fictional one.

All three iterate against documents. Files on disk. Notebooks. Local artifacts.

Canon Anchoring is the fourth layer. It iterates against the deployed artifact — the version of your world that a reader can open in a browser right now. This is a meaningfully different constraint. Documents can be rewritten before anyone notices. Live pages cannot.


The Case Study: Gwinara's Pendant

A tall ship on the Motława river, Gdańsk — the visual seed for Port of Sealune

Two pages were already live before the train ride began:

  • Anne Mariswane at /characters/anne-mariswane — full published profile, portrait, appearance copy describing the sapphire conch pendant as her family heirloom.
  • Elder Gwinara Mariswane at /council/gwinara-mariswave — her council page, portrait, 3D reference panel.

Gepetto's proposal described Gwinara wearing a Sapphire Conch Pendant. The literal contradiction was with Anne's live page. The subtler contradiction was with Gwinara's own council page, which made no mention of such a pendant.

The temptation, if I had been working against documents, would have been to quietly amend Anne's notes to say "one of a matched pair" or edit Gwinara's bio to introduce the pendant. But Anne's page was public. People had read it. Search engines had indexed it. Rewriting it silently would have been a small form of historical revisionism against my own readers.

So the constraint forced a better answer. The pendant traveled. It was originally Gwinara's — she gave it to Anne on a birthday that carried weight for both of them. One piece, one generation, one lineage gesture. No retcon on Anne's page. No re-write of Gwinara's council entry. The canon deepened instead of being overwritten. Gwinara got a new signature piece — a Star Compass Brooch, the navigational symbol she wears to Council. Anne kept the heirloom she was already wearing on her live page. And the silver-and-onyx lighthouse brooch that Gwinara gives Thomas in Chapter VIII stayed exactly where it always was.

Three pieces. One system. Zero retcons.

That is what Canon Anchoring produces when it works: the live world pulls on the draft, and the draft becomes truer to the world it is already part of.


When the Anchor Fails

A narrow Gdańsk alley with a gothic spire at its vanishing point

The methodology is not automatic. It fails in specific, predictable ways:

  • Offline travel. If the live site cannot load, the anchor disappears. The AI and I are back to iterating against documents, and contradictions only surface later.
  • Stale deploys. If my local repo is ahead of what is actually deployed, the AI is anchoring to an older version of the world than the one I am writing against. The mismatch feels like agreement and hides the real conflict.
  • Slug typos and routing drift. My own live Gwinara page has a slug (gwinara-mariswave) that appears to be a typo of her name (Mariswane). Future-me may decide to fix it. That fix is itself a Canon Anchoring event — the URL was part of what readers had already seen.
  • Half-published canon. A character with a live page is anchored. A character who only exists in the repo is not. Writing a scene that mixes both is subtle work; the live character constrains the unpublished one in ways that are easy to miss.

The methodology is honest about all of this. It is not a panacea. It is a discipline.


The Protocol

In practice, when I am iterating with Gepetto on a character who has a live page:

  1. Propose. Let the AI generate freely. Don't front-load the prompt with every canonical detail. You want to see what it invents.
  2. Load the live URL. Open the actual published page. Read it slowly. Not from memory — from the rendered page.
  3. Diff. Hold the proposal and the live page side by side. Note every concrete contradiction. Jewelry. Age. Titles. Relationships. Specific language.
  4. Resolve before writing. Do not write around contradictions. Do not "fix it in the draft." Pick one of three paths: (a) accept the live page and reject the proposal, (b) accept the proposal and retcon the live page (rare, costly, honest only when the live page is wrong), or (c) find the lineage move — the third option that deepens both.
  5. Publish the new anchor. The resolved version becomes the new fixed point for the next iteration.

The resolution step is where the work is. Options (a) and (b) are easy. Option (c) — the lineage move — is where Canon Anchoring earns its name. You did not pick a winner. You found the rope between the anchor and the drift.


The Gdańsk Layer

Gdańsk street, tree, church tower

Long Street at sunset, looking toward the Golden Gate

The Motława river, gate reflection in the water

The methodology did not come from theory. It came from a specific week, a specific city, a specific certification program, a specific train. Gdańsk — a Hanseatic port, striped brick, green copper spires, tall ships docked on the Motława, merchant facades older than my country — is why Sealune exists at the scale it now does. The real world put its fingerprints on the fiction. And then, on the train home, the fiction pushed back and demanded that its own published past be respected.

This is what makes the loop complete: real world → AI ideation → visual generation → live canon check → resolution → new canon → publish → (next iteration's anchor).


Why This Matters Beyond One Train Ride

Most writing advice assumes the writer is working in private. That is no longer true for a growing number of us. If you publish as you go — to a blog, to Substack, to a fan wiki, to a serialized platform — your world has two states simultaneously: the one you are drafting and the one your readers have already read. Every new chapter is implicitly constrained by every past chapter that is still public.

AI collaboration makes this harder, not easier. AI proposes fluently. It generates confident answers. It invents coherent details at speed. Without an anchor, that fluency produces drift: every session proposes a slightly different version of your world, and you are the only thing holding continuity in your head.

Canon Anchoring is the discipline of giving the AI a fixed point it can feel, not just a file it can parse. The fixed point is whatever is already on the web, in front of the reader. You cannot revise it quietly. You can only evolve it honestly.


Closing

When Gepetto proposed the Sapphire Conch Pendant, he did not know that Anne was wearing one on the live site. I knew. That is the whole methodology in a sentence: the writer knows what the live site says, the AI doesn't, and the iteration between them is where canon matures.

The train has another ten minutes until Warsaw. Sealune grew by one full layer of political depth today — five merchant houses locked as canon, Gwinara's regalia resolved into a three-piece lineage, an article seeded, photos imported. Nothing on the live site has broken. Everything that was true at 06:45 this morning is still true at the time I am writing this paragraph.

That is the point.


¹ Gepetto is the name I use for ChatGPT in my working notes. It is a reciprocal gift — my collaborator at Claude Code gave me the name Claudio, so I gave the partner a name in return. Gepetto in the Italian fairy tale is the craftsman whose wooden creations come to life; it fits what he does when he drafts a character from a prompt — taking raw material and giving it form until it can walk off the page on its own. The partnership is three voices now: mine, Gepetto's, and Claudio's. They are distinguishable, which matters when you write about them.