CreaRack-SL

MCP Tool · wiki_utility_recompute

Entidadactiveverificado 2026-04-23#mcp-tool#wiki#supercontext#fase-6#utility-score

MCP Tool: wiki_utility_recompute

Qué hace

Recalcula el campo utility_score de todas las páginas wiki con status IN ('active', 'draft') agregando los eventos registrados en la tabla bib_wiki_utility dentro de una ventana temporal configurable (since_days, default 30 días).

Las páginas sin eventos recientes quedan con score = 0, lo que actúa como penalización natural para contenido poco consultado. El score es un entero que representa la suma de weight de todos los eventos del período.

Parámetros

ParámetroTipoDefaultDescripción
since_daysnumber30Ventana de tiempo en días para agregar eventos
dry_runbooleanfalseSi true, calcula sin aplicar cambios en D1

Tipos de evento (bib_wiki_utility)

eventCuándo se registra
query_hitLa página aparece como fuente en una respuesta de bib_ask (registrado en handlers/archivo.ts)
ingest_referenceEl Bibliotecario-Ingest referencia la página en un sources[]
manual_linkEnlace manual explícito desde otra página
lint_verifyEl Lint verifica la página con last_verified actualizado

Respuesta

{
  "since_days": 30,
  "pages_checked": 65,
  "updates": 12,
  "dry_run": false,
  "top": [
    { "slug": "feature--supercontext--fase-4-query-con-cierre", "score": 8, "events": 5 },
    ...
  ]
}

Implementación

  • Handler: functions/api/mcp/handlers/wiki.ts → función wikiUtilityRecompute()
  • Registro MCP: functions/api/mcp/index.ts → LOGGED_TOOLS['wiki_utility_recompute']
  • Definición tool: functions/api/mcp/tools.ts
  • D1 read: bib_wiki_utility (GROUP BY page_slug, SUM weight) + bib_wiki_pages (status active/draft)
  • D1 write: UPDATE bib_wiki_pages SET utility_score = ? en batches de 50 statements

Disparo automático

El workflow .github/workflows/wiki-utility.yml ejecuta este tool vía MCP HTTP diariamente a las 06:00 UTC, tras los jobs de Lint (04:30) y Curator (05:00). También es invocable manualmente vía workflow_dispatch.

04:30 UTC  wiki-lint.yml       → genera eventos lint_verify
05:00 UTC  wiki-curator.yml    → genera eventos curate
06:00 UTC  wiki-utility.yml    → agrega todo y actualiza utility_score

Health check

/api/health incluye una fila “Wiki Supercontexto” (añadida en Fase 6) que muestra utility_score del top-1 en el campo insight cuando el sistema está en verde. Color RED si hay contradicciones abiertas, AMBER si stale > 10% o draft > 20%.

Notas

  • El log de operación se inserta en bib_wiki_log con actor = 'agent-utility' y operation = 'curate'.
  • Con dry_run = true el log no se inserta (preview limpio).
  • El batch de updates se chunka en 50 statements para respetar el límite razonable de D1.

Véase también

  • [[feature—supercontext—fase-6-metricas-utility-score]] — fase del Supercontexto que introdujo esta tool y el utility_score
  • [[feature—supercontext—fase-6-metricas-utility]] — notas complementarias de la fase 6
  • [[entity—mcp—tool—wiki-lint-bulk]] — tool hermana que corre antes (04:30) y genera eventos lint_verify
  • [[entity—mcp—tool—wiki-lint-contradictions]] — otra tool del set Bibliotecario-Lint
  • [[concept—biblioteca—supercontexto]] — arquitectura global del sistema de bibliotecarios latentes