---
title: Swap Tyler Conklin's and Ryan Izzo's ESPN ids
type: task
status: completed
description: >-
  player.espn_player_id is swapped between Tyler Conklin and Ryan Izzo, so the ESPN importer files
  each player's projections under the other; fix the ids and re-attribute the stored rows.
base_uri: user:task/league/swap-tyler-conklin-and-ryan-izzo-espn-ids.md
created_at: '2026-10-29T20:26:52.599Z'
entity_id: 4655d84a-ede6-4a6c-b594-d95011f00889
finished_at: '2026-10-30T00:23:51.892Z'
observations:
  - ████████████████████████████████████████████████
  - ████████████████████████████████████████████████
  - ████████████████████████████████████████████████
owner_identity_uri: █████████████████████████
priority: Medium
public_read: true
relations:
  - relates [[███████████████████████-████-███████████-████-██████-██████-██████████]]
started_at: '2026-10-29T22:38:56.833Z'
tags:
  - user:tag/league-xo-football.md
updated_at: '2026-10-30T00:23:51.892Z'
visibility_analyzed_at: '2026-11-06T00:18:08.166Z'
---

## Problem

`player.espn_player_id` is swapped: `TYLE-CONK-027880` holds 3122920 (ESPN's Ryan Izzo) and `RYAN-IZZO-004768` holds 3915486 (ESPN's Tyler Conklin). The ESPN importer resolves by id first, so Conklin's ESPN projections land under Izzo's pid (17-18 rows a season 2021-2023, 8 in live 2026) and Izzo's under Conklin's. Found 2026-10-29 by the ESPN leak audit.

## Plan

- [x] Swap the two ids, through whatever path owns `espn_player_id` writes. Done 2026-10-29 via `set_player_field_override`, whose overrides now pin both ids.
- [x] Re-attribute or re-import the affected ESPN `projections_index` rows (source 3), then recompute the consensus for the affected player-weeks. Done 2026-10-29: 2026 weeks 1-8 and 2020 weeks 12-13 re-keyed in index and history, Conklin's 2025 week 6 leaked zero line corrected; 2020-2025 consensus and derived tables rebuilt, 2026 weeks 1-7 consensus, baselines, lineups and matchups recomputed.
- [x] Check Conklin's 2023 week 17 gamelog, which reads 0/0/0 on 54 snaps against ESPN's 5 catches for 45 yards. Done 2026-10-29: a separate defect in NFL's own data; esbid 2023122800 files 15 play-stat rows named "T.Conklin" (and 5 `nfl_plays` targets) under Izzo's GSIS id 00-0034439, so the 5/45 sits in an Izzo gamelog.

- [x] Re-attribute the 15 play-stat rows and 5 targets in esbid 2023122800 to Conklin's GSIS id 00-0034270, then regenerate 2023 week 17 gamelogs. A direct correction is durable: the NFL feed carries Conklin's own id (esb CON185250) and our player table now maps it to 00-0034270, so a re-import writes the same value. Done 2026-10-29: 15 play-stat rows and 5 play targets (via `set_play_field_override`) moved to Conklin; Izzo's leftover gamelog, receiving and 177 format gamelog rows and his injury-index row for the game deleted; 2023 week 17 gamelogs, format gamelogs, snaps and 2023 aggregates regenerated. Conklin now reads 5-45 on 5 targets; no league started either player that week.

## Done when

Each player's ESPN rows come from his own ESPN id, and the consensus for those player-weeks is rebuilt.
