claude-memory/graph/workflows/pr-review-paper-dynasty-database48-replace-broad-except-exce-37cca1.md

1.6 KiB

id type title tags importance confidence created updated
37cca1c8-7fbd-43c3-a289-129b1c530f9f workflow PR review: paper-dynasty-database#48 — replace broad except Exception with DoesNotExist (APPROVED)
pr-reviewer
paper-dynasty-database
fastapi
peewee
python
exception-handling
0.4 0.8 2026-03-04T01:18:04.266886+00:00 2026-03-04T01:18:04.266886+00:00

PR #48: fix: replace broad except Exception blocks with DoesNotExist (#15)

Verdict: APPROVED (could not post — Gitea blocks self-reviews on cal-owned repos)

Summary

  • 71 except Exception blocks replaced with except peewee.DoesNotExist across 19 router files in app/routers_v2/
  • DoesNotExist imported into each file from ..db_engine, which re-exports it via from peewee import *
  • Real DB errors now propagate as 500s instead of being swallowed as 404s

Key Findings

  • Correctness: Change is mechanically correct. DoesNotExist is peewee's standard exception for Model.get_by_id() misses.
  • Import validity: db_engine.py line 8 uses from peewee import *, so DoesNotExist is available in that namespace. All 19 import additions are valid.
  • Pre-existing minor issue: A few handlers use except DoesNotExist as e: but don't include e in their log messages (e.g., cards.py v1_cards_wipe_team, results.py get_team_results). Pre-existing, out of scope.
  • No security concerns. No style violations.

Note

Gitea raises "approve your own pull is not allowed" when the reviewer owns the repo. Self-review is blocked at the platform level — this is a known limitation for solo repos.