MTG Copilot Docs
Data model

Game concepts

The curated vocabulary the AI reasons over: rules glossary terms plus concepts we added.

9 columns. Every value below is generated from the provenance registry.

FieldTypeSourceUpdatedWritten by
namestringwotcon demandscripts/seed-rules.ts (glossary)
Concept name. Primary key, and the value every association and detection rule joins on.
definitionstringwotcon demandscripts/seed-rules.ts (glossary)
What the concept means — the glossary entry for imported concepts, written by us for community ones.
categorystringuseron demandmanual
Grouping used by the reference pages and the AI prompt: keyword_ability, synergy_theme, functional_role, zone, general, …
sourcestringuseron demandmanual
'official' for concepts imported from the rules glossary, 'community' for ones we added.
taggablebooleanuseron demandmanual
Whether this concept is used to classify cards. Most concepts are reference-only; a curated subset drives tagging.
labelstring | nulluseron demandmanual
Display name for the reference pages, where the raw concept name reads awkwardly.
rule_referencesstring[] | nullwotcon demandscripts/seed-rules.ts (glossary)
Rule numbers the glossary entry points to.
wiki_summarystring | nullwikion demandscripts/seed-wiki.ts
Longer plain-language summary from the MTG Fandom wiki. Currently unpopulated — the script exists but has not been run against this table.
embeddingstring | nullaion demandscripts/embed-taxonomy.ts
Voyage voyage-3 embedding of name + definition, truncated to 256d. Powers vector classification. [ADR 0008]

TypeScript model

interface game_concepts {
  name:            string
  definition:      string
  category:        string
  source:          string
  taggable:        boolean
  label:           string | null
  rule_references: string[] | null
  wiki_summary:    string | null
  embedding:       string | null
}

On this page