claude-memory/graph/workflows/pr-review-paper-dynasty-database39-remove-dead-roster-csv-fi-e4de9d.md

49 lines
2.0 KiB
Markdown

---
id: e4de9df4-6f69-4c05-a9ed-bbdb4c12cf53
type: workflow
title: "PR review: paper-dynasty-database#39 — remove dead roster CSV fields (APPROVED)"
tags: [pr-reviewer, paper-dynasty-database, fastapi, peewee, python, cards-router]
importance: 0.4
confidence: 0.8
created: "2026-03-03T20:49:08.129805+00:00"
updated: "2026-03-03T20:49:08.548777+00:00"
relations:
- target: 0fdd32ea-6b6a-4cd0-aa4b-117184e0c81d
type: RELATED_TO
direction: outgoing
strength: 0.86
edge_id: 87edc056-eb8b-4a39-a648-cae2ce5c3051
- target: b9375a89-6e0f-4722-bca7-f1cd655de81a
type: RELATED_TO
direction: outgoing
strength: 0.86
edge_id: ea0eb03c-b08c-48bf-b7bf-ba0a71e3a737
- target: 1e0e14cd-588f-417d-8fcb-a48a6cca506d
type: RELATED_TO
direction: outgoing
strength: 0.85
edge_id: 3af6c3a5-59eb-4886-9db7-48b71049c396
---
## PR #39: fix: remove dead roster fields from CSV in v1_cards_get_one
**Verdict**: APPROVED (posted as COMMENT — Gitea blocks self-approval)
**Branch**: ai/paper-dynasty-database-37 (AI-authored)
**File**: app/routers_v2/cards.py
### Fix Summary
Removed `roster1`, `roster2`, `roster3` columns from `v1_cards_get_one` CSV output. The `Card` model in `db_engine.py` has no such fields — accessing `this_card.roster1.name` raised `AttributeError` at runtime on every `GET /api/v2/cards/{card_id}?csv=true` request.
### Key Findings
- Fix correct: Card model (db_engine.py:472) only has player/team/pack/value fields
- Bulk of diff is ruff reformatting (single→double quotes) — cosmetic only
- `v1_cards_patch` still accepts roster1_id/roster2_id/roster3_id params that silently no-op (Peewee ignores undeclared field assignments on save()) — dead API surface, not a crash risk
- `this_card.player` in CSV produces Peewee model repr, not player name — pre-existing behavior
### Note on Self-Approval
Gitea blocks self-approval when PR author == reviewer account. Posted as COMMENT with APPROVED verdict text instead.
### Related
- Linked issue #37
- Follow-up: clean up dead roster params from v1_cards_patch signature