Skip to content

Existing Data Strategy for Non-Empty DatabasesLegacy vs Recalculated Scoring Truth Model #285

Description

@PhilipWoulfe

Epic D: Legacy vs Recalculated Scoring Truth Model

Summary

Define and implement a clear scoring truth model so migrated data can preserve legacy values while supporting recalculated accuracy with explicit governance and auditability.

Why This Epic

Migration workflows currently need both historical and corrected score views. Without an explicit truth contract, standings, UI totals, and exports can become inconsistent.

Goals

  • Preserve both imported legacy scores and recalculated scores.
  • Define one canonical source for active standings.
  • Add traceable reconciliation and sign-off controls.
  • Ensure exports and API payloads expose score source decisions.

Non-Goals

  • Replacing scoring rule implementation in this phase.
  • Removing legacy score visibility from migration audit surfaces.

User Stories

Story D1: Define canonical scoring truth contract for migrated records

As a product owner, I want a written scoring truth contract so all runtime and review surfaces follow the same rules.

Story D2: Persist legacy imported score alongside recalculated score

As an engineer, I want both score channels persisted so we never lose historical context.

Story D3: Define which score drives standings and UI totals

As an operator, I want one active score source selected for standings so user-visible totals are deterministic.

Story D4: Add reconciliation status and sign-off state machine

As a reviewer, I want reconciliation states and sign-off transitions so activation decisions are auditable.

Story D5: Add operator override/governance path for exceptional legacy handling

As a team lead, I want controlled override paths for edge cases so exceptions are handled without data tampering.

Story D6: Add audit fields and exports that expose both values and chosen truth source

As an auditor, I want exports to include both score values and active source metadata so decisions are defensible.

Definition of Done

  • Dual score channels are persisted and queryable.
  • Active standings source is explicit and consistent across API/UI/exports.
  • Sign-off and override actions are auditable with actor and timestamp metadata.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions