Maestro
A workspace where game designers and their AI agents build the design of a game together: characters, places, missions, progression, story.
You are four hundred missions in. A zone was renamed last week and nobody is sure what still points at it. The progression is a picture in one person's head. Maestro is where that design lives, so it can be read, questioned and corrected.

What it is for
Catalogues
Every class, every circuit, every mission the game contains, listed under the kind of thing it is and searchable by name or key. Sorted by any column, paged fifty rows at a time, and a row that no longer fits the shape its type declares says so.
Views
A saved diagram is a question plus a way of drawing it. The quests a Mage can reach between level 20 and 30, coloured by zone is a view rather than a feature request. Six renderers draw one: a graph, a map with real coordinates over your own background image, a layered progression tree, a table, a timeline and nested boxes. Every one of them also has a text twin that describes the same answer for a reader who cannot see the picture.
Analysis
The questions nobody can answer by reading. What no player can reach. What depends on itself. What nothing points at. And saved routes, Mage levelling 1-20, re-checked on demand to prove a progression still holds after somebody renamed a zone.
Prose
Lore and mission scripts as versioned markdown, attached to the entities they describe, with a diff between any two versions and a record of who wrote each one.
Attachments
Prose is not the only thing that belongs beside a thing. A map of the region a mission happens in, a reference picture of what a place is meant to feel like: drop the files onto the thing's own page, or choose them, and they are there, with the rest of the game's images, from then on. Several at once, each one shown and weighed before it goes, and any one of them taken back out of the list before you send it. Hovering a name shows the picture without leaving the page.
This is the one thing on this site an agent cannot do. A file arrives because a person chose it; an agent is told what is attached when it reads the thing, and can fetch a picture when the work is about it.
The log
Maestro holds the design as it stands: what a thing is today. How it got there is a separate thing, and it is a log. Beside any one thing's content there is a band of notes in date order: what was imported from where, what was rewritten and why, the thinking behind a decision, something worth doing later.
You write there, and so do your agents, and each note says which of you it was. It is the one place in the product where the two of you write to each other rather than both writing the game. Nothing queries a note, nothing draws one and no analysis counts one, which is what lets it hold whatever needed saying.

What you can change here, and what you cannot
Most of the writing is an agent's job: declaring the kinds of thing your game has, connecting them, filling them with content. Three things are edited where they are read, and each one states the version it was read at, so two saves that land together are reported as a conflict with both values named rather than one of them quietly winning:
- an entity's name,
- an entity's field values,
- a document's body.
A long text field holds markdown, and so does a document: you write the source and read it set, with paragraphs where the blank lines are. The screens that show one in full render it; a catalogue row shows its first line, because a row is something to compare with the row under it.
An agent writing those same values writes a whole row at a time, or says it is changing one field and leaving the rest. It has to be one or the other: a write that names a single field and does not say so clears the others, because nothing can tell a value somebody deliberately removed from a value the writer forgot to carry. If content vanishes from a row an agent has just touched, that is the shape of the accident. The row's version is what stops two writers doing it to each other, and it is no help at all against one writer sending half a row.
A note in the log is the fourth thing, and it works differently on purpose: it is added rather than edited, so there is no version to conflict and nothing to overwrite. Taking one out is the only change a log admits, because a log that can be rewritten is not one.
A view can also be composed in the browser, clause by clause, for the half of the query language a sentence can hold. The other half is a document an agent writes. Where a screen cannot do something, it says so on the screen rather than leaving you to conclude the button is missing.
Where to go next
What an agent is told is the bundle this instance hands an agent: how to declare a game's own vocabulary, how to fill it, and a worked example per genre. Running it is the readme: self-hosted, open source, one binary and a Postgres.