---
title: Score D/ST special-teams keys on Sleeper mirror leagues
type: task
status: draft
description: >-
  Sleeper mirrors pay D/ST starters for def_st_fum_rec, st_td, st_fum_rec and st_ff, and the mirror
  adapter claims none of them. Map them at D/ST grain and split return touchdowns between D/ST and
  returner.
base_uri: user:task/league/score-dst-special-teams-keys-on-sleeper-mirrors.md
created_at: '2026-10-25T10:48:01.718Z'
entity_id: 6587992b-e75b-48c0-b1c3-73cbbed20d7d
observations:
  - ████████████████████████████████████████████████
  - ████████████████████████████████████████████████
  - ████████████████████████████████████████████████
owner_identity_uri: █████████████████████████
priority: Medium
public_read: true
relations:
  - >-
    relates
    [[███████████████████████-███-██████-███████-██████-█████████-███-███-████-███-████████]]
tags:
  - user:tag/league-xo-football.md
updated_at: '2026-10-29T09:08:19.265Z'
visibility_analyzed_at: '2026-11-05T23:50:21.688Z'
---

# Score D/ST special-teams keys on Sleeper mirror leagues

## Problem

- **Mirror scoring leaves Sleeper's D/ST special-teams keys unclaimed.** On mirror 138's 2022 and 2023 seasons, `def_st_fum_rec` (13 and 15 starter payments), `st_td`, `st_fum_rec` and `st_ff` pay the D/ST starter and the mirror adapter claims none of them. Measured 2026-10-25 by the predecessor lane; re-measure before planning.
- **The same keys at individual grain DO pay starters.** Sleeper credits `st_fum_rec` and `st_ff` to offensive players covering kicks: Trautman (2022 week 6) and Dissly (2022 week 8) on mirror 138, and about 90–105 player-weeks a season league-wide. The earlier zero-payment reading was wrong. We have no individual special-teams fumble column, so these keys stay unclaimed. Measured 2026-10-29.
- **Return touchdowns need a grain split.** Sleeper's `st_td` maps today at individual grain. A return touchdown scored by a D/ST unit and one scored by a returner are different payments, and the split belongs here.

## Context

- The shared Sleeper mapping lives beside the adapter: `libs-server/external-fantasy-leagues/adapters/` (`sleeper-scoring-settings.mjs`, `sleeper-bonus-rules.mjs`). The corpus mapper that also read it was deleted with the stored corpus partition.
- Spun out of [[███████████████████████-███-██████-███████-██████-█████████-███-███-████-███-████████]], which re-scoped special-teams coverage to mirrors because the corpus has no consumer.
- Seen and unconfirmed: `pass_int_td` was listed unclaimed with starter payments on mirrors 121 (2023) and 128 (2023-2025), although pick-six scoring landed 2026-10-24. The list may predate that change.

## Done when

- **D/ST grain: met 2026-10-29.** Mirror 138's 2022 and 2023 D/ST starters leave no team key unclaimed, and every remaining D/ST miss is Sleeper's own stat-keeping. See the `[review]` observation. The mirror's stored past-season format still predates the adapter fixes, because no past-season config re-sync has run.
- **Individual grain: open.** Sleeper's individual `st_ff` and `st_fum_rec` need individual special-teams fumble columns: derivation, vocabulary, adapter mapping and a backfill. Then mirror 138's 2022 TE starters must match.
