diff options
| author | Christian Cleberg <[email protected]> | 2026-04-22 09:47:24 -0500 |
|---|---|---|
| committer | Christian Cleberg <[email protected]> | 2026-04-22 09:47:24 -0500 |
| commit | 7b41195620eadd54d25fa98dcd36735cba906ba3 (patch) | |
| tree | 929a791a4c2fd3278f98c17c0ae5476940a01312 /LookupSnapshot.swift | |
| parent | 36ea668d7fc9070770973b0bc329f4319bf43cab (diff) | |
| download | domain-dig-7b41195620eadd54d25fa98dcd36735cba906ba3.tar.gz domain-dig-7b41195620eadd54d25fa98dcd36735cba906ba3.tar.bz2 domain-dig-7b41195620eadd54d25fa98dcd36735cba906ba3.zip | |
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
Diffstat (limited to 'LookupSnapshot.swift')
| -rw-r--r-- | LookupSnapshot.swift | 26 |
1 files changed, 25 insertions, 1 deletions
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 ) |
