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:
- Hace
GET /api/biblioteca/hotconAuthorization: Bearer <MCP_TOKEN>(bypass Cloudflare Access). - Extrae el campo
bibliotecariodel JSON (agregabib_wiki_pages+bib_wiki_log+bib_wiki_contradictions). - Construye un Markdown con las secciones: resumen ejecutivo, actividad por agente, última ejecución, detecciones pendientes, top utility score, notas operativas.
- Con
--write: escribepublic/supercontext/reports/weekly--YYYY-MM-DD.md. Sin--write: imprime a stdout (útil para debug local). - 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:
| Estado | Condició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:
- 06:00 UTC — cron Utility Score
- 06:30 UTC — cron Catalog
- 08:00 UTC — cron Weekly Report ← este
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ó:
- 92 páginas (88 active · 4 draft · 0 stale)
- 137 operaciones en 24 h
- 342.306 tokens en 7 d (~$1.03 estimado)
- 4 drafts pendientes de triage
Fuente de datos: /api/biblioteca/hot
El endpoint devuelve un JSON con el campo bibliotecario que agrega:
| Campo | Descripción |
|---|---|
pages_by_status | Conteo de páginas por status (active, draft, stale, archived) |
runs_by_operation | Operaciones en la ventana de 7 d por tipo (ingest, curate, lint, create, update, archive, query) |
last_run_by_operation | Timestamp ISO de la última ejecución de cada operación |
pending_drafts | Páginas en status draft sin actividad reciente |
contradictions_open | Detecciones del agente Lint sin resolver |
tokens_7d | Tokens totales consumidos en 7 d |
actions_24h | Operaciones registradas en las últimas 24 h |
top_utility | Lista de páginas con mayor utility_score |
window_days | Ventana 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
| Fecha | Pages | Ops 24h | Tokens 7d | Coste est. | Drafts |
|---|---|---|---|---|---|
| 2026-04-24 | 92 | 137 | 342.306 | $1.03 | 4 |
Esta tabla se puede actualizar manualmente al revisar los informes archivados en
public/supercontext/reports/.
Véase también
- [[workspace—informes]]