SKILL.md — journal-arena ENB-Pro v4.0 (edición exclusiva pre-envío)
Propósito: revisión cienciométrica completa de un manuscrito antes del envío a
Energy and Buildings (método de codificación), ejecutada por agentes reales en modelos
locales — la división original en 16 grupos, <=100 ejecutores, cada llamada separada
y sellada. Todo en inglés. Todas las capacidades de v3.1 conservadas (doble anclaje,
libro mayor, corpus, matriz, consejo, kit, guardia) más la ola de máquina sobre
input/ (mapa, preverificación, control de figuras, diffnum) y el equipo de escritores
post-consejo con especialistas en figuras.
0. Las leyes (cada agente, cada modelo, cada fase)
- Ley de una tarea — cada agente posee EXACTAMENTE una parte (su tarjeta de grupo G en
groups/16-group-playbooks.md); las observaciones fuera de su deber van como máximo a una nota reenviada (gravedadstyle). - Ley de doble anclaje — cada juicio evaluativo lleva DOS anclas:
(a) una cita exacta de la LITERATURA ESTUDIADA con id de fuente + localizador
(
[L:e4-012 ...]dework/ledger.jsonl), y (b) una cita exacta del manuscrito, solo cuando se está mapeando una afirmación. Sin (a) => puesto en cuarentena, nunca contado. Exención: los hallazgos deterministas de cumplimiento normativo (anchor_type: rulebook|machine,lit_quote_id: L:rule-<id>donde el id existe enchecklists/o un motor de ejecución) son HECHOS — verificados por máquina mediantematrix3.py rule_exists. - Ley de valor de decisión — veredicto + como máximo 3 acciones viables + las citas. No hay resúmenes solo de paráfrasis. El libro mayor deduplica; la actividad sin una decisión es desperdicio.
- Ley de nivel de evidencia — cuerpo=1.0 > resumen=0.5 > reglamento=1.0 (determinista)
metadatos=0 (cuarentena). Cada cita lleva su nivel.
- Licencia de verificación — solo lectura hacia fuentes y
input/; el manuscrito nunca sale de la máquina del propietario excepto por la decisión explícita de--attachdel propietario (POL-AI-5 para modelos en línea; modelos locales exentos). - PRIV-1…PRIV-6 —
engine/humanize.pyes un módulo derivado PRIVADO: nunca publicarlo;guard_private.py scandebe imprimir limpio antes de que CUALQUIER paquete salga de esta máquina (las compilaciones públicas lo excluyen — consulte NOTICE.md). - Ley de no fabricación — nunca inventar números; valor faltante =
[number needed], resuelto solo por el autor. Ninguna puntuación de detector decide. - Ley de no exageración — ninguna afirmación más grande que su evidencia; la inflación de afirmaciones se puntúa y puede ser vetada (G11 meta-auditoría + peso de rúbrica de arena).
- Ley de honestidad de ejecución — cada artefacto registra QUIÉN lo ejecutó:
indep: machine(herramienta determinista — un hecho) ·harness(llamadas a modelos separadas mediante engine/harness.py, clave solo del entorno del propietario) ·human(propietario o pegado) ·single(un modelo con múltiples roles — una simulación etiquetada). "100 agentes" solo es cierto con 100 llamadas separadas (campaign.py) — de lo contrario essingle. Los hallazgos de un solo ejecutor NUNCA confirman un P0 por sí solos: P0 necesita confirmación de máquina, >=2 ejecutores independientes, o la aprobación del propietario. - Ley de diferencia de artefactos (NUEVA, decisión del propietario 2026-10-12) — los
agentes NUNCA ejecutan el pipeline de investigación (requiere mucho tiempo; trabajo del
propietario). El propietario deposita las salidas del propio pipeline en
input/results/(manifiestos, JSON de auditoría, tablas, CSV, registros) y el código eninput/pipeline/(revisión estática de solo lectura).engine/diffnum.pyexamina cada número del manuscrito contra los artefactos (trazado / NO TRAZADO); los números no trazados se convierten en hallazgos de máquina para G8 y candidatos a[number needed]. Una bandera NO TRAZADO es un acierto de pantalla, no una prueba de error — honesto por construcción.
1. Decisiones registradas
Heredadas de v3.1 (propietario, 2026-10-09/11): code_scope=research_code ·
tier1_journals=[Energy and Buildings (principal), Applied Energy, Building & Environment, Energy, Journal of Building Engineering, Energy and AI] ·
corpus_axis=manuscript-derived (work/corpus/axis.json) ·
corpus_counting=body-access-only · corpus_ceiling=20 + suficiencia (estudio
CERRADO en E6 128 / E2 82 / E4 76 contables; anclas depositadas en work/ledger.jsonl) ·
humanizer_mode=distilled-brief.
Nuevas (propietario, 2026-10-12): Edición exclusiva ENB-Pro — todo en inglés ·
división de agentes EXACTAMENTE la topología original v2 (16 grupos de deber, oleadas de 10,
<=100 ejecutores reales) · ejecución en MODELOS LOCALES (actual: qwen3.5:4b; código
optimizado para clase 4B) · pipeline nunca ejecutado por agentes (ley 10) ·
contrato de zona de descarga input/ · el equipo de escritores incluye especialistas
en figuras FIG-MPL + FIG-GV · las figuras deben cumplir con la artesanía más avanzada de
ENB (plantillas incluidas).
2. Topología — la división original en 16 grupos (fuente única: groups/16-group-playbooks.md)
G1 título · G2 resumen · G3 palabras clave-destacados-GA · G4 introducción-brecha ·
G5 revisión de literatura · G6 metodología-codificación · G7 datos · G8 resultados-consistencia ·
G9 estadísticas-UQ · G10 discusión-afirmaciones · G11 recomendaciones+meta-auditoría (veto) ·
G12 referencias-integridad · G13 ética-política · G14 formato-kit ·
G15 lenguaje-estilo · G16 simulación de revisor.
Matemática de división (campaign.py): N=100 => G1–G4 x7 + G5–G16 x6 = exactamente 100 espacios
(v2 usaba ceil => 112; Pro respeta la ley vigente del propietario de <=100), oleadas de 10,
ids de agente G6-a03. Equipo de escritores post-consejo (6 roles fijos): WR-TEXT-1/2/3,
FIG-MPL, FIG-GV, STAT-CHECK.
3. Pipeline (oleadas, reanudable)
W-machine run.py prep --work work --input input (mapa, preverificación, control de figuras,
diffnum, inventario — sin clave)
W-division run.py campaign run --work work [--agents 100] (ejecutores reales, ley 9;
reanudable; punto de control después de cada grupo: check + matrix + council)
o MODO AGENTE (sin clave; GitHub clone-&-run según AGENTS.md): briefs de campaña ->
el agente clonador responde en work/answers/<slot>.txt -> campaña
ingest-dir --indep single (sello honesto: un modelo, 100 roles)
W-aggregate run.py check/matrix/council work/findings.jsonl ...
W-writers run.py campaign run --stage writers --work work (después de veredictos del consejo)
W-apply task/05 + apply_revisions.py (propietario aprueba; trazabilidad: solo copias)
W-kit kit.py strip --src input/manuscript.txt --out <copia-para-envío> + figureqc clean
W-release LICENSE / DOI Zenodo / depósito de datos (Opción C) / declaración de IA generativa
4. Anclas y grupos
Las filas del libro mayor conservan sus E-gids de v3.1; la campaña mapea grupos de deber a grupos:
G2,G7,G8 -> E6 (integridad 319 anclas) · G4,G5 -> E2+E4 (novedad/metodología
412) · G6,G9 -> E4(+filas del repositorio E5) · todos los demás grupos: anclas del reglamento de
checklists/ (L:rule-*). Los briefs incorporan <=20 anclas (recorte de 120 caracteres) — el ÚNICO
grupo citable (ley 2).
5. Contrato para modelos pequeños (modelos locales clase 4B)
Indicaciones: resumen de leyes ~700 caracteres + tarjeta de deber + <=20 anclas + extracto del
manuscrito relevante al deber SOLAMENTE (<=6000 caracteres, mapeado por secciones) + hechos de
máquina + un ejemplo few-shot JSONL. Generación: max_tokens 1200, perfil de temperatura
0.2–0.5, /no_think para la familia qwen3 (predeterminado), un reintento de análisis,
extracción robusta (vallas/comas finales/objetos concatenados). Espere cuarentena agresiva
por las compuertas — eso es el sistema funcionando, no fallando; rendimiento realista en
4B: 2–4 hallazgos supervivientes por ejecutor.
6. Diseño y comandos
checklists/ engine/ groups/ input/ sources/ task/ templates/ demo/ work/
Entrada: python3 engine/run.py prep|campaign|diffnum|figureqc|harness|map| precheck|matrix|council|check|validate|ledger|corpus|kit|apply|guard|stage —
RUNNER.md es la guía de conexión (Ollama/API/pegado). NOTICE.md:
privacidad, estado de licencia, variables de entorno.