Wiring the Narrator
Rules don't run themselves. The GM Instructions/ folder is the part of the project the Narrator executes, built on a separation worth keeping: Rules/ is the reference; GM Instructions/ is the runtime.
The always-on core
@Missing file is loaded at all times. It compresses the system into an operating manual: the roll, the four actions and outcomes, the invoke and compel procedures with their exact field updates, harm absorption, and the standing conventions — frame stakes before dice, fiction first, keep the fate point economy moving. It is deliberately short. Context is a budget; anything the Narrator can look up on demand belongs in Rules/, not here.
Triggered instructions
Eight instructions load when their moment arrives, and each is named as its trigger — the filename is the contract:
- @Missing file runs the four-actions procedure whenever dice are warranted.
- @Missing file and @Missing file are the two halves of the aspect economy — the second fires proactively, because a Narrator who never offers compels starves the table of fate points.
- @Missing file, @Missing file, and @Missing file carry a conflict from framing through harm to cleanup — stress cleared, boosts expired, recovery advanced.
- @Missing file audits any new or edited sheet: pyramid legality, column support, nothing written into computed fields.
- @Missing file runs advancement — minor at session end, significant at scenario end, major at arc end.
A trigger is metadata on the instruction file — set with craft meta set-gm-trigger or in the app. Two hard limits from this project's history: keep each body tight (the trigger description field caps at 500 characters), and name the exact camelCase schema fields (fatePoints, freeInvokes, physicalStressState) — an instruction that says "the character's fate points" invites the Narrator to invent a field.
The pattern for a new subsystem
Any subsystem you add wants three parts: durable state in a schema, reference text in Rules/, and a triggered instruction that makes it happen at the table. A rule with no instruction doesn't exist in play; an instruction with no stored state resets every session. Wiring a corruption track? A field on the character schema, a paragraph in Rules/, and a clause in the attack-absorption instruction that ticks it.
Table memory and the voice
@Missing file is the durable state of play: setting, currentIssues and impendingIssues as linked Aspect files, facesAndPlaces, and the campaign dials — skillCap and startingRefresh, which the sheet-audit instruction enforces. The Narrator's voice itself — fiction-first, honest compels, concessions before crushing defeats — is the gm personality in project settings, separate from all of the above. Instructions define what the Narrator does; the persona defines how it sounds doing it. Reskin the world (chapter 5) and reskin the voice to match.