diff --git a/graph/decisions/fullcard-migration-card-layoutpy-ported-to-card-creation-rep-c76233.md b/graph/decisions/fullcard-migration-card-layoutpy-ported-to-card-creation-rep-c76233.md new file mode 100644 index 00000000000..320430f9376 --- /dev/null +++ b/graph/decisions/fullcard-migration-card-layoutpy-ported-to-card-creation-rep-c76233.md @@ -0,0 +1,12 @@ +--- +id: c7623317-ea0a-4b8a-9375-65fc3aac5303 +type: decision +title: "FullCard Migration: card_layout.py ported to card-creation repo" +tags: [paper-dynasty, card-creation, card_layout, fullcard, cardcolumn, migration, architecture] +importance: 0.8 +confidence: 0.8 +created: "2026-02-25T22:26:22.293769+00:00" +updated: "2026-02-25T22:26:22.293769+00:00" +--- + +## Context\nOn branch feature/fullcard-migration, created /mnt/NV2/Development/paper-dynasty/card-creation/card_layout.py.\n\n## What Was Ported\nPorted PlayResult, PLAY_RESULTS, EXACT_CHANCES, get_chances(), CardResult, CardColumn, FullCard, FullBattingCard, FullPitchingCard from database/app/card_creation.py.\n\n## Key Adaptations\n- card_output() uses col_* key names (col_one_2d6, col_one_results, col_one_d20, col_two_2d6, col_two_results, col_two_d20, col_three_2d6, col_three_results, col_three_d20) to match planned DB column names — NOT the database version's one_2d6, two_2d6 etc.\n- get_chances() always returns Decimal(str(val)) to avoid float/Decimal comparison TypeError\n- FullBattingCard and FullPitchingCard do NOT embed a ratings model (no ratings= param) to avoid circular imports; only offense_col and alt_direction are passed