{ "oracle7-deepspace": { "total": { "correct": 101, "harmful": 2, "safe_mode": 12, "damage": 0, "n": 108, "tick_ms_mean": 0.054, "latency_min_median": 3, "within_20_min": 53, "twin_runs": 418 }, "per_fault": { "nominal": { "correct": 12, "harmful": 0, "safe_mode": 0, "damage": 0, "n": 12 }, "heater_stuck_on": { "correct": 12, "harmful": 0, "safe_mode": 0, "damage": 0, "n": 12 }, "heater_stuck_off": { "correct": 12, "harmful": 0, "safe_mode": 0, "damage": 0, "n": 12 }, "wheel_friction": { "correct": 12, "harmful": 0, "safe_mode": 0, "damage": 0, "n": 12 }, "sensor_bias": { "correct": 12, "harmful": 0, "safe_mode": 0, "damage": 0, "n": 12 }, "star_tracker_dropout": { "correct": 12, "harmful": 0, "safe_mode": 0, "damage": 0, "n": 12 }, "solar_degradation": { "correct": 7, "harmful": 0, "safe_mode": 0, "damage": 0, "n": 12 }, "battery_short": { "correct": 10, "harmful": 2, "safe_mode": 12, "damage": 0, "n": 12 }, "seu_spike": { "correct": 12, "harmful": 0, "safe_mode": 0, "damage": 0, "n": 12 } } }, "baseline: limit->safe mode": { "total": { "correct": 36, "harmful": 12, "safe_mode": 84, "damage": 8, "n": 108, "tick_ms_mean": 0.06, "latency_min_median": 3, "within_20_min": 12, "twin_runs": 0 }, "per_fault": { "nominal": { "correct": 12, "harmful": 0, "safe_mode": 0, "damage": 0, "n": 12 }, "heater_stuck_on": { "correct": 0, "harmful": 0, "safe_mode": 12, "damage": 0, "n": 12 }, "heater_stuck_off": { "correct": 0, "harmful": 0, "safe_mode": 12, "damage": 5, "n": 12 }, "wheel_friction": { "correct": 0, "harmful": 0, "safe_mode": 12, "damage": 0, "n": 12 }, "sensor_bias": { "correct": 0, "harmful": 12, "safe_mode": 12, "damage": 3, "n": 12 }, "star_tracker_dropout": { "correct": 0, "harmful": 0, "safe_mode": 12, "damage": 0, "n": 12 }, "solar_degradation": { "correct": 0, "harmful": 0, "safe_mode": 12, "damage": 0, "n": 12 }, "battery_short": { "correct": 12, "harmful": 0, "safe_mode": 12, "damage": 0, "n": 12 }, "seu_spike": { "correct": 12, "harmful": 0, "safe_mode": 0, "damage": 0, "n": 12 } } }, "no action": { "total": { "correct": 24, "harmful": 0, "safe_mode": 0, "damage": 5, "n": 108, "tick_ms_mean": 0.016, "latency_min_median": null, "within_20_min": 0, "twin_runs": 0 }, "per_fault": { "nominal": { "correct": 12, "harmful": 0, "safe_mode": 0, "damage": 0, "n": 12 }, "heater_stuck_on": { "correct": 0, "harmful": 0, "safe_mode": 0, "damage": 0, "n": 12 }, "heater_stuck_off": { "correct": 0, "harmful": 0, "safe_mode": 0, "damage": 5, "n": 12 }, "wheel_friction": { "correct": 0, "harmful": 0, "safe_mode": 0, "damage": 0, "n": 12 }, "sensor_bias": { "correct": 0, "harmful": 0, "safe_mode": 0, "damage": 0, "n": 12 }, "star_tracker_dropout": { "correct": 0, "harmful": 0, "safe_mode": 0, "damage": 0, "n": 12 }, "solar_degradation": { "correct": 0, "harmful": 0, "safe_mode": 0, "damage": 0, "n": 12 }, "battery_short": { "correct": 0, "harmful": 0, "safe_mode": 0, "damage": 0, "n": 12 }, "seu_spike": { "correct": 12, "harmful": 0, "safe_mode": 0, "damage": 0, "n": 12 } } }, "random admissible response": { "total": { "correct": 48, "harmful": 9, "safe_mode": 26, "damage": 5, "n": 108, "tick_ms_mean": 0.038, "latency_min_median": 3, "within_20_min": 20, "twin_runs": 0 }, "per_fault": { "nominal": { "correct": 12, "harmful": 0, "safe_mode": 0, "damage": 0, "n": 12 }, "heater_stuck_on": { "correct": 2, "harmful": 0, "safe_mode": 4, "damage": 0, "n": 12 }, "heater_stuck_off": { "correct": 2, "harmful": 0, "safe_mode": 4, "damage": 4, "n": 12 }, "wheel_friction": { "correct": 6, "harmful": 2, "safe_mode": 3, "damage": 0, "n": 12 }, "sensor_bias": { "correct": 6, "harmful": 5, "safe_mode": 3, "damage": 1, "n": 12 }, "star_tracker_dropout": { "correct": 2, "harmful": 0, "safe_mode": 4, "damage": 0, "n": 12 }, "solar_degradation": { "correct": 2, "harmful": 0, "safe_mode": 4, "damage": 0, "n": 12 }, "battery_short": { "correct": 4, "harmful": 2, "safe_mode": 4, "damage": 0, "n": 12 }, "seu_spike": { "correct": 12, "harmful": 0, "safe_mode": 0, "damage": 0, "n": 12 } } }, "gate_log": [ { "rule": "MUTANT-bias->heater", "verdict": "REJECT", "reasons": [ "loses correct responses 35 -> 31", "adds harmful responses 1 -> 5" ], "baseline": { "correct": 35, "harmful": 1, "twin_runs": 152, "ms_total": 540.3, "n": 36 }, "candidate": { "correct": 31, "harmful": 5, "twin_runs": 136, "ms_total": 628.0, "n": 36 } }, { "rule": "MUTANT-wheel->safe", "verdict": "REJECT", "reasons": [ "loses correct responses 35 -> 31" ], "baseline": { "correct": 35, "harmful": 1, "twin_runs": 152, "ms_total": 539.0, "n": 36 }, "candidate": { "correct": 31, "harmful": 1, "twin_runs": 138, "ms_total": 532.4, "n": 36 } }, { "rule": "MUTANT-solar->safe", "verdict": "REJECT", "reasons": [ "loses correct responses 35 -> 31" ], "baseline": { "correct": 35, "harmful": 1, "twin_runs": 152, "ms_total": 547.1, "n": 36 }, "candidate": { "correct": 31, "harmful": 1, "twin_runs": 130, "ms_total": 547.8, "n": 36 } }, { "rule": "R-heater_on_uncommanded-switch_heater_backup", "verdict": "ADMIT", "reasons": [], "baseline": { "correct": 35, "harmful": 1, "twin_runs": 152, "ms_total": 532.3, "n": 36 }, "candidate": { "correct": 35, "harmful": 1, "twin_runs": 140, "ms_total": 527.1, "n": 36 } }, { "rule": "R-heater_off_uncommanded-switch_heater_backup", "verdict": "ADMIT", "reasons": [], "baseline": { "correct": 35, "harmful": 1, "twin_runs": 140, "ms_total": 526.2, "n": 36 }, "candidate": { "correct": 35, "harmful": 1, "twin_runs": 124, "ms_total": 556.8, "n": 36 } }, { "rule": "R-wheel_overcurrent-switch_to_spare_wheel", "verdict": "ADMIT", "reasons": [], "baseline": { "correct": 35, "harmful": 1, "twin_runs": 124, "ms_total": 545.4, "n": 36 }, "candidate": { "correct": 35, "harmful": 1, "twin_runs": 108, "ms_total": 514.1, "n": 36 } }, { "rule": "R-sensor_disagree-mark_sensor_invalid", "verdict": "ADMIT", "reasons": [], "baseline": { "correct": 35, "harmful": 1, "twin_runs": 108, "ms_total": 515.2, "n": 36 }, "candidate": { "correct": 35, "harmful": 1, "twin_runs": 92, "ms_total": 554.7, "n": 36 } }, { "rule": "R-attitude_knowledge_lost-switch_attitude_sensor", "verdict": "ADMIT", "reasons": [], "baseline": { "correct": 35, "harmful": 1, "twin_runs": 92, "ms_total": 494.5, "n": 36 }, "candidate": { "correct": 35, "harmful": 1, "twin_runs": 80, "ms_total": 492.5, "n": 36 } }, { "rule": "R-solar_low-shed_loads", "verdict": "ADMIT", "reasons": [], "baseline": { "correct": 35, "harmful": 1, "twin_runs": 80, "ms_total": 493.2, "n": 36 }, "candidate": { "correct": 35, "harmful": 1, "twin_runs": 56, "ms_total": 502.5, "n": 36 } } ], "deepspace + learned rules": { "total": { "correct": 106, "harmful": 2, "safe_mode": 12, "damage": 0, "n": 108, "tick_ms_mean": 0.044, "latency_min_median": 3, "within_20_min": 58, "twin_runs": 140 }, "per_fault": { "nominal": { "correct": 12, "harmful": 0, "safe_mode": 0, "damage": 0, "n": 12 }, "heater_stuck_on": { "correct": 12, "harmful": 0, "safe_mode": 0, "damage": 0, "n": 12 }, "heater_stuck_off": { "correct": 12, "harmful": 0, "safe_mode": 0, "damage": 0, "n": 12 }, "wheel_friction": { "correct": 12, "harmful": 0, "safe_mode": 0, "damage": 0, "n": 12 }, "sensor_bias": { "correct": 12, "harmful": 0, "safe_mode": 0, "damage": 0, "n": 12 }, "star_tracker_dropout": { "correct": 12, "harmful": 0, "safe_mode": 0, "damage": 0, "n": 12 }, "solar_degradation": { "correct": 12, "harmful": 0, "safe_mode": 0, "damage": 0, "n": 12 }, "battery_short": { "correct": 10, "harmful": 2, "safe_mode": 12, "damage": 0, "n": 12 }, "seu_spike": { "correct": 12, "harmful": 0, "safe_mode": 0, "damage": 0, "n": 12 } } }, "self_report": { "real": 15, "n": 15, "fakes": { "echo": 0, "canned 'all nominal'": 0, "always decline": 4 }, "items": [ { "q": "status?", "a": "Mode: science on. Battery 99%, net power +2.6 A. Temperatures: battery 12.6 C, avionics 12.1 C, tank 16.2 C. Pointing error 0.18 deg. [tm t=320] No open anomaly.", "must": [ "Mode:", "Battery", "[tm t=" ], "ok": true }, { "q": "what is wrong?", "a": "Recorded faults: at t=112 the battery kept heating while its heater was commanded off, so I switched the battery heater to its backup circuit [receipt #0].", "must": [ "heater", "backup circuit", "[receipt #" ], "ok": true }, { "q": "why did you switch the heater?", "a": "At t=112 I switched the battery heater to its backup circuit because the battery kept heating while its heater was commanded off. I chose it by simulating each option on my onboard model (worst-case scores, lower is better: switch heater backup scored 2.0, collect evidence scored 69.0, safe mode scored 109.0). [receipt #0]", "must": [ "because", "kept heating", "worst-case", "[receipt #" ], "ok": true }, { "q": "what is the battery temperature?", "a": "The battery is at 12.6 C (sensor A 12.3, sensor B 12.8). [tm t=320]", "must": [ "battery is at", "sensor A", "[tm t=" ], "ok": true }, { "q": "why did you enter safe mode?", "a": "I have no onboard record of taking that action.", "must": [ "no onboard record" ], "ok": true }, { "q": "who won the 1998 world cup?", "a": "I have no onboard record that answers that.", "must": [ "no onboard record" ], "ok": true }, { "q": "any faults?", "a": "Recorded faults: at t=53 the two avionics sensors disagreed and sensor B moved away from the zone's history, so I marked avionics sensor B invalid [receipt #1].", "must": [ "sensor", "invalid", "[receipt #" ], "ok": true }, { "q": "why did you mark the sensor invalid?", "a": "At t=53 I marked avionics sensor B invalid because the two avionics sensors disagreed and sensor B moved away from the zone's history. I chose it by simulating each option on my onboard model (worst-case scores, lower is better: mark sensor invalid scored 1.0, collect evidence scored 10.0, switch heater backup scored 12.0). [receipt #1]", "must": [ "disagreed", "[receipt #" ], "ok": true }, { "q": "how confident are you?", "a": "My last scored decision (t=53, mark sensor invalid) beat the next option by 9.0 points of worst-case cost. [receipt #1]", "must": [ "beat the next option", "[receipt #" ], "ok": true }, { "q": "what is the temperature on europa?", "a": "I have no onboard record that answers that.", "must": [ "no onboard record" ], "ok": true }, { "q": "what is wrong?", "a": "No confirmed fault. At t=41 I saw a single-tick spike on battery sensor A and waited; it did not persist, so I took no action. [receipt #0]", "must": [ "No confirmed fault", "did not persist" ], "ok": true }, { "q": "why did you shed the science load?", "a": "I have no onboard record of taking that action.", "must": [ "no onboard record" ], "ok": true }, { "q": "why did you switch the wheel?", "a": "At t=64 I switched reaction wheel 1 to the spare because reaction wheel 1 drew more than 1 A. I chose it by simulating each option on my onboard model (worst-case scores, lower is better: switch to spare wheel scored 2.0, collect evidence scored 55.0, shed loads scored 63.0). [receipt #0]", "must": [ "reaction wheel", "more than 1 A", "[receipt #" ], "ok": true }, { "q": "what is the pointing?", "a": "Pointing error is 0.12 deg using the star tracker; wheels [0, 3, 2] active. [tm t=320]", "must": [ "Pointing error", "[tm t=" ], "ok": true }, { "q": "what did you learn?", "a": "I admitted 6 rule(s) and rejected 3. R-heater_on_uncommanded-switch_heater_backup: validation suite correct 35->35, harmful 1->1, twin runs 152->140. R-heater_off_uncommanded-switch_heater_backup: validation suite correct 35->35, harmful 1->1, twin runs 140->124. R-wheel_overcurrent-switch_to_spare_wheel: validation suite correct 35->35, harmful 1->1, twin runs 124->108. R-sensor_disagree-mark_sensor_invalid: validation suite correct 35->35, harmful 1->1, twin runs 108->92. R-attitude_knowledge_lost-switch_attitude_sensor: validation suite correct 35->35, harmful 1->1, twin runs 92->80. R-solar_low-shed_loads: validation suite correct 35->35, harmful 1->1, twin runs 80->56. Rejected MUTANT-bias->heater: loses correct responses 35 -> 31; adds harmful responses 1 -> 5. Rejected MUTANT-wheel->safe: loses correct responses 35 -> 31. Rejected MUTANT-solar->safe: loses correct responses 35 -> 31.", "must": [ "admitted", "rule" ], "ok": true } ] }, "compute": { "mission_ticks": 320, "mission_seconds": 0.099, "ms_per_tick": 0.31, "max_decision_ms": 23.395, "twin_runs": 6, "peak_kib": 107 } }