farm_failure.mojo (921B)
1 @fieldwise_init 2 struct FarmInferenceOutcome(Copyable, Movable): 3 var status: String 4 var confirmed_claims: Int 5 var unresolved_claims: Int 6 var reason: String 7 8 9 def farm_inference_failure(reason: String) raises -> FarmInferenceOutcome: 10 if String(reason).strip().byte_length() == 0: 11 raise Error("inference failure requires a reason") 12 return FarmInferenceOutcome( 13 status="failed", 14 confirmed_claims=0, 15 unresolved_claims=1, 16 reason=String(reason), 17 ) 18 19 20 def farm_inference_degraded(reason: String) raises -> FarmInferenceOutcome: 21 if String(reason).strip().byte_length() == 0: 22 raise Error("inference degradation requires a reason") 23 return FarmInferenceOutcome( 24 status="degraded", 25 confirmed_claims=0, 26 unresolved_claims=1, 27 reason=String(reason), 28 ) 29 30 31 def inference_failure_confirms_stock() -> Bool: 32 return False