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

2.0 KiB

id type title tags importance confidence created updated relations
e4de9df4-6f69-4c05-a9ed-bbdb4c12cf53 workflow PR review: paper-dynasty-database#39 — remove dead roster CSV fields (APPROVED)
pr-reviewer
paper-dynasty-database
fastapi
peewee
python
cards-router
0.4 0.8 2026-03-03T20:49:08.129805+00:00 2026-03-03T20:49:08.548777+00:00
target type direction strength edge_id
0fdd32ea-6b6a-4cd0-aa4b-117184e0c81d RELATED_TO outgoing 0.86 87edc056-eb8b-4a39-a648-cae2ce5c3051
target type direction strength edge_id
b9375a89-6e0f-4722-bca7-f1cd655de81a RELATED_TO outgoing 0.86 ea0eb03c-b08c-48bf-b7bf-ba0a71e3a737
target type direction strength edge_id
1e0e14cd-588f-417d-8fcb-a48a6cca506d RELATED_TO outgoing 0.85 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.

  • Linked issue #37
  • Follow-up: clean up dead roster params from v1_cards_patch signature