From 7b41195620eadd54d25fa98dcd36735cba906ba3 Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Wed, 22 Apr 2026 09:47:24 -0500 Subject: feat(v2.7.0): add provenance, confidence, and reproducibility metadata * add result provenance across major sections * introduce confidence levels for ambiguous outputs * distinguish observed facts from inferred summaries * expand snapshot metadata for reproducibility * improve error classification and partial snapshot handling * include provenance and confidence in export * add local notes for tracked domains and history --- LookupSnapshot.swift | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'LookupSnapshot.swift') diff --git a/LookupSnapshot.swift b/LookupSnapshot.swift index dd1e5f4..f51f546 100644 --- a/LookupSnapshot.swift +++ b/LookupSnapshot.swift @@ -5,8 +5,20 @@ struct LookupSnapshot { let domain: String let timestamp: Date let trackedDomainID: UUID? + let note: String? + let appVersion: String let resolverDisplayName: String let resolverURLString: String + let dataSources: [String] + let provenanceBySection: [LookupSectionKind: SectionProvenance] + let availabilityConfidence: ConfidenceLevel? + let ownershipConfidence: ConfidenceLevel? + let subdomainConfidence: ConfidenceLevel? + let emailSecurityConfidence: ConfidenceLevel? + let geolocationConfidence: ConfidenceLevel? + let errorDetails: [LookupSectionKind: InspectionFailure] + let isPartialSnapshot: Bool + let validationIssues: [String] let totalLookupDurationMs: Int? let dnsSections: [DNSSection] let dnsError: String? @@ -55,8 +67,20 @@ extension HistoryEntry { domain: domain, timestamp: timestamp, trackedDomainID: trackedDomainID, + note: note, + appVersion: appVersion, resolverDisplayName: resolverDisplayName, resolverURLString: resolverURLString, + dataSources: dataSources, + provenanceBySection: provenanceBySection, + availabilityConfidence: availabilityConfidence, + ownershipConfidence: ownershipConfidence, + subdomainConfidence: subdomainConfidence, + emailSecurityConfidence: emailSecurityConfidence, + geolocationConfidence: geolocationConfidence, + errorDetails: errorDetails, + isPartialSnapshot: isPartialSnapshot, + validationIssues: validationIssues, totalLookupDurationMs: totalLookupDurationMs, dnsSections: dnsSections, dnsError: nil, @@ -89,7 +113,7 @@ extension HistoryEntry { portScanResults: portScanResults, portScanError: portScanError, changeSummary: changeSummary, - resultSource: .snapshot, + resultSource: resultSource, cachedSections: [], statusMessage: nil ) -- cgit v1.2.3