Volver a la wiki

Tabla D1 `bib_layers` — Capas arquitectónicas del grafo Bibliotecario

Tabla D1 bib_layers

Creada en migration 0033_bib_layers.sql · s79 (22-05-2026, PR#60).

Almacena las capas arquitectónicas semánticas asignadas por Haiku 4.5 a los nodos del grafo de conocimiento Bibliotecario. Coexiste con bib_communities (clustering Louvain topológico) — son complementarias, no excluyentes.


Schema

CREATE TABLE bib_layers (
  id          INTEGER PRIMARY KEY AUTOINCREMENT,
  name        TEXT NOT NULL UNIQUE,         -- "API", "Service", "Data", ...
  description TEXT,                          -- 1 frase, máx 100 chars
  color       TEXT,                          -- Reservado UI (hex / nombre CSS)
  app_scope   TEXT,                          -- NULL = global; "monitoring" = scoped
  node_count  INTEGER DEFAULT 0,             -- Mantenido por bib_assign_layers
  created_at  TEXT DEFAULT (datetime('now')),
  updated_at  TEXT DEFAULT (datetime('now'))
);

CREATE INDEX idx_bib_layers_app_scope ON bib_layers(app_scope);

-- Columna añadida a bib_nodes:
ALTER TABLE bib_nodes ADD COLUMN layer_id INTEGER REFERENCES bib_layers(id) ON DELETE SET NULL;
CREATE INDEX idx_bib_nodes_layer_id ON bib_nodes(layer_id);

Capas típicas esperadas

NombreDescripción
APIHTTP endpoints y handlers de entrada
ServiceLógica de negocio y orquestación
DataPersistencia, modelos, migraciones
UIFrontend, templates, componentes
InfrastructureConfig de despliegue, Workers, D1 setup
UtilityHelpers compartidos, utils
IntegrationServicios externos (Anthropic, GitHub, SNMP…)
ObservabilityMonitoring, logging, métricas

Las capas son generadas y nombradas por Haiku 4.5 en cada run de bib_assign_layers — la tabla puede contener nombres distintos según la ejecución.


Relación con bib_nodes

Cada nodo container (module, js_module, endpoint, model, doc, schema) puede tener un layer_id que apunta a esta tabla. Nodos sin asignación tienen layer_id = NULL.

Los nodos no-container (functions, methods, classes) no se asignan directamente; heredan semánticamente del nodo módulo padre.


Diferencia con bib_communities

Aspectobib_communitiesbib_layers
AlgoritmoLouvain (grafo topológico)Clasificación LLM semántica
NombresNuméricosDescriptivos (castellano técnico)
Granularidad30+ grupos3-10 capas
ActualizaciónAutomática (indexer)Manual (bib_assign_layers)
UsoAnálisis de clustersNavegación arquitectónica, tours

Tools que usan esta tabla

Tool MCPOperación
bib_assign_layersUPSERT layers + UPDATE bib_nodes.layer_id
bib_list_layersSELECT * FROM bib_layers (con sample opcional de nodos)
bib_generate_tourJOIN con bib_nodes para enriquecer contexto del tour

Véase también

Subir