Move rule.disposition-ladder into content/lore/mechanics.md and delete the Duncarrow scaffolding (source + 23 generated JSON). Remove the redundant test_duncarrow.py (routing/secrecy already covered by test_emit.py synthetic fixtures); repoint a cosmetic slug-test id. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HuHRPE7VfppUJEaoGBEUqZ
22 lines
836 B
Markdown
22 lines
836 B
Markdown
# MECHANICS — canonical world rules (mechanical, not lore)
|
|
|
|
> Home for mechanical `rule.*` entries the dialogue/engine layer depends on.
|
|
> `rule.disposition-ladder` lives here (moved from the retired `duncarrow.md`
|
|
> scaffolding); it is the required-exactly-once gate vocabulary every NPC
|
|
> knowledge-gate references.
|
|
|
|
```yaml
|
|
id: rule.disposition-ladder
|
|
type: rule
|
|
status: canon
|
|
secrecy: 0
|
|
related: []
|
|
rungs: [hostile, cold, neutral, warm, trusted]
|
|
body: >
|
|
NPC trust toward the player is one of five ordered states:
|
|
hostile < cold < neutral < warm < trusted. Where a given player sits with a
|
|
given NPC is runtime state owned by code. The ladder itself is canon. Every
|
|
knowledge-link gate references one of these five names, plus the special
|
|
gate `never` (fact is known but never revealed through dialogue at any rung).
|
|
```
|