You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Make source identity and provenance authoritative from UFCStats ingestion through normalized/raw observations and incremental updates. Stable source IDs must replace name/date-based identity without collapsing rematches or hiding conflicting observations.
Acceptance criteria
Scraped fight records retain fight_id, event_id, red/blue fighter IDs, source URLs, red/blue orientation, and source provenance.
A newly scraped record without fight_id is a hard identity failure; identity_status=legacy_fallback is reserved for genuinely pre-ID historical records and remains visibly warning-level.
IDs, names, result markers, and canonical outcomes (red_win, blue_win, draw, no_contest) remain aligned with the red/blue corners.
Incremental merging is idempotent on stable fight_id and preserves same-card rematches.
Identical stable-ID observations may coalesce deterministically while remaining visible in raw evidence; conflicting observations sharing a stable ID preserve every version and quarantine the conflict.
Source-adapter and incremental-update fixtures cover missing IDs, legacy rows, rematches, repeated input, identical duplicates, and conflicting duplicates.
Parent
What to build
Make source identity and provenance authoritative from UFCStats ingestion through normalized/raw observations and incremental updates. Stable source IDs must replace name/date-based identity without collapsing rematches or hiding conflicting observations.
Acceptance criteria
fight_id,event_id, red/blue fighter IDs, source URLs, red/blue orientation, and source provenance.fight_idis a hard identity failure;identity_status=legacy_fallbackis reserved for genuinely pre-ID historical records and remains visibly warning-level.red_win,blue_win,draw,no_contest) remain aligned with the red/blue corners.fight_idand preserves same-card rematches.Blocked by