048781df3f
El capítulo PORTADA ahora muestra SIEMPRE el tamaño del dataset (N filas × M columnas) en grande, como heading junto al nombre y agrupado con él (Group keep-together), en lugar de enterrarlo en la tabla de metadatos. La Descripción y la Granularidad ya no salen vacías ni con placeholders: se resuelven por cascada — ctx explícito > bloque LLM (profile['llm'].summary / row_meaning de eda_llm_insights) > derivación del propio perfil (forma, mezcla de tipos y score de calidad para la descripción; columnas key_candidates o la forma de la tabla para una frase 'Cada fila es…'). Las derivaciones son honestas (declaran que vienen del perfil) y nunca inventan significado de negocio. Añade chapters/portada_test.py: golden (tamaño grande + textos del LLM, sin fila 'Tamaño' duplicada), fallbacks sin LLM (keys / forma), prioridad de ctx, edge de perfil vacío sin lanzar, y render a PDF + PPTX. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>