Table of Contents

Enum SystemExceptionPolicy

Namespace
Typhon.Engine
Assembly
Typhon.Engine.dll

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 = 1

Strict 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 = 0

Fault 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.