Require executable action targets and post-onset responses in scoring

#1
by emberian - opened

The current scorer accepts score(scenario("sensor_bias", 1), {"actions": [(100, "mark_sensor_invalid", {})], "damage": False}) as successful even though the command lacks both zone and sensor. Missing wheel/zone targets can likewise count, and a response before fault onset can be credited as solving the future fault.

Require the action's zone/sensor/wheel to match the injected fault, and require the first response time to be at or after fault onset. Simulator physics and FDIR behavior are unchanged.

Run python -B -m unittest test_decision_contract -v: both portable tests fail on the base revision and pass after the patch. They cover three missing-target action kinds plus a pre-onset counterexample and correctly targeted post-onset positive control. The original runtime.py CRLF endings are preserved. This is a scorer contract repair; it is not a rerun of the published 1,700-scenario result.

Base revision: 3538060dbb55f287d060820f7b7c42fe3487632d.

Ready to merge
This branch is ready to get merged automatically.

Sign up or log in to comment