Agentic game director: markdown binder + role separation + silence discipline
When building a long-running agentic system (e.g. a game Campaign Director) that must stay coherent across many turns, give the agent explicit FILE tools (note_list/read/write/append over a sandboxed .md directory: force .md extension, block .. traversal) and prompt it with a filename convention (campaign_bible.md, foreshadowing.md, threads/<slug>.md). It then authors real showrunner notes (Intent/Current-State/Next-Move/Payoff-Conditions at clock values) and stays consistent far better than relying on conversation context. Three more design lessons: (1) separate the tool-loops - one resolves the player action, a distinct one runs the director - dont overload one agent; (2) gate expensive passes (director + background strategic-agent sim) on large time-skips only (elapsed>=N days), not every turn; (3) explicitly prompt the director to STAY SILENT / surface no hook on quiet turns, otherwise it fabricates drama. Orchestration: GM-loop -> world-sim -> director -> epilogue narration weaving background beats. All agent writes route through an invariant-checked op layer so no tool call can corrupt state.