mirror of
https://github.com/hanzoai/swift-sdk.git
synced 2026-10-30 18:20:19 +00:00
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.
41 lines
2.1 KiB
Swift
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)
|
|
}
|
|
}
|
|
|