← AI Lab
04 / AI LAB / PANTHEON

Pantheon

In progressSeven chapters free

She built a life so completely it became real.

Pantheon is a novel I am writing under the Lacunae name: a conspiracy thriller with a romance at the centre of it, set in Hong Kong, close third and past tense across 63 chapters. Seven of them are free to read online right now.

The website is a second surface for reading it. There is a spoiler-free side with the premise and the sample, and behind that an archive of people, connections, places and evidence that holds exactly as much as you have read and not one chapter more. Records amend rather than replace, so what you learn in chapter 7 sits on top of what you were told in chapter 1 instead of quietly overwriting it.

That rule is easy to state and easy to break, so it is enforced by the build rather than by the browser. One number in one file decides what exists on the public site. Everything downstream is cut from it, and the build refuses to write its own output if it finds a name in there that nobody has read yet.

THE NOVEL
THE PREMISE

Vivienne Ho is a socialite and a financier in Hong Kong, principal of a firm that buys businesses other people would strip and keeps them alive. She has spent five years building that life so completely it became real to her. Damien Tang wants to marry her, and his family runs due diligence on the woman he has chosen in the same season an old institution reopens a file on her.

WHERE IT IS

57 of 63 chapters drafted, about 150,400 words. Close third, past tense, rotating point of view. I am reading the whole thing front to back before anything else moves.

READ SEVEN

Chapters 1 to 7 are free in the web reader, with adjustable type and a serif toggle. That is the end of the third sequence, not an arbitrary stopping point.

EDITIONS

EPUB and PDF when the book is done. The website is enrichment and is never required reading.

THE READING SITE
THE ARCHIVE

A companion to the book: people, connections, places, evidence and a gallery. Records amend as you read, so a character you met in chapter 1 reads differently by chapter 7, with the earlier version still underneath.

THE ONE RULE

A record is absent until you have reached it. Not teased, not silhouetted, not shown as a locked card, not counted in a total. If the book has not shown it to you, it does not render.

THE SPOILER GATE

Selecting a chapter past your furthest asks you to confirm, then raises your furthest. Going back to chapters you have already passed is free and changes nothing.

YOUR PROGRESS

Kept in localStorage on your own device. No account, no server, no analytics. Set it by hand if you read on paper or e-ink, and export it whenever you like.

THE REACH RULE

The archive reaches as far as the reading, never as far as the writing. Measured across Act I, the records run 1,910 words against 38,300 words of prose, about five per cent. An archive that runs ahead of a book somebody has to pay for is a free substitute for it.

STACK

Four static HTML pages, plain CSS and classic scripts. No build step, no bundler, no dependencies, no lockfile. Every behaviour is client-side.

TWO PALETTES

The screens were designed on a dark navy theme and ship on a different one, carbon and brass and proof red. The second is an override layer rather than a rewrite: delete one link tag from four pages and the site is the first palette again, exactly.

CONTRAST

Every text node was walked against its real composited background rather than eyeballed. Seven pairings failed AA and are fixed. Six of them had been failing on the original palette and had simply never been checked.

HOW IT IS BUILT
ONE NUMBER

A single field, publishedThrough, decides what a stranger can read. It cuts the served records, the chapter text, the gallery, and every sentence of site copy that names a chapter count. Adding a record does not publish it. Raising that number does, and nothing else does.

ABSENT, NOT HIDDEN

The full record set lives outside the site folder and is never served, so an unpublished chapter is missing from the built file rather than filtered in the browser. Manuscript frontmatter is stripped at build time for the same reason: a field that names something the book reveals later cannot be hidden at read time, because hiding it still ships it.

THE BUILD REFUSES LEAKS

After writing the dataset, the build reads its own output and scans it for every unpublished title, record, state, caption and asset path. The first version of the filter was correct about record states and still shipped a name that hung off the record instead. A structural filter only removes what its author remembered.

THE PROSE TOOLING

Fifteen tools, standard library only. A prose lint per chapter, a cross-chapter voice-drift report, a citation checker that re-reads every quotation canon claims, a POV brief that answers what this head is allowed to know, and a pass that strips the narration so the dialogue can be read as a script.

THE TOOLS ARE TESTED

94 cases, all passing, each one a bug the tools once missed. Every tool here was built reactively, one fault at a time, so the fixture file is the record of what they used to let through.

THE LESSONS FILE

148 entries, about 40,000 words, sorted into nine families of mistake. Adding to it is part of fixing anything, otherwise the fix applies to one chapter and nothing else.

A LOOK / PANTHEON

Read Pantheon