Resumen
Tool MCP que agrega estadísticas operacionales del pipeline 3-tier del Bibliotecario-Ingest. Permite evaluar la efectividad de los filtros y entender la distribución de costes (token consumption) entre las cuatro categorías de ingesta.
Introducida en commit s90 (28-05-2026) para cubrir observabilidad operacional del Supercontexto.
Categorías del pipeline
El Bibliotecario-Ingest clasifica cada operación de ingesta en uno de estos buckets:
| Categoría | Descripción | Coste típico | Fuente en bib_wiki_log |
|---|---|---|---|
| skip_pre_llm | Rechazado por heurísticas (tipo commit, diff size, paths excluidos) | $0 | actor='agent-ingest' + summary LIKE 'Skip: pre-LLM%' |
| skip_haiku | Triage con Haiku 4.5 decidió no procesar (baja relevancia detectada) | ~$0.01/inv | actor='agent-ingest' + summary LIKE 'Skip: Haiku triage%' |
| process_deep | Invocó el deep model para generar páginas (Haiku desde s84, decisión ADR s77) | $0.05–$0.50/inv | actor='agent-ingest' + sin prefijo “Skip:” |
| reconcile | Actualización de metadata only, sin invocación LLM | $0 | actor='agent-ingest-reconcile' |
Firma de la tool
bib_pipeline_stats(days: number = 7) → {
days: number,
total_ingests: number,
total_tokens: number,
estimated_cost_usd: number,
cost_model_assumption: string,
breakdown: [
{
category: string,
count: number,
pct: number, // porcentaje sobre total_ingests
tokens: number
}
]
}
Parámetros
- days (opcional, default=7): Ventana retrospectiva en días sobre
bib_wiki_log(operation=‘ingest’).
Retorno
- total_ingests: Total de operaciones en la ventana.
- total_tokens: Suma de tokens consumidos (solo en skip_haiku + process_deep; skip_pre_llm y reconcile son $0).
- estimated_cost_usd: Estimación de coste usando precios Haiku 4.5 ($0.80/MTok input + $4/MTok output, asumiendo mix 70/30).
- breakdown: Tabla con count, porcentaje, y tokens por categoría, ordenada desc por count.
Implementación
Ubicada en functions/api/mcp/handlers/wiki.ts::wikiBibPipelineStats() (líneas ~1950–2050).
Lógica principal:
- Query a
bib_wiki_logfiltrandooperation='ingest'en los últimos N días. - Claúsula
CASEsobreactor+ patrones desummarypara clasificar en las 4 categorías. COUNT(*)+SUM(tokens_used)por categoría.- Cálculo de
pcty estimación de coste.
Fuente de datos: tabla D1 bib_wiki_log (misma que registran wiki_log_event(operation="ingest", ...) y wiki_log_event(operation="query", ...) desde otras herramientas).
Casos de uso
- Evaluación de ratio de filtros: Objetivo histórico del Supercontexto es que 80%+ de las ingetas sean skip_pre_llm (costo $0). Si process_deep sube >20%, hay que revisar heurísticas.
- Análisis de costes: Comparar semana a semana; detectar sprints con alta densidad LLM.
- Calibración de thresholds: Si skip_haiku crece, quiere decir Haiku está rechazando más → revisión del presupuesto mental de la arquitectura.
Ejemplo de salida
{
"days": 7,
"total_ingests": 42,
"total_tokens": 18500,
"estimated_cost_usd": 0.42,
"cost_model_assumption": "haiku-4.5 (~$0.80/MTok in + $4/MTok out, 70/30 mix)",
"breakdown": [
{ "category": "skip_pre_llm", "count": 33, "pct": 78.6, "tokens": 0 },
{ "category": "process_deep", "count": 6, "pct": 14.3, "tokens": 18500 },
{ "category": "skip_haiku", "count": 2, "pct": 4.8, "tokens": 0 },
{ "category": "reconcile", "count": 1, "pct": 2.4, "tokens": 0 }
]
}
Registro de cambios
| Versión | Cambio | Fecha |
|---|---|---|
| 1.0 | Introducción en s90 | 2026-05-28 |
Véase también
- [[entity—biblioteca—tool—bib-ask-rejections]]
- [[feature—biblioteca—lint-limit-bump-auto-alert]]
- [[concept—biblioteca—supercontexto]]
- [[entity—biblioteca—tool—wiki-lint-bulk]]
- [[entity—biblioteca—tool—wiki-log-event]]
Referenciado desde
- El cron supercontext de OPS fallaba por un lote de bib_index_chunks que superaba el techo de bge-m3
- Feature: Bump de límite lint (700→2000) + auto-alert en wiki_lint_bulk
- Script de Ingesta bib_ingest_claude_method — Pipeline de Chunking y Embeddings
- Tool MCP bib_ask_rejections — Análisis de rechazos del pre-filter de bib_ask