Data model
Tag detection rules
The patterns that decide when a card counts as an instance of a concept.
4 columns. Every value below is generated from the provenance registry.
| Field | Type | Source | Updated | Written by |
|---|---|---|---|---|
| concept_name | string | user | on demand | manual |
| The concept this rule detects (FK → game_concepts.name). | ||||
| detection_patterns | Json | null | user | on demand | manual |
| How to recognise the concept mechanically: oracle_regex, keyword_match, type_match, and the oracle_negative / type_negative exclusions that suppress false positives. | ||||
| scryfall_query | string | null | user | on demand | manual |
| Equivalent query in search syntax, kept as a human-readable statement of the same intent. | ||||
| notes | string | null | user | on demand | manual |
| Why the rule is written the way it is — usually the edge case that forced an exclusion. | ||||
TypeScript model
interface tag_detection_rules {
concept_name: string
detection_patterns: Json | null
scryfall_query: string | null
notes: string | null
}