Rate bonus-sheet cards in set profiles

Closed
#944 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
48/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
python
Domain
backend

Research direction

Start with _normalize_card_database in draftomen/profile_input_acquisition.py and the profile tests; the issue says metadata is filtered to the set code and profiles use 17Lands-rated grpIds. Add coverage for a synthetic WOT-style card, preserving the set printing's rating and byte-identical output for sets without bonus sheets. After dependency #942 is resolved, run the profile tests and a local refresh-profile-data for WOE; Vampiric Rites should have a non-neutral rating.

Written by the indexing model from the issue text.

Description

bug draftomen size: M

Problem

Set profiles key card ratings by Oracle id, and their card metadata comes from Scryfall filtered to the set code (_normalize_card_database in draftomen/profile_input_acquisition.py). Bonus-sheet cards such as WOT in WOE are printed in another set, so 17Lands ratings for them are dropped. The published WOE profile rates 261 cards, while 17Lands rates 324. Even with #942, live drafts show these cards with the neutral score.

Proposed change

Profile card metadata includes the set's bonus-sheet cards, using the same 17Lands-rated grpIds as the card-data artifact, so their 17Lands ratings reach the profile.

Acceptance Criteria

  • AC1: A profile generated for a set with a bonus sheet contains ratings for its bonus-sheet cards, shown by a test with a synthetic WOT-style card.
  • AC2: A card printed in both the set and the bonus sheet keeps the rating from the set's own printing.
  • AC3: Profiles for sets without a bonus sheet are byte-identical to the current output in tests.
  • AC4: A local refresh-profile-data run for WOE produces a profile that rates Vampiric Rites.
  • AC5: In a live or replayed WOE draft, Vampiric Rites shows a non-neutral score.

Dependencies

Blocked by #942.

Implementation classification

  • Estimated size: M
  • Orchestration risk: Normal
  • Reason: Changes profile metadata acquisition in one subsystem, with profile tests.
Dominant language
Python
Stars
2
Forks
0
Avg merge
5h 14m
Merged PRs (30d)
149

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from andreagrandi/draftomen

All issues in andreagrandi/draftomen

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.