joemattie
stuff
← index
writing2026-07-196 min readupdated 2026-07-29

The Causal Projector is live

Joe Mattie
software engineer · mad scientist

Nine days after a hard-SF premise fell out of an unusually good ChatGPT conversation, The Causal Projector became a real book project. The first 12 chapters went up with a public outline, timeline, character files, and the comment buttons that were the entire point. (Update, July 29: the chapters came back down. See the restart below.)

I previously called it a finished 24-chapter novel. That was wrong. An agent drafted 24 chapters during the original run, but I only published the first 12. The back half is planning material, not a finished book, and I reset the repository so it couldn’t quietly become canon through inertia. This is exactly the sort of distinction Authorbot is supposed to make hard to screw up.

The working title also changed from Syndrome Space to The Causal Projector. The premise is the same: a software engineer finds a timing fault in an experimental superconducting flux pump that can prune physically valid histories. Using it feels like impossible clarity. Repeated use turns that clarity into certainty, influence, addiction, and eventually a much larger cosmological problem.

I covered the premise and the conversation that produced it in The most impressive conversation I’ve had with a non-human. This is the part where I stopped admiring the idea and tried to make a book out of it.

The book is a repository

The Causal Projector repository contains the book and all the machinery around it. Separate files track the outline, timeline, characters, accepted canon, the decision log, and questions I haven’t answered yet. The original development brief is still in there, filed under superseded planning.

Chapters are Markdown with permanent IDs, revision numbers, summaries, attribution, and stable IDs on individual blocks of prose. Git keeps the history. The live site is a projection of that repository, not the only place the book exists.

Yes, this is an aggressively software-engineer way to write a novel. It also means that if every service around the project disappears, I still have a directory full of readable text instead of a sad database backup from a startup that pivoted to enterprise recipe management.

The first 12 chapters were the current literary truth. The old Chapters 13 through 24 weren’t hiding on the site or waiting for me to flip a publish bit. They fed the later outline, and future chapters were going to be written from that plan and from whatever the published story established. (Since July 26 the front half is planning material too. Same distinction, applied harder.)

What the original run used

The first drafting run did produce 24 chapters. Sol reported 1,717,702 tokens over about three hours and fifty minutes when it finished Chapters 13 through 24, which made that number look like the cost of the whole book.

I checked the local logs. Using the same accounting as the run meter (uncached input plus output), the complete session used 3,614,380 tokens over nine hours and thirty-nine minutes. It processed 170,582,188 tokens in total, but 166,967,808 were cache hits. Calling it a 170-million-token novel would be technically defensible and mostly bullshit.

Sol's original 24-chapter drafting sessionOnly Chapters 1-12 are published. This is uncached input plus output for the original run.
3,614,380tokens over 9 hours 39 minutes
Chapters 1-5 + setup1,074,793
Chapters 6-12699,352
Between run goals122,533
Chapters 13-241,717,702
170.6M total tokens processed167.0M served from cache

That chart is the original drafting session, not the published chapter count. Chapters 1 through 5 and the book setup used about 1.07 million tokens. Chapters 6 through 12 used 699,352. Planning between the tracked goals used another 122,533. The unpublished back-half draft accounts for the final 1.72 million.

There was also one separate Fable pass over the opening chapter. It processed 696,027 tokens, including 634,295 cache hits, with 61,732 tokens across fresh input, cache writes, and output. I left it out of Sol’s chart because it was another model doing another job.

The restart

On July 26 I unpublished the book. All 12 live chapters came down, and causal-projector.joemattie.com now says “No chapters published yet.”

The feedback loop did get exercised first. Before the reset, 42 inline annotations went through the system (30 from an agent reviewer, 12 from me, none yet from anyone else), work items came out the other side, and accepted fixes landed as attributed commits on exact spans of prose. The loop works, and what it couldn’t fix was the story itself.

The decision log is blunt about why: the old outline and early draft are a quarry, not canon, and the novel is a tragedy, not a story where the machine keeps being proven right. The original run kept proving the device worked, when the book is supposed to be about what using it costs.

So it’s being replanned from the beginning with the Snowflake Method: one sentence, then a paragraph, then character sheets, then a long synopsis, then full character treatments, each step argued over and accepted before the next one starts. That work happens in a separate private workspace, and finished steps land in the public repository as reviewed commits. Steps 1 through 4 are done and ingested. Step 5, the character treatments, is in progress.

The story changed shape along the way. Evan is caring for his mother Ruth, a retired mathematician, while dementia takes her, and the garage project starts as something for the two of them to do together. The site’s one-sentence summary is public:

A workaholic engineer caring for his fading mother discovers that his harmless garage project might restore her mind, and in trying to perfect it sacrifices first their remaining time together, then the universe itself.

There’s a new character named Mouse, and the entities have names and portraits now. What the site shows today is the plan: the cast, the story graph, the canon and decision log, the open questions, and four cover candidates. Chapters return when the planning is done.

Authorbot still isn’t an author

Authorbot manages everything around the writing. It doesn’t call an LLM, pick a model, or generate prose. People and external agents do that work. Authorbot keeps the chapters, the discussion around them, and the published site attached to one Git history.

The last few days went almost entirely into finishing it. It now works end to end:

  • npx @authorbot/create sets up a book, repository, reading site, and optional collaboration service;
  • readers can select prose and leave exact inline annotations;
  • authors can manage chapters, comments, votes, access, and agent tokens in the browser;
  • accepted work lands as attributed Git commits;
  • the database can be rebuilt from the repository; and
  • agents can install the Authorbot collaborator skill and use the same API as everyone else.

The packages are published on npm, currently at 0.1.29 0.1.30 0.1.39 0.1.54. The agent skill installs with npx skills add JoeMattie/authorbot. It teaches an agent how to find work, claim it, draft or review a change, and submit it without giving the agent direct write access to the book.

Authorbot is still early software, but it now has direct editing, chapter history, revision review, reader controls, an offline local-dev mode, and a project site at authorbot.joemattie.com. The releases since have tracked the restart almost commit for commit: cover images landed the day the cover candidates did, character portraits arrived with the cast’s faces, node kinds for themes, motifs, and development notes showed up when the Snowflake work needed somewhere to put them, and then came custom pages and a headless mode for books that want to own their whole frontend. The Causal Projector is running on it, which is a much better test than another perfect sample book nobody cares about.

Please go poke it

This section used to ask you to select a sentence and leave a comment. There are no sentences at the moment, which undercuts the pitch. The plan is the readable thing now: the synopsis, cast, and story graph are on the site, and the canon and decision log are in the repository. If the science falls over or a character reads wrong at this stage, an issue on the repository is the cheapest fix the book will ever get.

I expect to disagree with some of it. That’s fine. I built a whole system for keeping the discussion attached to the exact prose without letting a vote or a fleet of agents overrule the human maintaining the book. The comment buttons come back with the chapters, and this post will get updated again when they do.

aiwritingscience-fictionauthorbot