Volver a la wiki

El Help Widget sirvió el JSON de error como artículo — paridad EN/ES del corpus de Ayuda rota ~9 semanas (#254)

Cuándo

Detectado y arreglado el 2026-08-23 (commit b58b7fb4, task #254, ronda CreaRack 23-08). Según el propio commit de fix, el corpus llevaba desincronizado ~9 semanas antes de detectarse — no hay fecha exacta de origen documentada, solo la estimación del autor del fix.

Síntomas visibles

El Help Widget de CreaRack Pro, al servir en español un artículo de dos páginas concretas (la página de dispositivos y la de filas de racks), mostraba el JSON de error crudo en lugar del contenido del artículo. Adicionalmente, el panel de categorías mostraba slugs sin traducir (ups, wireless, settings) en vez de etiquetas legibles.

Causa raíz

El corpus de Ayuda mantiene tres fuentes que deben permanecer coherentes entre sí, y no había ningún check automático que lo verificara:

  1. Las páginas EN en src/content/wiki/crearack--*.md (fuente canónica).
  2. Sus traducciones ES en src/content/wiki-es/crearack--*.md.
  3. El mapa src/content/wiki-es/titles.json (título EN → título ES), que le dice al proxy de Ayuda que existe traducción y debe reescribir la ruta a wiki-es/.

Dos páginas EN (crearack--network--device-page, crearack--racks--filas-row) nacieron después de congelar una ronda de traducción y se quedaron sin su .md gemelo en wiki-es/. Cuando el Help Widget en español pedía esos artículos, la reescritura de ruta apuntaba a un fichero que no existía.

Un segundo footgun independiente agravaba el diagnóstico: la página EN crearack--network--auto-provision-wizard.md había perdido su campo title del frontmatter en algún punto del historial, lo que también rompe el emparejamiento título→fichero que usa titles.json. Se restauró el frontmatter recuperándolo del historial de git.

Por separado, CATEGORY_LABELS en functions/api/biblioteca/wiki.ts (ver [[entity—biblioteca—endpoint—wiki]]) no tenía entradas para las categorías ups, wireless y settings — un problema de cobertura distinto (degradación visual, no 404) que arrastraba desde que se crearon páginas de esas categorías sin actualizar el diccionario.

No existía ningún test que verificara ninguna de las dos cosas, así que el drift se acumuló en silencio hasta que alguien lo notó manualmente.

Fix aplicado

Commit b58b7fb4c73cdf5acb0781ed597f1e8676230717:

Lecciones

Preventivos futuros

Véase también

Subir