---
title: Precise bye detection for season-long-inactive and mid-season-traded players
type: task
status: planned
description: >-
  The participation signal resolves a player's team-per-week from player_years_teams, which is built
  from active=TRUE gamelogs only. A player inactive all season (no active row) or traded mid-season
  can misclassify bye vs dnp. Add a roster-backed team-per-week source to make bye detection
  precise.
base_uri: user:task/league/precise-bye-detection-inactive-traded-players.md
created_at: '2026-06-30T18:16:29.858Z'
entity_id: 58e2f329-91e4-4605-a987-9c068da43a45
observations:
  - ████████████████████████████████████████████████
owner_identity_uri: █████████████████████████
priority: Low
public_read: true
tags:
  - user:tag/league-xo-football.md
updated_at: '2026-10-14T14:59:51.509Z'
visibility_analyzed_at: '2026-11-05T23:49:49.802Z'
---

Known-gap follow-up to [[████████████████████████████-████████-████-████-██-████-████████]]. v1 ships three-way (active/bye/blank) where bye is detected via `player_years_teams` (active-gamelog-derived). Edge cases that misclassify: a player dressed-inactive for an entire season (no `player_years_teams` row → bye reads as blank/dnp) and trade boundaries (the conservative rule defaults to dnp).

## Plan

- [ ] Source player team-per-week from a roster table (not active gamelogs only) so all-inactive and traded players resolve their team for bye detection. Verify against a known season-long-IR player and a known mid-season trade.
