1use schemars::JsonSchema;
7use serde::{Deserialize, Serialize};
8
9#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
11#[serde(rename_all = "snake_case")]
12pub enum CommitAtomicityV1 {
13 BoundedMultiStep,
14 ExactlyOnce,
15 AtLeastOnce,
16 BestEffort,
17}
18
19#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
21#[serde(rename_all = "snake_case")]
22pub enum RetryOwnerV1 {
23 EffectRuntime,
24 ForgeOrchestration,
25 Verification,
26 Provider,
27 Operator,
28}
29
30#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
32#[serde(rename_all = "snake_case")]
33pub enum CloseMidflightBehaviorV1 {
34 AbortAndEmitReceipt,
35 FailClosed,
36 ContinueObservation,
37 BestEffortCompensation,
38}
39
40#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
42#[serde(rename_all = "snake_case")]
43pub enum EffectClassV1 {
44 ExternalWrite,
45 ExternalRead,
46 ExternalDelete,
47 StateTransition,
48 Compensation,
49}
50
51#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
53#[serde(rename_all = "snake_case")]
54pub enum BlastRadiusCeilingV1 {
55 SingleTenant,
56 SingleService,
57 Regional,
58 Global,
59}
60
61#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
63#[serde(rename_all = "snake_case")]
64pub enum ReversibilityClassV1 {
65 Compensatable,
66 Replayable,
67 Irreversible,
68}
69
70#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
72#[serde(rename_all = "snake_case")]
73pub enum RunModeV1 {
74 Live,
75 Simulated,
76 DryRun,
77 Replay,
78}
79
80#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
82#[serde(rename_all = "snake_case")]
83pub enum PublicationStatusV1 {
84 Required,
85 AdvisoryOnly,
86 Deferred,
87 Suppressed,
88}
89
90#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
92#[serde(rename_all = "snake_case")]
93pub enum CheckResultV1 {
94 Pass,
95 Fail,
96}
97
98#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
100#[serde(rename_all = "snake_case")]
101pub enum BudgetSufficiencyResultV1 {
102 Sufficient,
103 Insufficient,
104}
105
106#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
108#[serde(rename_all = "snake_case")]
109pub enum ExecutionStateV1 {
110 Completed,
111 Partial,
112 Cancelled,
113 TimedOut,
114 Failed,
115 InProgress,
116}
117
118#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
120#[serde(rename_all = "snake_case")]
121pub enum ObservationStateV1 {
122 Complete,
123 InProgress,
124 DriftDetected,
125}
126
127#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
129#[serde(rename_all = "snake_case")]
130pub enum ClosureRecommendationV1 {
131 CloseSuccessfully,
132 OpenCompensation,
133 EscalateReview,
134 ReplayReady,
135}
136
137#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
139#[serde(rename_all = "snake_case")]
140pub enum CompensationClassV1 {
141 StateRestore,
142 LocalRollback,
143 ForwardFix,
144 OperatorRunbook,
145}
146
147#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
149#[serde(rename_all = "snake_case")]
150pub enum ExternalObservationStateV1 {
151 Committed,
152 Pending,
153 RolledBack,
154 Failed,
155}