CreaRack-SL

bib_drift_checks — Tabla D1 de auditoría de drift checks Haiku

Descripción

bib_drift_checks es una tabla D1 (SQLite en Cloudflare) creada en la migración 0024_kind_lifecycle_drift.sql (ADR s61, 2026-05-14). Registra cada ejecución del cron de verificación de drift documental: el proceso en el que Claude Haiku compara el contenido actual de una página wiki con su(s) fuente(s) de código y determina si la página ha quedado obsoleta.

Schema

CREATE TABLE IF NOT EXISTS bib_drift_checks (
    id                   INTEGER  PRIMARY KEY AUTOINCREMENT,
    slug                 TEXT     NOT NULL,
    checked_at           TEXT     NOT NULL DEFAULT (datetime('now')),
    drift_detected       INTEGER  NOT NULL CHECK (drift_detected IN (0, 1)),
    confidence           REAL     NOT NULL,
    summary              TEXT,
    draft_slug_created   TEXT,         -- NULL si confidence <= 0.7 (no se crea draft)
    haiku_input_tokens   INTEGER,
    haiku_output_tokens  INTEGER,
    haiku_cost_usd       REAL,
    FOREIGN KEY (slug) REFERENCES bib_wiki_pages(slug)
);

Columnas

ColumnaTipoDescripción
idINTEGER PK AUTOINCREMENTIdentificador de la ejecución
slugTEXT FK → bib_wiki_pages.slugPágina chequeada
checked_atTEXT (ISO-8601)Timestamp UTC de la ejecución
drift_detectedINTEGER (0/1)1 si Haiku detectó drift significativo
confidenceREALConfianza del modelo (0.0–1.0)
summaryTEXTResumen legible del drift detectado (o NULL)
draft_slug_createdTEXTSlug del draft creado si confidence > 0.7 y drift_detected = 1; NULL en caso contrario
haiku_input_tokensINTEGERTokens de entrada consumidos en la llamada
haiku_output_tokensINTEGERTokens de salida generados
haiku_cost_usdREALCoste estimado en USD de la llamada a Haiku

Índices

CREATE INDEX idx_drift_checks_slug
    ON bib_drift_checks(slug);

CREATE INDEX idx_drift_checks_checked_at
    ON bib_drift_checks(checked_at);

CREATE INDEX idx_drift_checks_drift_detected
    ON bib_drift_checks(drift_detected)
    WHERE drift_detected = 1;   -- índice parcial: solo filas con drift

Flujo de escritura

  1. El cron de drift (ejecutado en CF Workers) selecciona páginas knowledge_base cuyo lifecycle ha superado el umbral (p. ej. refresh-30d + last_verified > 30 días atrás) o cuyo verification_pending = 1.
  2. Para cada página seleccionada, llama a Haiku con el contenido de la página y el diff de sus sources[].
  3. Haiku devuelve drift_detected, confidence y summary.
  4. Si confidence > 0.7 y drift_detected = 1: se crea una página draft y se registra draft_slug_created.
  5. Se inserta una fila en bib_drift_checks con todos los campos.
  6. Se actualiza bib_wiki_pages.verification_pending = 0 para la página.

Consideraciones de coste

El campo haiku_cost_usd permite agregar costes por página (SUM) o por período (GROUP BY strftime('%Y-%m', checked_at)). Haiku (~$0.25/M tokens input) es el modelo seleccionado para este cron por su balance coste/calidad en tareas de comparación de texto.

Migración

Introducida en migrations/0024_kind_lifecycle_drift.sql junto con las columnas kind, lifecycle y verification_pending en bib_wiki_pages.

Véase también

  • [[decision—20260514—knowledge-base-vs-graph]]
  • [[concept—biblioteca—supercontexto]]
  • [[entity—biblioteca—table—bib-wiki-pages]]
  • [[feature—biblioteca—ingest-agent]]
  • [[concept—biblioteca—wiki-lifecycle]]