Supercontexto Fase 6 · Métricas y utility_score
Supercontexto Fase 6 · Métricas y utility_score
Resumen
La Fase 6 es la última fase del roadmap del Supercontexto. Introduce un sistema de métricas de uso para la wiki Supercontexto mediante un utility_score por página, un cron diario que lo recalcula, visibilidad en el health endpoint y un runbook para usar la wiki desde Obsidian.
PR #7 — mergeado 2026-04-22 — commit b18fd13.
Componentes añadidos
1. Tabla bib_wiki_utility (eventos)
Cada vez que una página wiki es consultada, referenciada o verificada, se inserta un evento en bib_wiki_utility:
INSERT INTO bib_wiki_utility (page_slug, event, weight, source)
VALUES (?, 'query_hit', 1.0, ?)
Los tipos de evento son: query_hit, ingest_reference, manual_link, lint_verify.
2. Tool MCP wiki_utility_recompute
Nuevo tool que agrega los eventos de bib_wiki_utility dentro de una ventana configurable since_days (default: 30) y actualiza utility_score en bib_wiki_pages para todas las páginas active/draft.
Detalles operativos:
- Páginas sin eventos recientes → score 0 (penalización natural).
- Actualización vía
db.batch()en chunks de 50 statements (límite D1 seguro). - Parámetro
dry_run=truepara preview sin aplicar. - Registra resultado en
bib_wiki_logconoperation='curate'yactor='agent-utility'.
→ Ver: entity--mcp--tool--wiki-utility-recompute
3. Workflow CI wiki-utility.yml
Cron diario a 06:00 UTC que llama a wiki_utility_recompute vía HTTP MCP. Se ejecuta después de Lint (04:30) y Curator (05:00) para que todos los eventos del día estén contabilizados.
on:
schedule:
- cron: "0 6 * * *"
workflow_dispatch: # también invocable manualmente
4. Health check checkWiki en /api/health
Nueva fila “Wiki Supercontexto” en el dashboard de health. Semáforo basado en:
| Condición | Color |
|---|---|
| Contradicciones abiertas > 0 | 🔴 RED |
Páginas stale > 10% del total | 🟡 AMBER |
Páginas draft > 20% del total | 🟡 AMBER |
| Todo OK + ingest reciente (<48h) | 🟢 GREEN |
Métricas expuestas: total de páginas, distribución por status, contradicciones abiertas/totales, tokens consumidos en 7 días, top slug por utility_score.
5. Registro de query_hit en bib_ask
El handler handlers/archivo.ts ahora detecta si las fuentes devueltas en una respuesta bib_ask son páginas wiki (path que coincide con src/content/wiki/*.md), extrae sus slugs y registra un evento query_hit en bib_wiki_utility. Es fail-silent — no bloquea la respuesta.
6. Runbook Obsidian
Guía para abrir src/content/wiki/ como vault de Obsidian local (lectura offline, graph view, backlinks).
→ Ver: runbook--wiki--obsidian-setup
Diagrama de flujo de métricas
bib_ask()
└─→ query_hit → bib_wiki_utility
↓
wiki-utility.yml (06:00 UTC)
↓
wiki_utility_recompute
↓
bib_wiki_pages.utility_score
↓
/api/health (checkWiki)
Fases del roadmap (referencia)
| Fase | Descripción | Estado |
|---|---|---|
| Fase 1 | Scaffolding wiki Supercontexto + ingest | ✅ |
| Fase 2 | Curator automático | ✅ |
| Fase 3 | Lint + contradicciones | ✅ |
| Fase 4 | Query con cierre (auto-archivado) | ✅ |
| Fase 5 | Backfill histórico | ✅ |
| Fase 6 | Métricas + Obsidian | ✅ Esta fase |
Archivos clave
| Archivo | Cambio |
|---|---|
functions/api/mcp/handlers/wiki.ts | +wikiUtilityRecompute() (~90 LOC) |
functions/api/mcp/handlers/archivo.ts | Registro query_hit en bib_ask (~40 LOC) |
functions/api/health.ts | +checkWiki() (~113 LOC) |
functions/api/mcp/tools.ts | Definición tool MCP |
functions/api/mcp/index.ts | Registro en LOGGED_TOOLS |
.github/workflows/wiki-utility.yml | Workflow cron nuevo (77 LOC) |
src/content/wiki/runbook--wiki--obsidian-setup.md | Runbook nuevo (104 LOC) |
Coste proyectado
| Componente | Coste LLM | Coste D1 |
|---|---|---|
wiki_utility_recompute | 0 | mínimo (batch updates en chunks de 50) |
checkWiki() | 0 | 4 queries × caché 10 min |
query_hit en bib_ask | 0 | 2 subrequests solo si hay fuentes wiki |
| Total Fase 6 | $0 LLM | < $0.01/mes |
Test plan
- Verificar fila “Wiki Supercontexto” en widget Salud del sistema (
/api/health). - Hacer
bib_asksobre tema wiki → verificar inserts enbib_wiki_utility. - Disparar
wiki-utility.ymlmanualmente condry_run=true. - Abrir vault Obsidian según runbook y promover con
/wiki-promote runbook--wiki--obsidian-setup.
Véase también
- [[entity—mcp—tool—wiki-utility-recompute]]
- [[runbook—wiki—obsidian-setup]]
- [[feature—supercontext—fase-4-query-con-cierre]]
- [[concept—biblioteca—supercontexto]]