claude-memory/graph/workflows/pr-review-major-domo-database40-raise-httpexception-in-recal-9dc591.md

2.0 KiB

id type title tags importance confidence created updated relations
9dc591ce-c353-4998-889a-40770f77946c workflow PR review: major-domo-database#40 — raise HTTPException in recalculate_standings
pr-reviewer
major-domo-database
fastapi
python
peewee
standings
bug-fix
0.4 0.8 2026-03-03T01:11:07.751846+00:00 2026-03-03T01:11:08.100798+00:00
target type direction strength edge_id
a64fd0a1-cf42-469a-9280-991ab85bbfb2 RELATED_TO outgoing 0.62 87e3335c-2e15-477d-9107-da7de9a43fad
target type direction strength edge_id
bb05e13c-d0dd-422e-a7b2-d5eaa891f0b3 RELATED_TO outgoing 0.6 b878120c-e39a-420f-be4c-4a0ee7af836c
target type direction strength edge_id
01be6857-1bf1-4000-a2b5-29e05053e8e7 RELATED_TO outgoing 0.58 e1c03472-7713-4229-9452-7283c0cd2511

PR Review: major-domo-database#40

Verdict: APPROVED (posted as COMMENT — Gitea blocks self-approval)

Branch: ai/major-domo-database-23main

Key Findings

  1. Primary fix correct (standings.py): Missing raise before HTTPException in recalculate_standings. Without it, error code 69 from Standings.recalculate() was silently swallowed and HTTP 200 returned. One-word fix, unambiguous.

  2. Undocumented secondary fix (stratgame.py): In get_games(), both order_by() calls were not assigned back to all_games. Peewee's order_by() returns a new query (immutable pattern) — so sorting was silently ignored. The PR correctly fixes this with all_games = all_games.order_by(...) but the PR description only mentions standings.py.

  3. Extensive reformatting in both files: single → double quotes, line wrapping. Cosmetic but consistent.

Patterns Noted

  • Peewee ORM: order_by() does NOT mutate — must assign result back
  • FastAPI: HTTPException must be raised — constructing without raising is a silent no-op (Python doesn't warn on this)

Files Reviewed

  • app/routers_v3/standings.py
  • app/routers_v3/stratgame.py