* feat(issue-80): Phase 1 — add services/forge_card_loader.py * feat(issue-80): Phase 2 — add 5 Forge fields to Card dataclass * feat(issue-80): Phase 3+4 — wire Forge into enrich_card/score_card * feat(issue-80): Phase 5 — add tests/sim/test_forge_enrichment.py * fix(issue-80): resolve PR #81 blocking issues — import paths, indentation, partial Forge fallback - Move forge_card_loader.py from services/ into src/commander_ai_lab/sim/ so the import in rules.py uses a proper intra-package path instead of crossing package boundaries via services.forge_card_loader - Fix indentation of Forge enrichment comment in models.py (8→4 spaces) - Fix enrich_card() early return on partial Forge data: re-check has_real_data after _apply_forge_data so cards with incomplete Forge entries still fall through to known-cards / default heuristics - Fix flawed test assertion in test_etb_via_forge_mode_equals_text_detection: oracle text "draw a card" was adding a +3 spell_draw bonus, making the score comparison invalid; replaced with side-effect-free ETB text Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Code <claude-code@anthropic.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>