Skip to content

Make stable UFCStats identity authoritative end to end #15

Description

@komaksym

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

  • 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.

Blocked by

  • None (can start immediately).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentunplannedValid work, but not scheduled — author is currently time-limited

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions