Package · Library
jw-eval
Red de seguridad doctrinal
Construido en la Fase 22 — la última en ser implementada porque sirve para medir todas las demás. Tres capas independientes: L1 verifica el contrato estructural de cada agente (sin red, sin LLM, bloqueante en CI); L2 valida que cada URL emitida resuelva y respalde su afirmación (snapshot offline + live weekly); L3 compara la respuesta del agente contra una respuesta dorada via sentence-transformers + escalada a Ollama/Claude cuando el score cae en zona ambigua (0.55–0.78). Cada nueva fase debe añadir ≥3 golden cases al merge.
Features
What it does, in detail.
Capa 1 — Estructural
Verifica que cada agente devuelva la forma esperada: tipos de fuente (topic_index, verse_text, etc.), número mínimo de findings, orden de prioridad, presencia de citation_metadata, keywords prohibidas. 100% determinista, sin red, sin LLM. Bloquea CI si <100%.
Capa 2 — Citas
Modo snapshot (siempre activo): HTML congelado en fixtures/wol_snapshots/ valida que las URLs producidas existan y contengan el texto que sustenta la cita. Modo live (cron weekly): re-descarga, compara fingerprint y abre issues de drift automáticamente.
Capa 3 — Semántico
sentence-transformers (paraphrase-multilingual-MiniLM-L12-v2) calcula cosine entre la respuesta del agente y la respuesta dorada. Threshold 0.78 pasa, <0.55 falla, en medio escala a LLM judge (Ollama default / Claude / OpenAI vía env JW_EVAL_LLM).
47 Golden Cases
25 L1 + 13 L2 + 9 L3 cubriendo apologetics, verse_explainer, research_topic, meeting_helper, conversation_assistant, life_topics, study_conductor, news_monitor, student_part_helper, letter_composer. Política: cada nueva fase añade ≥3 al merge.
Integración CI
Tres jobs nuevos: eval-fast (L1+L2 offline, bloquea PRs), eval-l2-live (weekly cron, abre issues de drift), eval-nightly (L1+L2+L3 con Ollama, no bloquea). Reporte markdown + JSON; tool MCP run_eval_suite expuesto para clientes externos.
In practice
Four lines.
Verifiable result.
Correr la suite localmente y filtrar por agente.
# L1+L2 offline (rápido, bloqueante en CI)
uv run jw eval --layer 1,2
# L1+L2+L3 con LLM judge Ollama
JW_EVAL_LLM=ollama uv run jw eval --layer 1,2,3
# Filtrar por agente
uv run jw eval --filter-agent apologetics
# Modo live (red real)
uv run jw eval --layer 2 --live
# Reporte a archivo
uv run jw eval --report md --out report.md Public API
What the module exports.
Resumen de los símbolos principales. La exhaustive reference covers each one with signature, parameters, and examples.
- Suite · GoldenCase · LayerResult · SuiteReport
- evaluate_structural · evaluate_citations · evaluate_semantic
- EmbeddingsJudge · LLMJudge (Ollama/Claude/OpenAI)
- 47 golden cases (L1+L2+L3) · 6 agentes
Other packages
Explore the rest of the monorepo.
jw-core
El núcleo determinístico
jw-cli
Terminal para mortales
jw-mcp
Puente con tu agente
jw-rag
Recuperación híbrida
jw-agents
Orquestación multipaso + agéntica verificable
jw-finetune
Tu modelo, tus datos
jw-gen
Generación con difusión, uso personal
jw-brain
Second-brain + Bible Knowledge Graph
jw-meeting-media
Reunión-en-vivo · clean-room
jw-interp
Interpretabilidad mecanicista tri-modelo
jw-meeting-scheduler
Solver de asignaciones + importer organized-app
jw-legal
BrainDomain plugin: casos legales TJ vs Estado