Every fault spawns with two independent numbers: a severity (1–3, how alarming it looks — size and colour on screen scale with it) and a time-to-critical deadline drawn separately, so a big scary-looking fault can easily have more time to spare than a small quiet one. Your crew can only work one fault at a time each; the moment a fault's deadline reaches zero while nobody is fixing it, it goes critical — station integrity takes a hit proportional to its severity, and the fault cannot be recovered.
Manual mode lets you click any pending fault to dispatch your next free crew member to it — try picking the largest/reddest fault first and watch smaller ones expire behind it. Severity-first auto-triage always sends free crew to whatever looks worst, exactly the naive instinct. Deadline-first implements Earliest-Deadline-First (EDF) scheduling — real-time systems theory's optimal strategy when every job must finish before its own deadline:
assign(free_crew) → argmin(time_to_critical) over all pending faults
fault fails ⇔ time_to_critical reaches 0 before repair_progress ≥ repair_time
- Crew size — how many faults can be repaired simultaneously; more crew buys slack but real stations run lean.
- Fault arrival rate — how often new simultaneous faults spawn; higher rates create genuine multi-fault pileups that force real trade-offs.
- Triage mode — switch mid-run to compare strategies directly against the same pressure.
Real-world relevance: this mirrors how ISS flight controllers and onboard FDIR (Fault Detection, Isolation and Recovery) software rank simultaneous caution-and-warning alarms — deadline, not alarm volume, decides who gets fixed first.