Documentation
¶
Overview ¶
Package provenance provides field-level tracking of data sources and modifications.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuditResult ¶
type AuditResult struct {
Valid bool
Issues []string
Warnings []string
Coverage float64 // Percentage of fields with provenance
Conflicts int // Number of unresolved conflicts
MissingData []string // Fields without provenance
}
AuditResult contains audit findings.
type Auditor ¶
type Auditor interface {
// Audit checks provenance for completeness and consistency
Audit(provenance Map) *AuditResult
// ValidateAuthority ensures authority scores are valid
ValidateAuthority(provenance Map) []string
// CheckCoverage verifies all required fields have provenance
CheckCoverage(provenance Map, requiredFields []string) []string
}
Auditor validates provenance tracking.
type ConflictInfo ¶
type ConflictInfo struct {
Sources []sources.Type // Sources that had conflicting values
Values []any // The conflicting values
Resolution string // How the conflict was resolved
SelectedSource sources.Type // Which source was selected
}
ConflictInfo describes a conflict that was resolved.
type Field ¶
type Field struct {
Current Provenance // Current value and its source
History []Provenance // Historical values
Conflicts []ConflictInfo // Any conflicts that were resolved
}
Field contains provenance history for a single field.
type Map ¶
type Map map[string][]Provenance // key is "resourceType:resourceID:fieldPath"
Map tracks provenance for multiple resources.
type Provenance ¶
type Provenance struct {
Source sources.Type // Source that provided the value
Field string // Field path
Value any // The actual value
Timestamp time.Time // When the value was set
Authority float64 // Authority score (0.0 to 1.0)
Confidence float64 // Confidence in the value (0.0 to 1.0)
Reason string // Reason for selecting this value
PreviousValue any // Previous value if updated
}
Provenance tracks the origin and history of a field value.
type Report ¶
type Report struct {
Resources map[string]ResourceProvenance // key is "resourceType:resourceID"
}
Report generates a human-readable provenance report.
func GenerateReport ¶
GenerateReport creates a provenance report from a Map.
type ResourceProvenance ¶
type ResourceProvenance struct {
Type sources.ResourceType
ID string
Fields map[string]Field
}
ResourceProvenance contains provenance for a single resource.
type Tracker ¶
type Tracker interface {
// Track records provenance for a field
Track(resourceType sources.ResourceType, resourceID string, field string, history Provenance)
// Find retrieves provenance for a specific field
FindByField(resourceType sources.ResourceType, resourceID string, field string) []Provenance
// FindByResource retrieves all provenance for a resource
FindByResource(resourceType sources.ResourceType, resourceID string) map[string][]Provenance
// Map returns the complete provenance map
Map() Map
// Clear removes all provenance data
Clear()
}
Tracker manages provenance tracking during reconciliation.
func NewTracker ¶
NewTracker creates a new provenance tracker.