Arquitectura actual del Juez y evolución prevista hacia una UI multiperfil.
MagicAI separa recuperación, razonamiento, generación y validación. El LLM no consulta fuentes por su cuenta ni actúa como autoridad factual.
HTTP /ask or test harness
│
▼
ConversationManager
│
▼
MagicAI.ask / MagicAI.ask_result
│
├── card disambiguation
├── conversation history
└── active-card references
│
▼
Context Builder
│
├── deterministic intent hints
├── card extraction
├── keyword extraction
├── explicit rule extraction
├── action detection
└── rule query generation
│
▼
Context Enricher
│
├── CardRepository → local Scryfall Oracle
├── RuleRepository → Comprehensive Rules
├── Oracle-derived rule queries
└── Scryfall symbology
│
▼
Knowledge Builder
│
├── QUESTION
├── CARDS
├── SYMBOLS
├── RULES
└── REASONING HINTS
│
▼
Answer Generator
│
├── deterministic Rule Renderer
│ └── final answer when matched
│
└── Ollama when no deterministic answer exists
│
▼
answer validation
│
┌─────┴─────┐
│ │
valid rejected
│ │
│ retry
│ │
│ safe fallback
▼ ▼
final answer
Orquesta una consulta completa. No implementa reglas ni búsqueda directa.
Mantiene historial, cartas activas y estados pendientes de desambiguación. Las sesiones actuales viven en memoria.
Convierte la pregunta en un AssistantContext: intención, cartas, keywords, reglas explícitas, consultas semánticas y pistas de acciones.
Resuelve nombres de cartas, recupera reglas, añade símbolos y prioriza consultas derivadas del Oracle cuando la pregunta trata sobre habilidades.
Definen la frontera de acceso a cartas y reglas. El resto del pipeline no debería depender directamente del formato de los ficheros fuente.
Genera consultas de reglas y conceptos Oracle. Aquí se resuelven muchos fallos de generalización lingüística.
Contiene:
- renderizador determinista de reglas;
- renderizador Oracle;
- validadores de contradicciones y alucinaciones;
- fallback seguro basado en evidencia recuperada.
Cliente de Ollama. El modelo recibe conocimiento preparado, no acceso directo a fuentes ni a Internet.
Oracle recuperado
> reglas recuperadas
> rulings recuperados (futuro contrato formal)
> pistas semánticas
> memoria del modelo, que no es autoridad
Las pistas de razonamiento solo ayudan a interpretar la intención. Nunca sustituyen reglas.
MagicAI utiliza un enfoque híbrido:
- Si la evidencia coincide con una familia formal cubierta, el
rule_renderergenera una respuesta determinista. - Si no existe renderer, Ollama explica el contexto recuperado.
- La respuesta del modelo se valida.
- Si falla, se reintenta con las violaciones detectadas.
- Si sigue fallando, se produce un fallback seguro.
Esto permite aprovechar la flexibilidad lingüística del LLM sin convertirlo en la fuente de verdad.
Unit and contract tests
├── retrieval
├── card extraction
├── renderers
├── validation
└── campaign planning
Fixed quality suites
├── Reddit Gauntlet
├── Generalization Probe
└── Regression Suite
Generated quality suites
├── Dynamic Gauntlet
│ ├── card-backed scenarios
│ └── rules-only scenarios
└── Multiseed Campaign
├── per-seed manifest
├── replayable failures
└── aggregate coverage
El Gauntlet no solo evalúa la respuesta. También conserva la carta elegida, Oracle, tipo, set, legalidad, plantilla y contrato para auditar premisas falsas.
La UI será una única aplicación modular. El Juez será el primer perfil disponible.
MagicAI UI
│
▼
Profile Router
│
├── Judge
│ └── factual authority
│
├── Deck Master
│ ├── deck evaluation
│ ├── game plans
│ ├── mulligans
│ └── matchup strategy
│
└── Deckbuilder
├── build from zero
├── improve a list
├── packages and curve
└── budget and power targets
Evidencia
│
▼
Juez
│ hechos, reglas, Oracle, legalidad e interacciones validadas
▼
Deck Master
│ criterio estratégico validado sobre jugadas y planes de mazo
▼
Deckbuilder
propuestas concretas de construcción y modificación
- Juez: autoridad factual y reglamentaria absoluta.
- Deck Master: autoridad estratégica, siempre subordinada a los hechos del Juez.
- Deckbuilder: motor de propuestas; necesita validación factual del Juez y validación estratégica de Deck Master.
Deck Master y Deckbuilder:
- no consultarán Scryfall directamente;
- no consultarán Comprehensive Rules directamente;
- no usarán Internet para afirmar texto, legalidad o reglas;
- no inventarán interacciones;
- recibirán evidencia factual únicamente mediante el Juez.
Una propuesta del Deckbuilder solo se presentará como validada cuando tenga las dos firmas:
FACTUAL_VALIDATION = Judge
STRATEGIC_VALIDATION = Deck Master
La sesión futura será compartida entre perfiles y conservará un authority_trace para distinguir hechos, recomendaciones y propuestas.
La API conserva answer y session_id, pero ya expone una primera versión estructurada del resultado factual del Juez:
{
"status": "answered",
"origin": "deterministic_rule",
"confidence": "high",
"authority": "judge",
"answer": "...",
"cards": [],
"rules": [],
"rulings": [],
"retrieval_queries": [],
"assumptions": [],
"warnings": [],
"source_versions": {},
"validation_attempts": 0
}Estados previstos:
answered
needs_clarification
insufficient_evidence
strategy_required
false_premise
origin distingue desambiguación, renderizadores deterministas, LLM validado, frontera estratégica y fallback seguro. El contrato será utilizado por:
- la UI;
- Deck Master;
- Deckbuilder;
- tests de integración;
- exportación y auditoría.
- El Juez es la autoridad factual única.
- Los fixes deben ser genéricos, no hardcodes de cartas o preguntas.
- Una premisa falsa invalida un PASS aunque la explicación abstracta sea correcta.
- Las cartas de broma, silver-border, acorn y playtest quedan fuera del flujo estándar.
- La incertidumbre debe expresarse, no rellenarse con memoria del modelo.
- La UI no contendrá conocimiento de Magic; solo presentará perfiles, respuestas y evidencia.
MagicAI separates retrieval, generation and validation. The Judge builds a grounded context from local Oracle data, Comprehensive Rules and conversation state. Deterministic renderers answer covered rule families; Ollama handles the remaining explanations under strict validation and safe fallback rules.
The future UI will host multiple profiles. Deck Master and Deckbuilder will remain strategically creative but will have no direct factual access to card or rules sources. They must request Oracle text, legality, rulings and interaction validation through the Judge.