andreagrandi / andreagrandi/draftomen
Support Premier, Traditional, and Pick-Two drafts
- Vorherrschende Sprache
- Python
- Sterne
- 0
- Forks
- 0
- Ø Merge
- 1 Std. 23 Min.
- Gemergte PRs (30 T.)
- 181
Beschreibung
## Problem
Draft Omen currently recognizes only `QuickDraft_*` bot-draft events, models one selected card per pick, and assumes three 14-pick packs and 42 selected cards. Private real-log discovery shows that Premier and Traditional drafts use human-draft messages, while Pick-Two uses 21 logical picks with two selected cards per pick. The app therefore cannot detect, parse, persist, score, replay, audit, or present these formats correctly.
The private corpus contains two verified Premier logs, two verified Pick-Two logs, and one verified Traditional Draft log. Traditional support will use that format-verified sample plus the observed shared human-draft protocol, without asserting unobserved Traditional-specific payload differences.
## Proposed change
Generalize the draft format/rules model, human-draft parser, logical-pick persistence, live scoring context, tools, and both user interfaces. Preserve Quick Draft behavior. Use explicit event metadata for format detection and treat payload shape only as validation/fallback evidence.
Keep every raw `Player.log` private under `.git/private/player-logs/`. Commit only hand-authored synthetic fixtures and schema-level documentation with no player-identifying data or copied raw log excerpts.
Historical context: #4, #6, #10, #22, #115, and #181.
## Plan
1. Detect draft formats and define format rules.
2. Represent and persist multi-card logical picks.
3. Parse human-draft picks and completion.
4. Propagate format through live scoring and ratings.
5. Update replay, audit, and backtest contracts.
6. Present multi-format drafts in TUI and watch mode.
7. Present multi-format drafts in the desktop GUI.
8. Prove all formats through end-to-end regression workflows.
9. Document supported formats and private-log handling.
## Acceptance Criteria
- [ ] Quick, Premier, Traditional, and Pick-Two drafts are detected from event metadata.
- [ ] Premier and Traditional retain one selected card per logical pick.
- [ ] Pick-Two retains both selected cards in one logical pick and uses 21-pick progression.
- [ ] Unknown, incomplete, and truncated human-draft messages do not crash the live workflow.
- [ ] Format-specific ratings/progress reach the live session and user-facing adapters.
- [ ] Replay, audit, backtest, TUI/watch, and Qt/QML handle the generalized contracts.
- [ ] Existing Quick Draft behavior remains covered and unchanged.
- [ ] Automated synthetic fixtures cover all four formats, and local end-to-end checks exercise the private real logs.
- [ ] No raw `Player.log`, player identifier, or wholesale raw-log excerpt is published to GitHub.
- [ ] All native child issues are merged and closed, then the epic is audited against these criteria before closure.
## Scope notes
No Sealed, Cube, constructed Standard, Arena input automation, OCR, gameplay automation, or combinatorial two-card recommendation optimizer. Pick-Two may rank the available cards individually; pair-optimization is separate product work.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Bewertung
Dieses Issue wurde noch nicht bewertet.