6.7.1 Introduction
Reconciliation decides what really happened when sources overlap or disagree. The same calving can reach us from two feeds and the same animal can carry two identifiers: versioned rules link them, choose the most reliable values and raise data issues instead of asking a person to decide.
6.7.1.1 Model notes¶
Evidence and resolution¶
The same real fact can reach us several times: re-sent (1), through two channels (2), from two systems or typed twice (3), and the same animal can carry several identifiers (4). Rules:
- Evidence is never overwritten or deleted. Every feed's record stays as it arrived (CanonicalObservation, CanonicalEvent).
- Facts are resolved on top of the evidence by versioned rules (ReconciliationRuleSet), and can always be re-run from the evidence.
- The system decides everything; there is no human review step. When a rule decides with a doubt, or values conflict, the most reliable source wins (SourceReliability) and a DataIssue tells the farm what to fix at the source. A winning value is the best available, not verified truth.
- Disputed facts: official submissions (OfficialSubmission) use the winning value and the DataIssue stays open; resolved facts with status
linked_with_doubt,conflict_resolvedor unresolved are never used as training labels (ModelRun). - Corrections are made at the source and reach us through synchronisation (SyncRun): added, changed and removed records. In our app only data of the Organization's own feeds can be edited (capability
farm.animal_records.edit_own). - Animals are never merged by similarity. Identical scheme-qualified identifiers after normalization are linked automatically, and only without incompatible identity evidence.
Measured on Bondioli (DairyComp + SiAlleva, 2016-2026): about 1.4% of resolved events carry a DataIssue. Windows are draft tolerances: each rule set is checked offline on a sample of its automatic links before it is used (ReconciliationRuleSet).
6.7.1.2 Diagram¶
Entities of this domain, their subtypes and the references between them. References to other domains are listed on each entity page.
6.7.1.3 Entities¶
- ResolvedEvent: One real fact, supported by one or more canonical events from different feeds.
- EventEvidence: Links a canonical event to the resolved event it supports, with its role and the groups of attributes whose values it provides.
- AnimalLink: Records that two animal records are the same animal.
- DataIssue: A doubt, conflict or blocked publication found by the system, with what the system decided meanwhile and where the farm should fix the data.
- ReconciliationRuleSet: A versioned set of matching and identifier rules, together with the version of the resolver code that applies them.
- SourceReliability: A versioned preference between sources for an event or observation type and an attribute group, with optional farm exceptions and tolerances.