Marvelous DB: citas ES via Ollama (alemán pausado)

2026-09-06 · proyecto ~/nef/marvelous

Qué se pidió

Énfasis en traducir al español la “última palabras” del reporte VS (hoy salía en inglés crudo); alemán en pausa.

Cambios

  • data/import-deepl.js: sin DEEPL_API_KEY cae a Ollama local (/api/chat, OLLAMA_MODEL default gemma4, temp 0). Flags nuevos: --langs es[,de] (default solo ES), --ids a,b (dirigido), --universe "Marvel%" activa LIKE para variantes del universo. loreIntro() ahora stripWiki(y) — antes contaminaba las citas.
  • views/battle.handlebars: bloque BATTLE REPORT · DE envuelto en {{!— —}} con nota. La API sigue devolviendo narrative.de (no rompe nothing ni tests).
  • data/lore-translations.json: 10 entradas (Ah Puch 29488, Salo 1011156 + 8 previas). Batch en background: 746 personajes Marvel* → ES (log: /tmp/mdb-translate-marvel.log, ~1 h con gemma4 CPU).

Verificado

  • /api/battle?idA=29488&idB=1011156 → cita de Salo 100% español, sin .
  • npm unit tests: 33/33.
  • Ojo: api.js cachea lore-translations.json AL ARRANQUE — reiniciar el servidor tras cada batch para ver citas nuevas.

Pendiente

  • Cuando termine el batch: commit json + redeploy fly (la app empaqueta data/ en la imagen).
  • DC/no-clasificados: 534 characters con universe=” — pasarles --universe ""? revisar primero de dónde salen.
  • Alemán: cuando se quiera, --langs DE re-usa el mismo pipeline y se descomenta el bloque de la vista.
  • DeepL sigue soportado: si algún día cae un key, se usa solo con existir.