Volver a la wiki

MCP Handler: bib_mark_verification_pending

Descripción

Handler MCP implementado en functions/api/mcp/handlers/wiki.ts. Forma parte de la Pieza 2B del ADR KB vs Graph Fase 2.

Recibe una lista de rutas de archivos tocadas por un commit y marca como verification_pending=1 todas las páginas wiki active cuyas sources de tipo code apunten a esos paths (o a un directorio padre de los mismos).

Signatura

bib_mark_verification_pending(file_paths: string[], actor?: string) → MarkResult

Parámetros

ParámetroTipoRequeridoDescripción
file_pathsstring[]SíRutas de archivos tocados en el commit. Array vacío devuelve marked: 0.
actorstringNoIdentificador del caller. Default: 'agent-tripwire'.

Respuesta

{
  "ok": true,
  "marked": 3,
  "page_slugs": ["entity--racks--model--rack", "..."],
  "paths_processed": 5,
  "candidates_checked": 42
}

Lógica de matching

Para cada página candidata (status='active', verification_pending=0, sources != '[]'), parsea el campo sources y evalúa cada entrada type='code':

src.ref === fp                                        // coincidencia exacta
src.ref.endsWith('/') && fp.startsWith(src.ref)      // prefijo directorio (trailing slash)
fp.startsWith(`${src.ref}/`)                         // prefijo directorio (sin trailing slash)

Idempotencia y chunking D1

Invocador

Llamado desde trigger_tripwires() en .github/scripts/bib_ingest.py, siempre antes de los tiers Tier 1/2/3 del ingest. El ingest no falla si este handler devuelve error.

Filtros de paths en trigger_tripwires

El llamador (bib_ingest.py) excluye los siguientes prefijos antes de pasar paths al handler:

Diagrama de flujo

commit → bib_ingest.py::trigger_tripwires()
           ↓  filtra paths (excluye wiki .md, scripts bib_, harness, supercontext/)
           ↓
         bib_mark_verification_pending(file_paths)
           ↓
         consulta bib_wiki_pages (active, pending=0, sources≠[])
           ↓  para cada página: compara sources[type=code].ref vs file_paths
           ↓
         UPDATE bib_wiki_pages SET verification_pending=1 WHERE slug IN (...)
           ↓
         INSERT bib_wiki_log (operation='lint')

Véase también

Subir