Paper Dynasty Database - PostgreSQL database service
Go to file
Cal Corum 0f969da206 feat: WP-08 evaluate endpoint and evolution evaluator service (#73)
Closes #73

Adds POST /api/v2/evolution/cards/{card_id}/evaluate — force-recalculates
a card's evolution state from career totals (SUM across all
player_season_stats rows for the player-team pair).

Changes:
- app/services/evolution_evaluator.py: evaluate_card() function that
  aggregates career stats, delegates to formula engine for value/tier
  computation, updates evolution_card_state with no-regression guarantee
- app/routers_v2/evolution.py: POST /cards/{card_id}/evaluate endpoint
  plus existing GET /tracks and GET /tracks/{id} endpoints (WP-06)
- tests/test_evolution_evaluator.py: 15 unit tests covering tier
  assignment, advancement, partial progress, idempotency, fully evolved,
  no regression, multi-season aggregation, missing state error, and
  return shape
- tests/__init__.py, tests/conftest.py: shared test infrastructure

All 15 tests pass. Models and formula engine are lazily imported so
this module is safely importable before WP-01/WP-05/WP-07/WP-09 merge.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-13 03:08:37 -05:00
.gitea/workflows ci: Use docker-tags composite action for multi-channel release support 2026-03-05 15:40:06 -06:00
app feat: WP-08 evaluate endpoint and evolution evaluator service (#73) 2026-03-13 03:08:37 -05:00
docs Remove deprecated legacy files and reorganize documentation 2026-02-05 13:34:09 -06:00
migrations fix: refactor Roster from 26 FK columns to RosterSlot junction table (#29) 2026-03-05 15:34:39 -06:00
scripts Add production deployment config and fix stringified list parsing 2026-01-30 14:03:07 -06:00
storage/templates Add missing card templates for PostgreSQL deployment 2026-02-01 19:18:04 -06:00
tests feat: WP-08 evaluate endpoint and evolution evaluator service (#73) 2026-03-13 03:08:37 -05:00
.dockerignore Add .dockerignore 2026-01-30 22:47:07 -06:00
.env fix: correct inverted TESTING env check and leading space in .env (#23) 2026-03-03 21:43:54 +00:00
.env.example CLAUDE: Add .env.example with comprehensive configuration guide 2025-11-07 11:53:23 -06:00
.gitignore ci: Use Gitea API for tag creation to avoid branch protection issues 2026-02-17 17:23:21 -06:00
CLAUDE.md docs: add next-release branch workflow to CLAUDE.md 2026-03-03 10:56:03 -06:00
compose.production.yml Add production deployment config and fix stringified list parsing 2026-01-30 14:03:07 -06:00
docker-compose.yml CLAUDE: Comment out API service - prevents race condition in db_engine.py 2025-11-07 14:07:13 -06:00
Dockerfile chore: pin all Python dependency versions in requirements.txt (#64) 2026-03-10 01:35:31 -05:00
LICENSE Initial commit 2023-02-19 21:38:07 -06:00
requirements.txt chore: pin all Python dependency versions in requirements.txt (#64) 2026-03-10 01:35:31 -05:00
VERSION Bump version to 1.5.5 2026-02-04 08:48:12 -06:00