Volver a la wiki

Informe Semanal del Bibliotecario (Supercontexto · Cron 7)

Descripción

El informe semanal del Bibliotecario es el séptimo cron del sistema Supercontexto. Cada domingo a las 08:00 UTC genera un Markdown agregado con el estado del corpus wiki y la actividad de los agentes durante los últimos 7 días, y lo archiva en public/supercontext/reports/.

Implementado en la sesión 22 (F4) del proyecto, este mecanismo cierra el ciclo de observabilidad del Bibliotecario: los agentes Ingest, Curator y Lint ya generan eventos; el informe semanal los consolida en un artefacto legible para el equipo.


Componentes

scripts/generate-weekly-report.py

Script Python stdlib-only (~250 LOC). No añade dependencias al workflow.

Flujo:

  1. Hace GET /api/biblioteca/hot con Authorization: Bearer <MCP_TOKEN> (bypass Cloudflare Access).
  2. Extrae el campo bibliotecario del JSON (agrega bib_wiki_pages + bib_wiki_log + bib_wiki_contradictions).
  3. Construye un Markdown con las secciones: resumen ejecutivo, actividad por agente, última ejecución, detecciones pendientes, top utility score, notas operativas.
  4. Con --write: escribe public/supercontext/reports/weekly--YYYY-MM-DD.md. Sin --write: imprime a stdout (útil para debug local).
  5. Es idempotente: si el archivo ya existe para la fecha, lo sobreescribe.

Estimación de coste: tokens_7d × 0.000003 (~precio Sonnet output). Aproximación rápida, no telemetría exacta.

Indicador de salud:

EstadoCondición
🔴contradictions_open > 0
🟡pending_drafts > 3 o stale_pct > 10 %
🟢Sin ninguna de las anteriores

.github/workflows/wiki-weekly-report.yml

Workflow GitHub Actions que ejecuta el script cada domingo.

schedule: "0 8 * * 0"   # Domingo 08:00 UTC

Orden relativo a otros crons del Bibliotecario:

Patrón aplicado: sesión 20 — checkout sin token: explicit + MCP_TOKEN via secret. El commit de resultado lleva [skip ci] para evitar ciclos.

permissions:
  contents: write

El workflow hace commit y push a main solo si hay cambios en public/supercontext/reports/.

public/supercontext/reports/

Directorio de archivo de informes. Cada informe tiene nombre weekly--YYYY-MM-DD.md.

El primer informe real (weekly--2026-04-24.md) registró:


Fuente de datos: /api/biblioteca/hot

El endpoint devuelve un JSON con el campo bibliotecario que agrega:

CampoDescripción
pages_by_statusConteo de páginas por status (active, draft, stale, archived)
runs_by_operationOperaciones en la ventana de 7 d por tipo (ingest, curate, lint, create, update, archive, query)
last_run_by_operationTimestamp ISO de la última ejecución de cada operación
pending_draftsPáginas en status draft sin actividad reciente
contradictions_openDetecciones del agente Lint sin resolver
tokens_7dTokens totales consumidos en 7 d
actions_24hOperaciones registradas en las últimas 24 h
top_utilityLista de páginas con mayor utility_score
window_daysVentana de agregación (normalmente 7)

Operación

Ejecución manual

# Preview sin escribir (requiere MCP_TOKEN en env)
MCP_TOKEN=xxx python scripts/generate-weekly-report.py

# Generar y escribir informe para hoy
MCP_TOKEN=xxx python scripts/generate-weekly-report.py --write

# Generar para fecha específica
MCP_TOKEN=xxx python scripts/generate-weekly-report.py --write --date 2026-04-24

Trigger manual del workflow

GitHub Actions → Bibliotecario-Weekly-Report → Run workflow.

Revisión de drafts pendientes

Si el informe reporta drafts en 🟡, usar el skill /wiki-review-drafts del Bibliotecario-Curator.


Histórico de informes

FechaPagesOps 24hTokens 7dCoste est.Drafts
2026-04-2492137342.306$1.034

Esta tabla se puede actualizar manualmente al revisar los informes archivados en public/supercontext/reports/.


Véase también

Subir