Structured world/player/NPC stats, two-way flags, and sticky milestones per scenario (stat_schema). The AI proposes a per-turn delta; a Python engine referees it (clamp to min/max, per-turn cap, cooldown, counters). Band word-labels plus a fixed stat guide (descriptions + full ranges) keep the model grounded. World State drawer + Insights delta report; undo/retry roll it back via the Phase 11 snapshot pattern. - migrations 26-28 (scenarios.stat_schema, adventures.world_state, actions.world_state_before); all nullable, additive, safe on existing rows - migration 29 raises the default context budget 4096 -> 16384 (custom values preserved) - seeded demo scenario 04-rpg-world-state.json (Bandit Camp) - 19 new tests (33 total pass) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
27 lines
531 B
Python
27 lines
531 B
Python
"""Phase 12 — RPG world state: the AI proposes stat/milestone deltas, this
|
|
module validates and clamps them against a scenario's stat_schema."""
|
|
|
|
from .engine import (
|
|
EMIT_RULE,
|
|
apply_delta,
|
|
band_label,
|
|
extract_delta,
|
|
has_schema,
|
|
instantiate,
|
|
npc_types,
|
|
render_reference,
|
|
render_state_section,
|
|
)
|
|
|
|
__all__ = [
|
|
"EMIT_RULE",
|
|
"apply_delta",
|
|
"band_label",
|
|
"extract_delta",
|
|
"has_schema",
|
|
"instantiate",
|
|
"npc_types",
|
|
"render_reference",
|
|
"render_state_section",
|
|
]
|