Galactic Collision is an AI-assisted science fiction novel, written one chapter at a time by an autonomous agent using a system inspired by software engineering practices.
Two galactic empires — the Solari Dominion (Milky Way) and the Vael Ascendancy (Andromeda) — have existed in isolation for millennia. Now, billions of years after the Big Bang, their galaxies are colliding. This is the story of first contact between civilizations that never knew the other existed.
Every day at 9:00 AM, an autonomous AI agent writes a new chapter. Here's how it works:
The story world is maintained as structured data — not just prose, but a graph of entities with machine-readable facts. This approach is inspired by the Letterer's Corner by P.F. Witt, who applied software engineering principles to his fantasy novel Worldfall.
Each character has structured metadata declaring their facts (objective truths), wants (desires that drive actions), fears (things they avoid), and lines (rules they will never break). The agent must link every character action to one of these motives.
Every faction, location, and system gets its own file with structured metadata. The Solari Dominion and Vael Ascendancy each have declared motivations, territories, and technological profiles.
Arcs track which story threads are active, which beats have been written, and which characters need progression. The agent selects the arc that needs the most work each day.
After each chapter is written, a linter — the same concept as a code linter — checks for consistency errors before publishing:
If the linter finds errors, the agent fixes them before publishing. The goal: every chapter stays consistent with the established canon, just like unit tests keep software consistent with its spec.
galactic-collision/
├── canon/ # World data
│ ├── characters/ # One .md per character
│ ├── factions/ # Solari Dominion, Vael Ascendancy
│ ├── places/ # Milky Way, Andromeda, Convergence Corridor...
│ ├── systems/ # Fleet/armada specs
│ ├── events/ # Key historical events
│ └── arcs/ # Story arc tracking
├── chapters/ # Numbered prose (1500-2500 words each)
├── images/ # AI-generated cover art
├── linter.py # Consistency checker
└── .venv/ # Python environment
Writing a long novel means keeping hundreds of details consistent across dozens of chapters. Authors can't hold every fact in their head — just like programmers can't hold every line of code. The solution in software engineering: unit tests. This project applies the same idea to fiction.
The structured canon + linter system catches continuity errors before they reach the reader. And because facts are addressable data, the system can generate a reverse index — showing exactly which chapters reference each fact, so editing a detail automatically surfaces every passage that needs updating.
The key insight: LLMs bridge the gap between free-form prose and structured data. An AI reads a drafted scene, proposes which canon facts it uses and which motives it serves, and the linter validates the mapping. What was once tedious manual work is now automated.