Enum SystemExceptionPolicy
Controls what an unhandled exception thrown by a system means for the rest of the tick. Set via SystemExceptionPolicy; the default is Isolate, which is the behaviour Typhon has always had.
public enum SystemExceptionPolicy
Fields
AbortTickAndStop = 1Strict abort — the first unhandled system exception cancels the remainder of the tick. No system that has not already started is executed (they report TickAborted); systems already running finish normally, since nothing is interrupted mid-body. The subscription output phase is suppressed, so a failed tick is never published. The runtime then enters a terminal failed state — subsequent ticks do not run.
Isolate = 0Fault isolation — the default, and Typhon's behaviour before issue #567. A throwing system is marked failed and its successors are skipped with DependencyFailed, but independent branches keep running and tick-end processing is unaffected. The runtime stays usable.
Remarks
This axis is about cancelling work in progress, not about durability. Under every policy the tick fence and the Unit-of-Work flush run to completion
(rule TP-01a), because SingleVersion writes receive their WAL record at the fence — skipping it would leave un-logged mutations on dirty pages for
the checkpoint thread to persist. Transactions committed by systems that ran before the failure stay committed; a commit is irrevocable (rule
AP-02). See claude/design/Runtime/08-strict-tick-abort.md.