Badges - flukeatzerocool/holonovel GitHub Wiki
Badges
Explanation. For players and Game Masters. You've heard the term "hat" used interchangeably โ badges are hats. This page explains what badges are, why they exist, and how they work.
What badges are
A badge is a role the server enforces. Four badges, switched without restart. Badge gating is not a prompt instruction โ it is enforced server-side. The response the player sees never leaks what the GM knows.
Badges are a narrative-integrity feature, not a security boundary. set_badge is always
callable by design โ Holonovel targets solo play where the same person wears both roles.
Source: spec ยง5.5 (REQ-031, REQ-032, REQ-066), Appendix P.
The four badges
Editor badge
When the Editor badge (the none role) is active, you have full access to every tool.
This is where you set up the campaign:
"Start a new Novel called the Dragon Tomb." "Load the Sunken Temple adventure." "Set the scene: the village of Marshfen. Evening. The innkeeper eyes the party with suspicion." "Create an NPC: Elder Myra, the village elder. She knows the marsh."
Build the world, create characters, load adventures, import lorebooks. When everything is
ready, activate a badge to begin the story. Your Novel returns to the Editor badge after
every manage_novel (action: end) call and when you resume an existing Novel โ you're at the table
with the mat, the minis, and the rulebook open, deciding what comes next.
Player badge
"Put on my Player badge. Let's play."
Wearing the Player badge means you are in the story. The AI's narrative role becomes Game Master by default. Your tool surface narrows to player tools โ character sheets, dice rolls, rules lookups, action suggestions, player signals, and shared lore. GM-only content vanishes. The enforcement is server-side โ even error messages are badge-filtered so GM-only spell names don't appear in "Did you mean?" hints.
Game Master badge
"Put on the Game Master badge. I need to fix something."
Full access to every tool. You narrate, build the world, control NPCs, set scenes, trigger lore, manage combat. The AI's narrative role becomes Player by default โ it inhabits the characters rather than running the table. Switch to GM whenever you need to correct state, inject a complication, or look behind the screen.
Observer badge
"Observer mode. Let the AI run the table."
The AI plays both Player and Game Master while you watch. You have read-only access to the Novel. The engine proposes actions, the AI narrates outcomes, and you step in for mechanical decisions at your chosen autonomy level. The observer sees combined surfaces: scene state and type from both perspectives, entity presence and personality from the Player surface, narrative threads from both, and an omniscient orientation directive telling the AI to narrate from above.
Source: spec ยง5.5 (REQ-305, REQ-306, REQ-366).
AI role
The AI's narrative role is the counterpart of your active badge by default:
| Your badge | AI role |
|---|---|
| Player | Game Master โ narrates the world, runs NPCs, adjudicates rules |
| Game Master | Player โ inhabits characters, describes intent, defers to you for outcomes |
| Observer | Both โ plays Player and Game Master simultaneously |
You can lock the AI to a fixed role via the TTRPG_AI_ROLE environment variable. With
TTRPG_AI_ROLE=game_master, the AI always narrates as GM regardless of your badge. With
TTRPG_AI_ROLE=player, the AI always plays characters.
Source: spec ยง5.5 (REQ-304).
Autonomy
Configurable AI decision delegation via four sliders, set through natural language:
"Set autonomy to full. Let the AI handle everything." "Autonomy: mechanical decisions only. I'll handle the roleplay." "Safety: hardcore. I want real stakes." "Creativity: chaotic. Surprise me."
| Slider | Values | What it controls |
|---|---|---|
level |
full / mechanical_prompt / manual |
How much the AI auto-plays vs. defers to you |
confirmation |
auto / confirm / prompt |
Whether the AI asks before making changes |
safety |
safe / moderate / hardcore |
Content boundaries for AI narration |
creativity |
predictable / standard / chaotic |
How much the AI introduces unexpected elements |
Autonomy is Novel-scoped, GM-only, and persisted to disk. The mechanical_prompt setting
pauses only for TTRPG mechanics โ world-model and narrative actions are never paused.
Source: spec ยง5.5 (REQ-305, REQ-306).
Knowledge gating
Characters only know what they were present for. The engine tracks entity presence per scene.
If your rogue scouts ahead alone, the rest of the party doesn't learn what they discovered. The engine gates knowledge by who was present. An NPC absent from a scene doesn't learn what happened there. Split-party play is mechanically sound โ no pretending characters don't know things.
The register signal separates in-character communication from out-of-character
discussion. In meta register, tool output is bare mechanical information with no
narrative framing.
Source: spec ยง1 (REQ-307, REQ-308).
See also
- Playing the Game โ dice rolls, actions, signals, and lookup
- Game Mastering โ the other side of the screen
- What Holonovel Is โ why badges exist instead of logins
- Character Creation โ building your character
Last updated: 2026-10-12.