andreagrandi / andreagrandi/draftomen
Card capability schema v2 with structured mechanism parameters
- Langage dominant
- Python
- Étoiles
- 0
- Forks
- 0
- Merge moyen
- 1 h 18 min
- PR mergées (30 j)
- 197
Description
## Problem
Card-capability extraction stores only a coarse role label per capability, so pair compatibility cannot be judged without a model call per pair. This forces ~1117 validation calls per set (HOB), the dominant enrichment cost.
## Proposed change
Extend the capability record with structured fields - action (what the card does), zone (battlefield/graveyard/hand/exile), qualifier (restrictions like nontoken, creature type, mana value) - with prompt, response schema v2, and strict parser validation. Bump the card-capability contract version (invalidates stored card responses; accepted re-pay).
## Acceptance Criteria
- [ ] AC1: Every extracted capability carries non-empty action and zone; parser rejects v2 responses missing them
- [ ] AC2: HOB card re-analysis reproduces the benchmark's card-derived capability set (gate: test_benchmark.py unchanged)
- [ ] AC3: Contract version bump invalidates old stored card work (resume re-pays cards, reuses guide)
- [ ] AC4: Response schema id/name/prompt id versioned as v2 with pinned constants
## Dependencies
None
## Implementation classification
- **Estimated size:** M
- **Orchestration risk:** High
- **Reason:** Public response-contract change across prompt, parser, and store decode.
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Start with test_benchmark.py and trace the prompt, response schema, strict parser validation, and store-decode paths described in the issue. Verify that v2 records require action and zone, the contract constants invalidate stored card work while reusing the guide, and the unchanged benchmark reproduces the expected capability set.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- backend
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- Active
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100