@buzzr/dfs-engine
    Preparing search index...

    Type Alias LegGradingSnapshot

    Frozen audit record written by the settlement watcher when it grades a leg. Used by the reconciliation cron (re-check stat corrections in the last ~30 minutes) and by the user-facing dispute flow (Phase G).

    Why we store this verbatim instead of recomputing: ESPN issues stat corrections after the fact; we want the user to be able to see "we graded this as Lost based on Brunson's 14 pts at 2026-05-04T22:14:11Z" even if the box score later updates.

    type LegGradingSnapshot = {
        actualValue: number | null;
        gameLogEntryDate: string | null;
        gradedAt: string;
        source:
            | "espn-gamelog"
            | "espn-boxscore"
            | "manual-override"
            | "screenshot-trusted";
    }
    Index

    Properties

    actualValue: number | null

    The numeric value used to grade (matches DfsBetLeg.actualValue).

    gameLogEntryDate: string | null

    Date string from the gamelog entry that matched, when relevant.

    gradedAt: string

    When the settlement watcher made this grading decision.

    source:
        | "espn-gamelog"
        | "espn-boxscore"
        | "manual-override"
        | "screenshot-trusted"

    Source of truth for the actual stat value at grading time.