Files
zeekay 0c2f028a8c Generate the Swift client, which this copy did not carry
The forge tree held the package scaffolding and none of the generated sources —
2,435 files of APIs, Models and Infrastructure, including BaseAPI, were simply
absent, so anything depending on this copy had a package that compiled to
nothing usable.

Generated from the current API document rather than reconciled with the other
copy: a client is a function of the spec, so regenerating answers "which history
wins" without anyone having to choose. .spec-lock records which document, so the
next reader can tell.
2026-08-23 10:04:41 -07:00

89 lines
5.6 KiB
Swift

//
// RiskResolved.swift
//
// Generated by openapi-generator
// https://openapi-generator.tech
//
import Foundation
public struct RiskResolved: Sendable, Codable, ParameterConvertible, Hashable {
/** AsOf is the instant this answer was true at: the event time plus the horizon. Nothing seen after it was visible to this resolution. */
public var asOf: String?
/** At is the event's instant, RFC 3339, echoed. It is what the horizon is measured from, so At plus the horizon is AsOf. */
public var at: String?
/** By is the identity that filed the WINNING assertion, `<home org>/<user>`, stamped server-side from the validated principal at the write and never taken from a body — an attribution the caller chose is not attribution. It is the winner's alone; every losing assertion keeps its own and is returned whole in Conflicts. */
public var by: String?
/** Confidence is the winning assertion's own confidence in [0,1], zero when its filer stated none. It is reported because it is a term of the rule that picked the winner, and it is the weakest term but one: it breaks a tie inside one rank and never lifts a weak source above a strong one. */
public var confidence: Double?
/** Conflicts is every other visible assertion, strongest first, whole. They are kept and returned rather than dropped, so an adverse action can show that the plane knew of a contrary claim and say why it lost. They are horizon-filtered exactly like the winner: an assertion that was not knowable yet cannot even be named here, because naming it would leak its existence into a past decision. */
public var conflicts: [RiskLabelRecord]?
/** Contested is true when a visible assertion claimed a DIFFERENT disposition. Two sources agreeing is corroboration, not conflict. */
public var contested: Bool?
/** Disposition is the claim IN FORCE at AsOf: productive, unproductive, or the empty string for an explicit unjudged. It is the winning assertion's own claim, never a vote or an average — an average of two adjudications is a third claim nobody made. A matured event nobody judged is not answered here at all; it is counted in Unlabelled, because manufacturing a negative there is how a fraud model comes to describe the incumbent block list. */
public var disposition: String?
/** Evidence is the winning assertion's pointer to the record behind it — the dispute, case or decision id it was filed with, opaque and verbatim. It travels with the answer so an adverse action can name what judged the subject without a second read. */
public var evidence: String?
/** ID is the winning assertion's content digest, so this answer traces to the exact record it came from — and that record can be placed under litigation hold by naming this id. */
public var id: String?
/** Kind is the judged entity's type, echoed from the event that was named. With Subject and At it is how a caller joins this answer back onto the training row or the decision it asked about. */
public var kind: String?
/** Source is who filed the winning assertion, and it is the PRIMARY term of the rule that picked it. Sources rank by adjudication weight — chargeoff, dispute, case, refund, review, sample, strongest first — and only inside one rank do the tie-breaks run, in order: the assertion that became KNOWABLE latest, then the higher confidence, then the lower id. The vocabulary op publishes that order from the same declaration the resolver reads, so a caller holding a contested answer can reproduce it. */
public var source: String?
/** Subject is the entity id, echoed from the event that was named — the tenant's own key, returned verbatim. */
public var subject: String?
public init(asOf: String? = nil, at: String? = nil, by: String? = nil, confidence: Double? = nil, conflicts: [RiskLabelRecord]? = nil, contested: Bool? = nil, disposition: String? = nil, evidence: String? = nil, id: String? = nil, kind: String? = nil, source: String? = nil, subject: String? = nil) {
self.asOf = asOf
self.at = at
self.by = by
self.confidence = confidence
self.conflicts = conflicts
self.contested = contested
self.disposition = disposition
self.evidence = evidence
self.id = id
self.kind = kind
self.source = source
self.subject = subject
}
public enum CodingKeys: String, CodingKey, CaseIterable {
case asOf
case at
case by
case confidence
case conflicts
case contested
case disposition
case evidence
case id
case kind
case source
case subject
}
// Encodable protocol methods
public func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encodeIfPresent(asOf, forKey: .asOf)
try container.encodeIfPresent(at, forKey: .at)
try container.encodeIfPresent(by, forKey: .by)
try container.encodeIfPresent(confidence, forKey: .confidence)
try container.encodeIfPresent(conflicts, forKey: .conflicts)
try container.encodeIfPresent(contested, forKey: .contested)
try container.encodeIfPresent(disposition, forKey: .disposition)
try container.encodeIfPresent(evidence, forKey: .evidence)
try container.encodeIfPresent(id, forKey: .id)
try container.encodeIfPresent(kind, forKey: .kind)
try container.encodeIfPresent(source, forKey: .source)
try container.encodeIfPresent(subject, forKey: .subject)
}
}
@available(iOS 13, tvOS 13, watchOS 6, macOS 10.15, *)
extension RiskResolved: Identifiable {}