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 /DomainReportBuilder.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 'DomainReportBuilder.swift')
| -rw-r--r-- | DomainReportBuilder.swift | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/DomainReportBuilder.swift b/DomainReportBuilder.swift index 7c5a7c0..765ad4f 100644 --- a/DomainReportBuilder.swift +++ b/DomainReportBuilder.swift @@ -3,8 +3,22 @@ import Foundation struct DomainReport: Codable { let domain: String let timestamp: Date + let appVersion: String + let resolverDisplayName: String + let resolverURLString: String + let dataSources: [String] let resultSource: LookupResultSource + let sectionProvenance: [LookupSectionKind: SectionProvenance] + let errorDetails: [LookupSectionKind: InspectionFailure] + let isPartialSnapshot: Bool + let validationIssues: [String] + let auditNote: String? let availability: DomainAvailabilityStatus + let availabilityConfidence: ConfidenceLevel? + let ownershipConfidence: ConfidenceLevel? + let subdomainConfidence: ConfidenceLevel? + let emailConfidence: ConfidenceLevel? + let geolocationConfidence: ConfidenceLevel? let ownership: DomainOwnership? let dns: DNSResultSummary let web: WebResultSummary @@ -71,8 +85,22 @@ struct DomainReportBuilder { return DomainReport( domain: snapshot.domain, timestamp: snapshot.timestamp, + appVersion: snapshot.appVersion, + resolverDisplayName: snapshot.resolverDisplayName, + resolverURLString: snapshot.resolverURLString, + dataSources: snapshot.dataSources, resultSource: snapshot.resultSource, + sectionProvenance: snapshot.provenanceBySection, + errorDetails: snapshot.errorDetails, + isPartialSnapshot: snapshot.isPartialSnapshot, + validationIssues: snapshot.validationIssues, + auditNote: snapshot.note, availability: snapshot.availabilityResult?.status ?? .unknown, + availabilityConfidence: snapshot.availabilityConfidence, + ownershipConfidence: snapshot.ownershipConfidence, + subdomainConfidence: snapshot.subdomainConfidence, + emailConfidence: snapshot.emailSecurityConfidence, + geolocationConfidence: snapshot.geolocationConfidence, ownership: snapshot.ownership, dns: DNSResultSummary( resolverDisplayName: snapshot.resolverDisplayName, |
