---
title: Give defenders season values and show them in every view in a scoring format
type: task
status: planned
description: >-
  In a format that scores defenders, they still get no season value (no season projection rows for
  a2f8e128) and are hidden by SPA and backtest code that iterates fantasy_positions.
base_uri: user:task/league/show-defenders-in-season-values-and-views.md
created_at: '2026-09-28T22:35:39.418Z'
entity_id: fe03ba7b-9df6-453d-8110-65bd9c404050
owner_identity_uri: █████████████████████████
priority: Low
public_read: true
relations:
  - relates [[████████████████████████-██████████-█████████-██████████]]
tags:
  - user:tag/league-xo-football.md
updated_at: '2026-10-03T03:08:31.524Z'
visibility_analyzed_at: '2026-11-05T23:50:25.280Z'
---

## Problem

**Defenders are priced weekly in a format that scores them, but two surfaces still leave them out.** Found 2026-09-28 closing [[████████████████████████-██████████-█████████-██████████]].

- **No season value.** `scoring_format_player_season_projection_points` has no DL/LB/DB rows for format `a2f8e128` in 2026, so the season board never sees a defender and they get no season `pts_added` or market salary. The valuation code handles them; the season projection rows are missing upstream.
- **Hidden in some views.** These still iterate `fantasy_positions`, so a defender may not appear even in a format that scores him: `app/core/selectors.js:2200`, `app/core/auction/sagas.js:95`, the players reducer position filter at `app/core/players/reducer.js:37`, and the preseason backtest loader at `libs-server/load-preseason-projection-board.mjs:83`.

Neither affects playoff odds.

## Plan

- [ ] **Find why season defender projection rows are absent** for `a2f8e128` — whether Sleeper's season totals are imported and whether the season points generator applies `scored_position_groups` — and fill them.
- [ ] **Key each listed view on `scored_position_groups(league)`** where it has a league in scope, and leave it on `fantasy_positions` where it has none.
- [ ] **Verify** a defender shows a season value and appears in each view in 122's format, and that every non-scoring format is unchanged.
