refactor(loader): A3 — unificar loader, eliminar duplicación

El loader vivía partido: arje-brain/loader.rs cargaba EntityCards Y
Rules, mientras brahman-cards tenía su propia infra de card-loading.

Resolución por linaje:
- Card-loading (load_card_file, extract_card_from_json) → brahman-cards
  (entity_loader.rs). Toda card-loading del ecosistema vive ahí.
- Rule-loading (load_rules_file, extract_rules_from_json) → arje-brain-rules
  (loader.rs), junto a la definición de Rule.
- arje-brain/loader.rs eliminado.

arje-brain re-exporta ambos para compat de consumidores (arje-zero).
cargo check --workspace verde. Tests: 13 arje-brain-rules + 31 brahman-cards.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
sergio
2026-05-20 00:28:20 +00:00
parent 848fc7a072
commit 67c0fcad11
9 changed files with 71 additions and 70 deletions
+2
View File
@@ -183,8 +183,10 @@ pub trait CardReader: Send + Sync {
fn read(&self, input: Value) -> Result<Card, CardLoadError>;
}
mod entity_loader;
mod nickel_eval;
mod readers;
pub use entity_loader::{extract_card_from_json, load_card_file};
pub use nickel_eval::{eval_nickel_file, NickelEvalError, BRAHMAN_CARDS_TEMPLATES_ENV};
pub use readers::{EnteJsonReader, MonadJsonReader, UiModuleJsonReader};