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

    Type Alias DfsMidGameDnpEntry

    Bet-level UI signal for legs requiring user attention. Phase E.mid populates midGameDnp from the live watcher; the verify card on bet detail surfaces a row per entry whose dismissedAt is null.

    Linkage-issue legs (ambiguous / unmatched player resolution) are NOT carried here — the verify card derives them from leg.linkage at read time, single source of truth.

    Stored as bets.pending_verification jsonb. NULL until first flag.

    type DfsMidGameDnpEntry = {
        dismissedAt: string | null;
        flaggedAt: string;
        legId: string;
        severity: "hard" | "soft";
    }
    Index

    Properties

    dismissedAt: string | null

    ISO when the user explicitly dismissed the prompt. Watcher leaves dismissed entries alone unless severity escalates from soft to hard (the situation got materially worse — re-prompt is justified). NULL while the prompt is still actionable.

    flaggedAt: string

    ISO; refreshes when the entry's severity changes (soft → hard).

    legId: string
    severity: "hard" | "soft"

    'hard' = past Q1 with 0 minutes; 'soft' = Q4 with <5 minutes.