---
title: Rename keeptradecut_value to crowdsourced_value
type: task
status: draft
description: >-
  Rename the unmarked crowdsourced column on keeptradecut_valuations to crowdsourced_value, so the
  three value series read symmetrically once the tradesourced and blend columns land.
base_uri: user:task/league/rename-keeptradecut-crowd-value-column.md
created_at: '2026-09-19T14:56:34.214Z'
entity_id: ee588aab-70bc-4c20-9e07-ce86c596fc34
owner_identity_uri: █████████████████████████
priority: Low
public_read: true
relations:
  - follows [[███████████████████████-████████████-████████████-███-█████-█████████]]
tags:
  - user:tag/league-xo-football.md
  - user:tag/software-task.md
updated_at: '2026-09-19T14:56:34.214Z'
visibility_analyzed_at: '2026-11-05T23:50:01.830Z'
---

## Context

[[███████████████████████-████████████-████████████-███-█████-█████████]] adds `tradesourced_*` and `blend_*` columns to `keeptradecut_valuations`, leaving `keeptradecut_value` as the only series whose name does not say which series it is — inside a table already called `keeptradecut_valuations`, where the prefix carries no information. From scratch the set would read `crowdsourced_value` / `tradesourced_value` / `blend_value`.

It was excluded from that task deliberately, not overlooked. The ingest work is additive by construction: no key change, no constraint change, no read-site changes, and therefore no coordination between applying DDL and deploying code. A rename breaks deployed code that selects the old name, which reintroduces exactly that coupling. Keeping them separate preserves the ingest path as a zero-risk deploy.

## What this needs

- A deploy window, because the rename and the code that reads the new name must land together.
- Adjudication in `db/gates/renamed-column-consumer-adjudications.json`, whose gate reports every `(table, column, file)` site rather than inheriting a settled verdict.
- A sweep of all eight read sites, the 9 specs that seed the table, and the 28 data-view query fixtures that reference it. Scope those fixtures by CONTENT, not by the `keeptradecut-*` glob, which matches only 21 of them.
- The rank columns raise the same question. `position_rank` and `overall_rank` are equally unmarked; decide whether they become `crowdsourced_position_rank` and `crowdsourced_overall_rank` in the same pass, or the asymmetry simply moves.

## Why it is Draft and Low

Nothing is blocked by the asymmetry — it is a legibility cost paid by future readers, not a correctness one. Worth doing on a day when a deploy window is already open for another reason.
