24 lines
912 B
Markdown
24 lines
912 B
Markdown
# /api/prompts
|
|
|
|
**Prompts are source code** (charter §16). They are versioned, reviewed like code, and changing one is a change to the game.
|
|
|
|
Four narrow roles, not one omniscient prompt (charter §5). Each has its own input contract and output contract:
|
|
|
|
| File | Role | Output |
|
|
|---|---|---|
|
|
| `narrator.md` | Narrator — scenes, outcomes, transitions | Prose + tags |
|
|
| `adjudicator.md` | Adjudicator — free text → legal action | **Strict JSON** |
|
|
| `improviser.md` | Improviser — minor sandboxed events | Prose + tags |
|
|
| `npc.md` | NPC — voice one character | Prose + move tags |
|
|
| `banter.md` | Banter — companion callbacks | Prose |
|
|
|
|
## Tag syntax (charter §12)
|
|
|
|
```
|
|
[MOVE: offer_quest(14)]
|
|
[FACT: the eastern bridge is out]
|
|
[ADJUST_DISPOSITION: -10]
|
|
```
|
|
|
|
Extracted by regex, validated against game state, stripped from displayed prose. Invalid moves are silently dropped, prose kept (§6).
|