1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
//! `Exit` — the trace-exit vocabulary: the `R` corner of the verdict family
//! (`Step<Ph, Exit>`, ADR-0029) that a stopped fold rides out on. Moved
//! in-crate when the `behavior-reference` crate was retired; it is the
//! core's own vocabulary now, not a shared one.
use crateAddress;
/// How a fold ends. The `R` parameter of the become verdict (`Step<Ph, Exit>`):
/// a `Stop` carries one of these; the driver also mints `Collected` when the
/// mailbox drains with no self-stop.
/// Why a supervisor could no longer preserve its child topology.
/// Why an otherwise eligible replacement set was denied.
///
/// The vocabulary is deliberately exhaustive. Additional restart gates must
/// expose their concrete denial here (or in a future statically composed sum)
/// rather than hiding it behind an open or erased reason type.
/// Why actor execution terminated abnormally.
///
/// The reason value stays with the interpreter: heterogeneous behavior and
/// environment errors, panic payloads, and executor cancellation details are
/// runtime plumbing. Observation carries only the statically known terminal
/// domain. Every variant is abnormal; the distinction is preserved for
/// supervision policy and truthful traces.
///
/// This classification is Bombay policy layered over the actor algebra. It
/// does not add an effect to a behavior transition: interpreters mint a
/// `Crash` only when execution terminates without an [`Exit`].