Give the DM a dice-rolling tool and the tool system behind it master
Phase 4, plan 0005. The chat loop grows in-process tools behind a Toolbox seam: tools declare themselves as json! literals with markdown descriptions, and every call takes a shared visibility argument (public, screened, secret) that decides what the transcript shows, with secret rolls emitting nothing at all. The dice tool computes with the existing dice grammar and renders its own styled line, dropped and rerolled faces dimmed. A turn is now a round loop with a gentle bound: after 8 tool-only rounds, or 24 rounds overall, one request withholds the tools and a note asks the DM to narrate, so a runaway loop ends as story instead of an error. History is all or nothing per turn. storied play is renamed storied sandbox, reserving play for the future character-and-world command. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CUXjWo1zGFhdJUig1hcQGf