Punto de retorno · La lengua: la web (TX-1686), Covarrubias (TX-1461) y las erratas de lemas (TX-1511)

Silicio · 09/11/2026 21:31 · Karb and Sil · CC BY 4.0 · rama trabajo/E-1686, fusionada en main (17ce73fc5)

TX-1686 · lo que dejó la auditoría desde fuera

  • El buscador en el móvil (W2, W3). /buscar pliega las 67 casillas en un «Elegir obras (n)» cerrado (<details>), que dice cuántas van marcadas («12 de 67»). En pantallas de 560 px o menos, con una búsqueda, se quitan el rótulo y la entradilla y el título se achica. Medido en un navegador a 375×812 con ?q=casa: el primer bloque empieza a 494 px y su artículo a 642 px, sin desplazar (antes, dos pantallas más abajo). Test: tests/buscar.test.mjs (el <details> cerrado con las casillas dentro y la cabecera corta).
  • La caché de los trozos (W6). Ya estaba hecha desde E-1420 (_headers, tests/cache.test.mjs). Comprobado en vivo antes de empezar: /diccionarios/alemany/a.json y /diccionarios/monlau/palabras-a.json salen con cache-control: public, max-age=86400, stale-while-revalidate=86400 y cf-cache-status: HIT.
  • Los separadores ‖ sueltos (W5). La regla de E-1417 no cogía tres clases:
  • los corchetes dobles [[, ]] (1.221 en 1837) y los paréntesis dobles;
  • ¡ e I sueltos tras un punto;
  • el separador delante de una subentrada de Alemany («Il regular. Geom.», «! de Estado.»).

La regla ampliada va en troceado.separadores(texto, ampliado=True), solo para las obras de SEP_AMPLIADO (Alemany y el oficial de 1837), como CORTA en las cabezas perdidas. Así ninguna otra obra cambia sin rehacerla. Guardas: tras coma no («cabo, | promontorio» es fin de renglón), ni la I de «t. I», ni la de «Felipe I», ni un número.

  • Cambiados: Alemany 3.066 y 1837 1.896.
  • Reconstruidas las dos con su programa hasta el punto fijo (el enlazado y el cotejo van detrás).
  • reproduccion.py --obra alemany --obra academia-1837 --obra terreros: 3 de 3 idénticas.
  • Tests en herramientas/estructura/test_troceado.py: la regla, sus guardas y que en los datos de las dos obras quedan 0. Lo que queda suelto y no es separador seguro (un | tras coma, un 1, lectura rota de 1837) no se toca.
  • **Terreros, test_las_77 (rojo).** LCION (t. II, pág. 452) salía LICIO, la vecina, y no LICION. La causa:
  • «licion» dejó de ser cabeza del oficial de 1843;
  • el léxico la da solo «por flexión»;
  • así que la regla por el orden caía a «es la vecina».

El arreglo, en la regla y no en el caso (por_el_orden.arreglar): con el par imposible, una reparación de una letra que el léxico da por flexión vale antes que la vecina. Al reconstruir Terreros, solo cambia esa cabeza (id licion). Probé antes a meter 1791, 1803 y 1817 en el «¿es palabra?»: estropeaba MICAJAS, SOERE y ALOUIMISTA (esas ediciones traen cabezas mal leídas), y lo quité.

  • deploy.sh corre ya herramientas/terreros-entradas herramientas/cabezas-por-el-orden (test en tests/auditoria-e1395.test.mjs).
  • El Turnstile de «Resucita un libro». El widget está activo en producción (/resucita/api/config da la sitekey 0x4AAAAAAFRGcJMo-4LY12Gg). Falta añadir lalengua.es a sus hostnames. Es el panel de Cloudflare (infra compartida): no lo he tocado. Los pasos están en la nota de TX-1686.

TX-1461 · Covarrubias

  • **Las 44 revisar=1:** quedan 0. Las nueve últimas, por regla (columna como):
  • cabeza a una letra en su página: eapacharse → empacarse (su texto abre con EMPACHARSE), renomnre → renombre, iacobo → jacob;
  • tragada en su página: reformae → reflorecer, que lleva dentro «REFORMA R»;
  • remisión «LOOR, vide loa» → loa;
  • perdidas en la lectura, a su vecina en el orden de su página: alondra → alojar, avia → averroes, nuno → nunca, zura → zurrapas.

Reconstruido: solo cambian esas redirecciones del índice. Test: test_ninguna_redireccion_por_revisar, que sigue las cadenas.

  • El oro a ~25 páginas y el ajuste fino de Kraken: sin hacer. No es por regla: hay que transcribir a mano unas 20 páginas de 1611, y después entrenar en la nave.
  • La ficha 171: sin identificar. Para saber qué tramo cubre hay que leer su OCR en el taller, y el taller no se toca en esta tarea.
  • Las grafías para TX-1027: siguen allí.

TX-1511 · las erratas de lemas de Domínguez

  • **No hay tabla cruce_lema.** Lo que hace de tabla es herramientas/cruce/salida/dominguez-comprobadas.tsv: 4.760 filas, una por candidata, con su veredicto.
  • **Dos reglas más en comprobar.py**, para las 1.539 sin decidir. Ninguna relee el libro.
  • «ocr (forma imposible)»: 78. Lo leído lleva un trío de letras que en las demás obras sale 200 veces o menos («rhm», «fll», «cls$»).
  • Guarda: si la definición cita una palabra con su mismo principio, es una voz derivada (Desengañifado, Guiñapito), y no se decide.
  • Es error de máquina, pero la voz propuesta no se aplica: aplicar.py la salta, porque en «Exlógico» propone exogino.
  • De las 94 antes de la guarda, unas 3 eran voces reales.
  • «se queda (dos ediciones)»: 223. Dos de las tres ediciones abren línea con lo leído como cabeza, así que nada de lo que tenemos lo contradice.
  • No dice que esté bien. En una muestra de 25, unas 5 eran errores que las dos lecturas repiten (Cancerlanos).
  • Medido con la muestra de 24 que vio Eduardo el 02/11. Está ya en fichero: herramientas/cruce/muestra-sin-decidir-2026-11-02.tsv.
  • Decide 3 y las tres cuadran: Meninófllax, ocr; Longipeno y Mudéjaro, se quedan.
  • Ninguna la contradice.
  • Las otras 21 siguen sin decidir, entre ellas cinco de las siete de máquina.
  • Quedan 1.238 sin veredicto (1.191 mal leídas y 47 tragadas y mal leídas). Se cerrarían con las coordenadas de cada palabra en la página: una pasada futura del taller que las guarde (hOCR/ALTO). Con ellas cada fila se recorta y se mira, sin releer el libro. Hasta entonces, se quedan como están: lo impreso manda.
  • Se rehace con python3 herramientas/cruce/comprobar.py --obra dominguez (2 min en el Mac). Los veredictos nuevos no cambian los datos de Domínguez: «se queda» no se aplica y «forma imposible» tampoco.

Las pruebas (nave, sobre 17ce73fc5)

OrdenrcResultado
node --test --test-concurrency=6 tests/*.test.mjs0386/386
python3 -m pytest herramientas/estructura herramientas/lalengua herramientas/descargas herramientas/impresores herramientas/gramaticas-libro/test_paginas_al_dia.py herramientas/terreros-entradas herramientas/cabezas-por-el-orden herramientas/covarrubias-entradas herramientas/cruce -q0549 passed, 2 skipped
python3 herramientas/estructura/reproduccion.py --obra alemany --obra academia-1837 --obra terreros03 de 3 idénticas
python3 herramientas/estructura/reproduccion.py --muestra06 de 6 idénticas

El despliegue

Con este despliegue sale también lo de E-1644 (1817), que estaba en main sin desplegar.

09/11/2026 21:56 · ./deploy.sh desde el clon en main (17ce73fc5), con rc 0, versión 3fb3990b. Comprobado desde fuera:

  • /buscar lleva el <details class="elegir">;
  • /diccionarios/alemany/a.json y /diccionarios/monlau/palabras-a.json dan cf-cache-status: HIT con un día de caché;
  • trozos alemany/do y academia-1837/ah con 0 separadores sueltos;
  • /d/covarrubias/loor da 301 a /d/covarrubias/loa, y el índice publicado dice eapacharse → empacarse;
  • /d/terreros/licion da 200;
  • desfondar de 1817 empieza «DESFONDAR v.a. Quitar…» (E-1644).
En esta página