paper-dynasty-database/app
Cal Corum 7f17c9b9f2 fix: address PR #177 review — move import os to top-level, add audit idempotency guard
- Move `import os` from inside evaluate_game() to module top-level imports
  (lazy imports are only for circular dependency avoidance)
- Add get_or_none idempotency guard before RefractorBoostAudit.create()
  inside db.atomic() to prevent IntegrityError on UNIQUE(card_state, tier)
  constraint in PostgreSQL when apply_tier_boost is called twice for the
  same tier
- Update atomicity test stub to provide card_state/tier attributes for
  the new Peewee expression in the idempotency guard

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 13:16:27 -05:00
..
models refactor: split PlayerSeasonStats into BattingSeasonStats and PitchingSeasonStats 2026-03-17 09:43:22 -05:00
routers_v2 fix: address PR #177 review — move import os to top-level, add audit idempotency guard 2026-03-30 13:16:27 -05:00
seed refactor: rename evolution system to refractor 2026-03-23 13:31:55 -05:00
services fix: address PR #177 review — move import os to top-level, add audit idempotency guard 2026-03-30 13:16:27 -05:00
__init__.py Initial Commit with /current 2023-09-13 14:44:26 -05:00
card_creation.py Update card_creation.py 2024-02-24 21:36:44 -06:00
db_engine.py style: remove redundant parentheses on boost_delta_json declaration 2026-03-30 11:07:19 -05:00
db_helpers.py Fix PostgreSQL upsert column names and CSV null handling 2026-01-30 17:28:40 -06:00
dependencies.py fix: use constant-time comparison for bearer token validation (#8) 2026-03-05 03:43:59 +00:00
main.py refactor: rename evolution system to refractor 2026-03-23 13:31:55 -05:00
player_scouting.py Update player_scouting.py 2023-09-24 19:00:21 -05:00