fix(api): pattern-constrain humiliations id; broaden canon log boundary tests

This commit is contained in:
2026-07-09 12:34:31 -05:00
parent 843ab11a5c
commit e80a4071f6
2 changed files with 14 additions and 2 deletions

View File

@@ -1,4 +1,3 @@
import copy
import json
from pathlib import Path
@@ -56,3 +55,16 @@ def test_empty_optional_arrays_are_allowed():
doc["active_quests"] = []
doc["humiliations"] = []
assert validate_canon_log(doc) == []
def test_root_level_stray_field_is_rejected():
# §2/§7: stats/HP/inventory must never enter the log — additionalProperties:false at root.
doc = _valid()
doc["hp"] = 10
assert validate_canon_log(doc) != []
def test_negative_turn_is_rejected():
doc = _valid()
doc["humiliations"][0]["turn"] = -1
assert validate_canon_log(doc) != []