Files
zeekay 1df3ddf6bd Regenerate against the document the deployment answers for
The projection these were generated from predated the compute migration, so
they described /v1/visor — which the API serves at zero paths now.

No /v1/visor path survives here.
2026-09-05 18:55:38 -07:00

41 lines
2.1 KiB
Swift

//
// RiskResolveIn.swift
//
// Generated by openapi-generator
// https://openapi-generator.tech
//
import Foundation
public struct RiskResolveIn: Sendable, Codable, ParameterConvertible, Hashable {
/** Horizon is how many days an event must age before it may be resolved at all, and it is the whole of the no-leakage rule. 120 for the payment lane (past the Visa and Mastercard dispute windows), 14 for signup abuse. Unstated takes 120. */
public var horizon: Int64?
/** Now moves the observation instant BACKWARDS, RFC 3339. It exists so a BACKTEST can resolve labels as the plane stood at a past moment; without it, every backtest would score a model against knowledge that arrived after the decision it is being scored on. An instant after the server clock is refused: a backtest resolves the past, and a future one would declare unmatured events matured and hand a training set negatives for rows whose chargeback has not had time to arrive. */
public var now: String?
/** Subjects are the exact events being judged. Each carries its own event time, because the as-of that keeps the future out is derived from that instant plus the horizon — one as-of over a whole batch would give a January row six extra months of hindsight. One entry per DISTINCT (kind, subject, at): naming an event twice answers once, because an event resolved twice would list its own winner as a contrary claim and would hand a materialiser duplicate training rows. */
public var subjects: [RiskLabelEvent]?
public init(horizon: Int64? = nil, now: String? = nil, subjects: [RiskLabelEvent]? = nil) {
self.horizon = horizon
self.now = now
self.subjects = subjects
}
public enum CodingKeys: String, CodingKey, CaseIterable {
case horizon
case now
case subjects
}
// Encodable protocol methods
public func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encodeIfPresent(horizon, forKey: .horizon)
try container.encodeIfPresent(now, forKey: .now)
try container.encodeIfPresent(subjects, forKey: .subjects)
}
}