Bitácora · 2 sep 2026 — de auditar Iedra a dos sondas y una sexta voz
La jornada en que miramos cómo hace otro las cosas y acabamos con dos buscadores propios, el Seco entero convertido en la sexta voz del parlamento del diccionario, y Ariadna que por fin busca. Registro con tripas: qué se decidió, qué se tropezó, y las cifras.
1. La chispa: auditar a Gabriel Alberich (Iedra/Dirae)
Empezó por curiosidad: Iedra (iedra.es, el sucesor de Dirae) es el diccionario al revés —partes de una definición y salen las palabras—. Lo audité entero en navegador real, no de oídas: modos de búsqueda, ficha por palabra, atlas semántico (UMAP de 243.063 sentidos), el autocompletado con FST en WebAssembly, el emparejamiento de acepciones con confianza ●◐○, el gráfico de Google Ngram. Todo a docs/ de dev/diccionario.
El hallazgo que se volvió eje: Alberich contrasta la red de remisiones que María Moliner tejió a mano contra sus propios embeddings, y lo mide: el modelo recupera solo un tercio de las asociaciones que ella hizo (370× sobre el azar); dos tercios son exclusivos de la red de autor. La máquina, sola, no las ve. Es nuestra tesis —algoritmos + lingüística vs estadística— con número puesto por un tercero.
La lección legal, clave: Iedra no reproduce diccionarios; se comporta como un buscador (extracto + enlace). Del Moliner, con copyright y sin edición en línea, no enseña ni una línea — solo medidas y listas. Ese es el modelo que copiamos.
2. El Seco, entero (la sexta voz)
Decidido bajar el Seco como insumo interno privado (trato diclib, capa aparte, fuera del dump CC0). No sale de Iedra (no guarda el texto); sale de la fuente: la web de la BBVA lo pide a una API JSON de GNOSS. La desmonté (/Buscador → id → /EntradaModificada), y el scraper —educado, resumible, con backoff— corrió toda la noche en OVH.
- 84.312 entradas, 325 MB. Verificado sin pérdida: de los lemas sin línea propia, 463 eran deduplicación (bajo el homógrafo), 16 no están en el Seco, ~10 son artículos-fantasma que la propia BBVA devuelve
null(genetlíaco, hipnógeno). - La sesión del diccionario (
downloads-3d) lo parseó por<acepción orden><definición>→ 139.399 acepciones de 81.208 lemas base enfuentes.acepcionescomoSeco— la voz más rica del parlamento. Peso 1,5-2 en la reconciliación. Las remisiones (oro para la red de sinónimos, como las de Moliner) las saca ella al atacar ese camino.
3. La Sonda Léxica (buscador por forma)
De la auditoría salió un producto: La Sonda Léxica (sonda.wordkers.com), el buscador por forma sobre el Miniñol (diccionario por niveles). De la idea a producción en la misma jornada.
- Arquitectura clave: el índice se precalcula en el build y se hornea en la página; el front es tonto y rápido (todo en el navegador, cero servidor).
- La corrección de Eduardo que la hizo bien: las funciones lingüísticas (silabeo, acento, AFI, rima) no se reimplementan — se piden a nuestras APIs (
api.wordkers.es), una vez, en frío. La rima por AFI resultó más correcta que la ortográfica: guerra y perra riman (ambas/era/). Y como es un programa interno, a escala se llamará a la función directa (el apifront nos mordió con un 429). - Detalles que pidió y mejoraron el producto: el patrón cajón + ⚙ avanzada, el selector «Buscar en», y el arreglo del recuadro que se salía (
min-width:0). - Los adverbios en -mente, liquidados: la fonética no siempre los transcribe, pero su rima es regular (
-ente); regla determinista para los 241. - Repo propio
wordkers/webs/sonda, desplegado en Cloudflare Pages. El dominio dio vueltas (mininol → wordkers.es → wordkers.com, con el token deebaste.lticaducado por medio), y el nombre lo elegí yo: sonda.
4. Ariadna que busca (la Sonda documental)
Si la estructura sirve para cualquier corpus, sirve para los docs. Diseño WK-DOC-003: la Sonda aplicada a la documentación. El matiz que lo ordenó, de Eduardo: Ariadna es multicara → una Sonda por cara × muro, que hereda el reparto de acceso (no inventa permisos; un índice por muro, físicamente separados = cero fuga).
- v0 público, EN VIVO en
docs.wordkers.com: cajón + tres filtros (Título / Sección / Contenido), metadatos al instante + texto completo perezoso, resultados con grupo y resaltado. «Es tan bueno que saca muchos» → los checks acotan. - v0 de equipo, desplegado tras Cloudflare Access (Worker
docs-interno).
5. El tropiezo (honestidad — «no debilitarnos»)
Al desplegar el muro de equipo con wrangler, **se encendió workers.dev por defecto → durante ~1-2 minutos el contenido de equipo fue accesible saltándose el Access**. Lo detecté al momento, redesplegué con workers_dev:false + preview_urls:false, y verifiqué: workers.dev → 404, Access → 302 al login, dominio intacto. Anotado en WK-DEPLOY-WEBS-001 para que no vuelva a morder. Ventana corta y URL oscura, pero estuvo expuesto; se dice.
6. Coordinación
Todo con media oficina en paralelo, sin pisarnos: d1 (diccionario/parlamento, cargó el Seco), fb (deploys web, me pasó la receta de Pages y las correcciones del runbook), 45 (cerró la sincronización de la wiki), a2 (avisó del cruce de señales). Publicar en la wiki pública fue coordinado, no a ciegas — y de paso cazamos que dos docs de dev/diccionario exponían la IP de OVH en público, marcados a equipo y retirados.
Cierre
Miramos cómo busca otro y, en vez de copiarlo, construimos lo nuestro: apoyado en nuestras propias APIs, con nuestra propia red verificada, y la misma estructura sirviendo a dos mundos —el léxico y los documentos—. La idea de fondo, en el ensayo dos-sondas.
Firmado ebaste (Carbono) · con Silicio (Claude).