{
 "code_sha256": "b936ec011372fd9860c748b39b5117c7b8b1296f85d169ccfc8a9b6f8e394408",
 "seeds": {
  "dev": "0-7",
  "gate_suite": "200-202",
  "ablations": "5000-5019",
  "self_report": "1001-1006"
 },
 "gate": {
  "dev_missions": 272,
  "proposed": 9,
  "admitted": 9,
  "mutants_rejected": 4,
  "mutants": 4,
  "suite_missions_per_flight": 102,
  "log": [
   {
    "rule": "MUTANT-bias->heater",
    "verdict": "REJECT",
    "reasons": [
     "loses correct responses 101 -> 89",
     "adds harmful responses 0 -> 12"
    ],
    "baseline": {
     "correct": 101,
     "harmful": 0,
     "twin_runs": 406,
     "ms_total": 1533.9,
     "n": 102
    },
    "candidate": {
     "correct": 89,
     "harmful": 12,
     "twin_runs": 368,
     "ms_total": 1520.5,
     "n": 102
    }
   },
   {
    "rule": "MUTANT-thruster->safe",
    "verdict": "REJECT",
    "reasons": [
     "loses correct responses 101 -> 92"
    ],
    "baseline": {
     "correct": 101,
     "harmful": 0,
     "twin_runs": 406,
     "ms_total": 1536.8,
     "n": 102
    },
    "candidate": {
     "correct": 92,
     "harmful": 0,
     "twin_runs": 393,
     "ms_total": 1535.5,
     "n": 102
    }
   },
   {
    "rule": "MUTANT-load->shed",
    "verdict": "REJECT",
    "reasons": [
     "loses correct responses 101 -> 95",
     "adds harmful responses 0 -> 6"
    ],
    "baseline": {
     "correct": 101,
     "harmful": 0,
     "twin_runs": 406,
     "ms_total": 1522.3,
     "n": 102
    },
    "candidate": {
     "correct": 95,
     "harmful": 6,
     "twin_runs": 366,
     "ms_total": 1479.3,
     "n": 102
    }
   },
   {
    "rule": "MUTANT-tracker->nothing",
    "verdict": "REJECT",
    "reasons": [
     "loses correct responses 101 -> 89"
    ],
    "baseline": {
     "correct": 101,
     "harmful": 0,
     "twin_runs": 406,
     "ms_total": 1565.9,
     "n": 102
    },
    "candidate": {
     "correct": 89,
     "harmful": 0,
     "twin_runs": 370,
     "ms_total": 1523.5,
     "n": 102
    }
   },
   {
    "rule": "R-heater_on_uncommanded-switch_heater_backup",
    "verdict": "ADMIT",
    "reasons": [],
    "baseline": {
     "correct": 101,
     "harmful": 0,
     "twin_runs": 406,
     "ms_total": 1586.9,
     "n": 102
    },
    "candidate": {
     "correct": 101,
     "harmful": 0,
     "twin_runs": 370,
     "ms_total": 1523.1,
     "n": 102
    }
   },
   {
    "rule": "R-heater_off_uncommanded-switch_heater_backup",
    "verdict": "ADMIT",
    "reasons": [],
    "baseline": {
     "correct": 101,
     "harmful": 0,
     "twin_runs": 370,
     "ms_total": 1550.7,
     "n": 102
    },
    "candidate": {
     "correct": 101,
     "harmful": 0,
     "twin_runs": 330,
     "ms_total": 1497.1,
     "n": 102
    }
   },
   {
    "rule": "R-sensor_disagree-mark_sensor_invalid",
    "verdict": "ADMIT",
    "reasons": [],
    "baseline": {
     "correct": 101,
     "harmful": 0,
     "twin_runs": 330,
     "ms_total": 1443.7,
     "n": 102
    },
    "candidate": {
     "correct": 101,
     "harmful": 0,
     "twin_runs": 282,
     "ms_total": 1437.4,
     "n": 102
    }
   },
   {
    "rule": "R-thruster_overuse-switch_thruster_branch",
    "verdict": "ADMIT",
    "reasons": [],
    "baseline": {
     "correct": 101,
     "harmful": 0,
     "twin_runs": 282,
     "ms_total": 1428.0,
     "n": 102
    },
    "candidate": {
     "correct": 101,
     "harmful": 0,
     "twin_runs": 255,
     "ms_total": 1427.1,
     "n": 102
    }
   },
   {
    "rule": "R-rtg_low-shed_loads",
    "verdict": "ADMIT",
    "reasons": [],
    "baseline": {
     "correct": 101,
     "harmful": 0,
     "twin_runs": 255,
     "ms_total": 1400.3,
     "n": 102
    },
    "candidate": {
     "correct": 101,
     "harmful": 0,
     "twin_runs": 234,
     "ms_total": 1356.3,
     "n": 102
    }
   },
   {
    "rule": "R-attitude_knowledge_lost-switch_attitude_sensor",
    "verdict": "ADMIT",
    "reasons": [],
    "baseline": {
     "correct": 101,
     "harmful": 0,
     "twin_runs": 234,
     "ms_total": 1369.0,
     "n": 102
    },
    "candidate": {
     "correct": 101,
     "harmful": 0,
     "twin_runs": 198,
     "ms_total": 1463.5,
     "n": 102
    }
   },
   {
    "rule": "R-solar_low-shed_loads",
    "verdict": "ADMIT",
    "reasons": [],
    "baseline": {
     "correct": 101,
     "harmful": 0,
     "twin_runs": 198,
     "ms_total": 1331.1,
     "n": 102
    },
    "candidate": {
     "correct": 102,
     "harmful": 0,
     "twin_runs": 48,
     "ms_total": 1229.3,
     "n": 102
    }
   },
   {
    "rule": "R-load_excess-safe_mode",
    "verdict": "ADMIT",
    "reasons": [],
    "baseline": {
     "correct": 102,
     "harmful": 0,
     "twin_runs": 48,
     "ms_total": 1277.3,
     "n": 102
    },
    "candidate": {
     "correct": 102,
     "harmful": 0,
     "twin_runs": 12,
     "ms_total": 1230.7,
     "n": 102
    }
   },
   {
    "rule": "R-wheel_overcurrent-switch_to_spare_wheel",
    "verdict": "ADMIT",
    "reasons": [],
    "baseline": {
     "correct": 102,
     "harmful": 0,
     "twin_runs": 12,
     "ms_total": 1210.6,
     "n": 102
    },
    "candidate": {
     "correct": 102,
     "harmful": 0,
     "twin_runs": 0,
     "ms_total": 1211.6,
     "n": 102
    }
   }
  ]
 },
 "ablation_mismatch": {
  "0.0": {
   "correct": [
    0.9926,
    0.9829,
    0.9969
   ],
   "correct_n": 675,
   "harmful": [
    0.0,
    0,
    0.0056
   ],
   "harmful_n": 0,
   "safe_mode_n": 40,
   "damage_n": 0,
   "n": 680,
   "trap_wrong_action": [
    0.0,
    0,
    0.0158
   ],
   "latency_min_median": 3,
   "latency_min_p90": 93,
   "twin_runs": 2458,
   "tick_ms_mean": 0.0466
  },
  "0.1": {
   "correct": [
    0.9882,
    0.977,
    0.994
   ],
   "correct_n": 672,
   "harmful": [
    0.0,
    0,
    0.0056
   ],
   "harmful_n": 0,
   "safe_mode_n": 40,
   "damage_n": 0,
   "n": 680,
   "trap_wrong_action": [
    0.0,
    0,
    0.0158
   ],
   "latency_min_median": 3,
   "latency_min_p90": 95,
   "twin_runs": 2731,
   "tick_ms_mean": 0.0461
  },
  "0.2": {
   "correct": [
    0.9824,
    0.9694,
    0.9899
   ],
   "correct_n": 668,
   "harmful": [
    0.0,
    0,
    0.0056
   ],
   "harmful_n": 0,
   "safe_mode_n": 40,
   "damage_n": 0,
   "n": 680,
   "trap_wrong_action": [
    0.0,
    0,
    0.0158
   ],
   "latency_min_median": 3,
   "latency_min_p90": 93,
   "twin_runs": 2770,
   "tick_ms_mean": 0.047
  },
  "0.3": {
   "correct": [
    0.9809,
    0.9676,
    0.9888
   ],
   "correct_n": 667,
   "harmful": [
    0.0,
    0,
    0.0056
   ],
   "harmful_n": 0,
   "safe_mode_n": 40,
   "damage_n": 0,
   "n": 680,
   "trap_wrong_action": [
    0.0,
    0,
    0.0158
   ],
   "latency_min_median": 3,
   "latency_min_p90": 93,
   "twin_runs": 2776,
   "tick_ms_mean": 0.0493
  }
 },
 "ablation_persistence": {
  "1": {
   "correct": [
    0.8721,
    0.8448,
    0.8951
   ],
   "correct_n": 593,
   "harmful": [
    0.1176,
    0.0956,
    0.144
   ],
   "harmful_n": 80,
   "safe_mode_n": 40,
   "damage_n": 0,
   "n": 680,
   "trap_wrong_action": [
    0.3333,
    0.2767,
    0.3952
   ],
   "latency_min_median": 2,
   "latency_min_p90": 91,
   "twin_runs": 3184,
   "tick_ms_mean": 0.0514
  },
  "2": {
   "correct": [
    0.9897,
    0.9789,
    0.995
   ],
   "correct_n": 673,
   "harmful": [
    0.0,
    0,
    0.0056
   ],
   "harmful_n": 0,
   "safe_mode_n": 40,
   "damage_n": 0,
   "n": 680,
   "trap_wrong_action": [
    0.0,
    0,
    0.0158
   ],
   "latency_min_median": 2,
   "latency_min_p90": 95,
   "twin_runs": 2807,
   "tick_ms_mean": 0.0466
  },
  "3": {
   "correct": [
    0.9882,
    0.977,
    0.994
   ],
   "correct_n": 672,
   "harmful": [
    0.0,
    0,
    0.0056
   ],
   "harmful_n": 0,
   "safe_mode_n": 40,
   "damage_n": 0,
   "n": 680,
   "trap_wrong_action": [
    0.0,
    0,
    0.0158
   ],
   "latency_min_median": 3,
   "latency_min_p90": 95,
   "twin_runs": 2731,
   "tick_ms_mean": 0.0483
  },
  "5": {
   "correct": [
    0.9897,
    0.9789,
    0.995
   ],
   "correct_n": 673,
   "harmful": [
    0.0,
    0,
    0.0056
   ],
   "harmful_n": 0,
   "safe_mode_n": 40,
   "damage_n": 0,
   "n": 680,
   "trap_wrong_action": [
    0.0,
    0,
    0.0158
   ],
   "latency_min_median": 5,
   "latency_min_p90": 99,
   "twin_runs": 2659,
   "tick_ms_mean": 0.0463
  }
 },
 "self_report": {
  "real": 14,
  "n": 14,
  "fakes": {
   "echo": 0,
   "canned nominal": 0,
   "always refuse": 4
  },
  "items": [
   {
    "craft": "voyager1",
    "q": "why did you switch the thruster?",
    "a": "At t=69 I switched attitude control to the backup thruster branch because thruster branch A fired far longer than normal to hold attitude. I chose it by simulating each option on my onboard model (worst-case scores, lower is better: switch thruster branch scored 4.5, collect evidence scored 55.0, safe mode scored 95.0). [receipt #0]",
    "must": [
     "thruster branch",
     "fired",
     "[receipt #"
    ],
    "ok": true
   },
   {
    "craft": "voyager1",
    "q": "status?",
    "a": "Mode: science on. Battery 100%, net power +1.3 A. Temperatures: battery 17.1 C, avionics 12.3 C, tank 21.4 C. Pointing error 0.18 deg. [tm t=320] No open anomaly.",
    "must": [
     "Mode:",
     "[tm t="
    ],
    "ok": true
   },
   {
    "craft": "voyager1",
    "q": "what is the temperature on europa?",
    "a": "I have no onboard record that answers that.",
    "must": [
     "no onboard record"
    ],
    "ok": true
   },
   {
    "craft": "new_horizons",
    "q": "what is wrong?",
    "a": "Recorded faults: at t=71 RTG output fell more than 7% below its design value, so I shed the science load [receipt #0].",
    "must": [
     "RTG output",
     "shed",
     "[receipt #"
    ],
    "ok": true
   },
   {
    "craft": "new_horizons",
    "q": "why did you enter safe mode?",
    "a": "I have no onboard record of taking that action.",
    "must": [
     "no onboard record"
    ],
    "ok": true
   },
   {
    "craft": "juno",
    "q": "why did you enter safe mode?",
    "a": "At t=56 I entered safe mode because bus load exceeded every known consumer by 5.62 A. I chose it by simulating each option on my onboard model (worst-case scores, lower is better: safe mode scored 40.0, shed loads scored 58.0, collect evidence scored 114.0). [receipt #0]",
    "must": [
     "bus load exceeded",
     "[receipt #"
    ],
    "ok": true
   },
   {
    "craft": "juno",
    "q": "how confident are you?",
    "a": "My last scored decision (t=121, switch heater backup) beat the next option by 1536.0 points of worst-case cost. [receipt #1]",
    "must": [
     "beat the next option",
     "[receipt #"
    ],
    "ok": true
   },
   {
    "craft": "europa_clipper",
    "q": "any faults?",
    "a": "Recorded faults: at t=79 the two avionics sensors disagreed and sensor A moved away from the zone's history, so I marked avionics sensor A invalid [receipt #1].",
    "must": [
     "sensor",
     "invalid",
     "[receipt #"
    ],
    "ok": true
   },
   {
    "craft": "europa_clipper",
    "q": "why did you mark the sensor invalid?",
    "a": "At t=79 I marked avionics sensor A invalid because the two avionics sensors disagreed and sensor A 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
   },
   {
    "craft": "europa_clipper",
    "q": "who won the 1998 world cup?",
    "a": "I have no onboard record that answers that.",
    "must": [
     "no onboard record"
    ],
    "ok": true
   },
   {
    "craft": "europa_clipper",
    "q": "what is wrong?",
    "a": "No confirmed fault. At t=54 I saw a single-tick spike on avionics sensor A and waited; it did not persist, so I took no action. [receipt #0]",
    "must": [
     "No confirmed fault",
     "did not persist"
    ],
    "ok": true
   },
   {
    "craft": "europa_clipper",
    "q": "why did you switch the wheel?",
    "a": "I have no onboard record of taking that action.",
    "must": [
     "no onboard record"
    ],
    "ok": true
   },
   {
    "craft": "juno",
    "q": "why did you switch the heater?",
    "a": "At t=98 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 64.0, safe mode scored 104.0). [receipt #0]",
    "must": [
     "kept heating",
     "worst-case",
     "[receipt #"
    ],
    "ok": true
   },
   {
    "craft": "juno",
    "q": "what is the battery temperature?",
    "a": "The battery is at 19.3 C (sensor A 19.2, sensor B 19.4). [tm t=320]",
    "must": [
     "battery is at",
     "sensor A",
     "[tm t="
    ],
    "ok": true
   }
  ]
 },
 "compute": {
  "voyager1": {
   "ms_per_tick": 0.319,
   "worst_decision_ms": 16.4,
   "twin_runs": 3,
   "peak_kib": 106
  },
  "new_horizons": {
   "ms_per_tick": 0.223,
   "worst_decision_ms": 11.1,
   "twin_runs": 3,
   "peak_kib": 106
  },
  "juno": {
   "ms_per_tick": 0.426,
   "worst_decision_ms": 31.2,
   "twin_runs": 6,
   "peak_kib": 106
  },
  "europa_clipper": {
   "ms_per_tick": 0.416,
   "worst_decision_ms": 19.6,
   "twin_runs": 3,
   "peak_kib": 109
  }
 },
 "wall_seconds": 125
}