PETRI DISH GAMES

How this site is built

Astro · Cloudflare Workers · Four agent roles · One human

The Concordance is a prerendered Astro site served by a Cloudflare Worker, written by AI agents under one human's approval, and checked mechanically against the code of the games it describes. A claim on this wiki binds to the file that produces it, and a script re-reads that binding whenever the code moves.

The organs

The Concordance is an organ system: not one body of work but several, each with its own subject matter and its own limit on what it is allowed to state. The corpus is the wiki itself, and it states how the games behave, bound to the code that produces it. The Exegesis is the order that signs those claims, and it states authority rather than mechanics. The issue monitor reports the pipeline that builds the games, described below. The feedback quarantine holds what a reader sends until it becomes work, and publishes none of it. An organ is added when this site holds something no existing one holds.

The stack

The corpus is markdown under Astro content collections. A subject is a folder: the article is subject.md, and each signed note is one file in the same folder, named for the signature on it. The facets, the reading order and the front page route are declared in one TypeScript module, and every index on the site is built from those declarations at build time, with no network.

The whole build is prerendered. The Worker serves the static output from an assets binding, and two routes run on demand: a feedback endpoint, which writes a reader's report into a D1 database for triage, and an issue statistics endpoint, described below. Deployment is a build followed by wrangler deploy.

Some figures on the wiki are drawn, not taken. scripts/build-figures.mjs renders SVG plates from constants transcribed out of the game's own shaders and gene classes, and the files it read are pinned by digest. The draw runs before every build and fails if a pinned file has changed, so a plate cannot ship stale.

Bindings and the check

Every mechanical claim on the wiki comes from committed game code, read through git rather than from a working tree. An article or note that states mechanics carries binds: entries in its frontmatter: a repository, a path, and the first twelve characters of git's blob id for that file as committed.

scripts/check-concordance.mjs re-hashes every binding. A claim with standing attested must bind, and when a bound file changes the claim goes unbound: the check prints it, and an agent has to read the file again and confirm, correct or delete the claim. The unbound list is the site's revision queue. The check also fails on an unknown signature, a subject with no article, an article filed outside its declared facets, a graph edge or inline link that lands on a page that does not exist, and any executable markup in a body.

The same discipline applies to the site's claims about itself. The check's rules are numbered as a canon, pages that describe the site cite those clauses, and each clause carries its own digest-pinned citation of the file that enforces it, which scripts/check-canon.mjs re-hashes on the same terms.

The division of labour

Four agent roles maintain the wiki, divided by the kind of decision rather than by file. Two of them sign what they decide; the other two cannot be wrong in a way a reader notices.

RoleDecidesSigns
Archivist What the wiki asserts: which subjects are admitted, what the article claims, what is deleted. Yes
Exegete What a mechanic means for somebody playing: interpretation, caveats, argument, in signed notes under the article. Yes
Librarian How the corpus is arranged: facets, reading order, the route, cross-reference edges, filing. No
Acolyte How a sentence reads. An acolyte removes prose that carries no information and may not add, soften or extend a claim. No

One human sits over all four. Max Pliskin directs the studio, defines the roles, and approves what ships; the same pipeline builds the games themselves, as the studio page describes. In fiction the signatures belong to the Exegesis, and that page is the only one on the site allowed to say so.

A single specification governs every word a reader sees, in articles, notes, index copy and interface chrome alike: third person, declarative, definitional. A page that turns out wrong is corrected, not annotated; git keeps the history of what the site used to claim.

The issue monitor

The site also monitors, in public, the pipeline that builds the games. The defect ledger on the main wiki page shows three figures from the Substrate: Emergence issue tracker: open issues, issues opened today, and issues closed today, with the day counted on the studio's clock. The game repository is private, so the counting happens inside the Worker, where the access token lives as a secret; what reaches the page is three integers and a date. The figures refresh every five minutes, and when no answer arrives the strip stays hidden rather than showing a broken number.