first commit
This commit is contained in:
23
api/prompts/README.md
Normal file
23
api/prompts/README.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# /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).
|
||||
Reference in New Issue
Block a user