Observe native prison lock geometry and requalify Core loops

This commit is contained in:
2026-09-19 18:58:12 +02:00
parent e10b8799e9
commit b7fba094d7
39 changed files with 9884 additions and 12 deletions
+9
View File
@@ -13,6 +13,15 @@ import test_headless_input_exercise_runner as fixtures
from test_headless_input_exercise_runner import NONCE
class LookRunner(unittest.TestCase):
def test_gate_observation_is_independently_explicit_and_nonce_bound(self):
base=['gamescope','--backend','headless','--','/proton','run','/game']
self.assertNotIn('-errOrdinaryGateObserve',r.input_observer_command(base,'chat',None,NONCE))
self.assertEqual(r.input_observer_command(base,'chat',None,NONCE,gate=True)[-2:],['-errOrdinaryGateObserve',NONCE])
with self.assertRaises(ValueError):r.input_observer_command(base,'chat',None,NONCE,gate=1)
with self.assertRaises(ValueError):r.input_observer_command(base+['-errOrdinaryGateObserve','foreign'],'chat',None,NONCE)
with self.assertRaises(ValueError):r.validate_input_observer(SimpleNamespace(observe_prison_gate=True))
r.validate_input_observer(SimpleNamespace(observe_prison_gate=True,observe_player_input=True,project='chat',settle=50))
def test_optin_requires_all_existing_input_guards_before_side_effects(self):
valid=dict(exercise_relative_look=True,exercise_player_input=True,observe_player_input=True,inspect_headless_display=True,project='chat',settle=50)
r.validate_input_exercise(SimpleNamespace(**valid))