186a79a43e5b89284faadfdb5f4d57b3f381f60b
checkpoint / checkpoint (push) Successful in 1m52s
Implements docs/architecture/scripting_sandbox.md's primary recommendation (a fixed verb/condition/trigger DSL expressed as data, zero attack surface) rather than the out-of-process sidecar the sibling task had originally assumed. ScriptBehavior/ScriptRule parse and whitelist rule data at load time; ScriptInterpreterNode is the only code that ever runs, dispatching every verb through a closed match() -- never call()-by-name from data. Verbs: give_item, play_sound, move, rotate, spawn_from_catalog, set_timer. Triggers: on_interact, on_enter, on_touch, on_timer. Demo wired into test_level.tscn (ScriptedChest). 50/50 smoke assertions, independently re-verified, including 9 distinct malformed/unsafe-rule rejection cases and a real spawn_from_catalog resolving only through the trusted catalog, never a raw data-supplied path.
agp-game
Agentic Game Platform - Godot game built by autonomous agents
Description
Languages
GDScript
57.2%
Python
42.3%
Shell
0.5%