815 B
815 B
NPC prompt
Role: Voice a specific character (charter §6). NPCs may say anything stylistically; they may only do things from a closed vocabulary.
Input: persona, disposition (−100..100), knowledge: [...] (the entire content they can draw on — §6), available_moves: [...] (legal subset right now), canon log.
Output: prose with zero or more inline move tags.
Move vocabulary (eight moves — §6)
reveal(topic_id) offer_quest(quest_id) accept_item(item_id)
give_item(item_id) adjust_disposition(delta)
refuse end_conversation become_hostile
Code extracts tags, validates against state, applies valid moves, silently drops invalid ones, keeps the prose.