In software with emergent properties, despite the best efforts to remove faults before execution, there is a high likelihood that faults will occur during runtime. These faults can lead to unacceptable program behavior during execution, even leading to the program terminating unexpectedly. Using a distributed event-driven runtime software-fault monitor to repair faulty states creates an enforceable runtime specification. Using such an architecture would ensure that emergent systems operate within specification, increasing the reliability of such software. Categories and Subject Descriptors D.2.1 [Software Engineering]: Requirements/Specifications; D.2.4 [Software Engineering]: Software/Program Verification; D.2.5 [Software Engineering]: Testing and Debugging Keywords temporal invariants, runtime software-fault monitoring, eventdriven systems, specifications, message broker, rule engine, video games