CreaRack-SL

Sección /informes — Archivo de Deliberaciones de La Antesala

Hub único de Informes — secciones agrupadas + escaneo build-time anti-huérfanos

Descripción

Refactorización del sitio de informes en el Workspace. Consolida 3 entradas de navegación en 1 (/informes) y añade escaneo build-time anti-huérfanos para garantizar que ningún informe HTML queda invisible por falta de registro en el manifest.

Cambios principales

1. Consolidación de navegación

Antes: 3 entradas de menú

  • “Informes” → /reports (Informes del sistema, generados con IA)
  • “Deliberaciones” → /informes (Archivo de La Antesala: roast, storm, análisis)
  • “Informes Supercontexto” → /supercontext/reports (reportes del Bibliotecario)

Ahora: 1 entrada principal

  • “Informes” → /informes (hub único que agrupa todo)

Los informes del sistema y Supercontexto ahora aparecen como subsecciones en el pie del hub.

2. Nueva lógica de escaneo build-time (src/pages/informes.astro)

En tiempo de build, la página ejecuta:

// Lee el manifest curado
const registrados = readFileSync('./public/informes/index.json')

// Escanea el directorio físico buscando HTML huérfanos
for (const dir of readdirSync('./public/informes', { withFileTypes: true })) {
  for (const file of readdirSync(`./public/informes/${dir.name}`)) {
    if (!file.endsWith('.html')) continue;
    const ruta = `/informes/${dir.name}/${file}`;
    // Si la ruta no está en el manifest, añádela como "sin registrar"
    if (!rutasRegistradas.has(ruta)) {
      huerfanos.push({ titulo, fecha, ruta, sinRegistrar: true });
    }
  }
}

Beneficio: Garantiza visibilidad. Un HTML olvidado en public/informes/roast/ aparecerá igualmente en la página, marcado con badge “sin registrar”. El dev/skill responsable sabe que debe actualizar index.json para curar el título y metadatos.

3. Agrupación en secciones

La página organiza los informes en secciones temáticas con descripción:

  • Presentaciones y ayudas — Para usuarios: novedades del producto, explicaciones.
  • Deliberaciones de La Antesala — roast (GO/RESHAPE/KILL) y storm (investigación multi-lente).
  • Análisis técnicos — Mediciones puntuales (costes, rendimiento, viabilidad).
  • Otros — Tipos adicionales no categorizados.
  • Otras familias de informes (pie) — Enlaces a /reports (sistema) y /supercontext/reports (wiki).

Cada informe muestra:

  • Tipo (roast, storm, analisis, presentación, etc.)
  • Título
  • Veredicto (solo roast: GO/RESHAPE/KILL, con color semántico)
  • Badge “sin registrar” si encontrado en disco pero no en manifest
  • Fecha en formato largo (legible)

4. Cambio en /reports

  • Título: “Informes” → “Informes del sistema”
  • Subtítulo: aclarado que son “generados automáticamente con IA”

Esto deja claro que /reports es un dominio distinto (métricas, costes, estado del sistema) respecto al hub /informes (deliberaciones curadas + análisis).

Verificación

✓ Typecheck: 0 errores
✓ Build: 2171 páginas OK

Archivos modificados

  • src/pages/informes.astro — Escaneo + agrupación + secciones
  • src/pages/reports.astro — Cambio de título
  • src/components/shell/BottomNav.tsx — Consolidación nav
  • src/components/shell/Sidebar.tsx — Consolidación nav

Impacto en UX

  • Simplificación: menos opciones de menú, un punto de entrada claro.
  • Descubribilidad: los informes “huérfanos” (olvidados en el manifest) ahora son visibles.
  • Claridad informativa: secciones y descripción de propósito.

Véase también

  • [[ia-tech—metodo—antesala-y-voz]] — Contexto de La Antesala y el flujo de deliberación
  • [[entity—workspace—page—informes]] — Página de informes del Workspace
  • [[feature—workspace—reports-panel]] — Panel de reportes del sistema (IA)