Cobertura de encabezados
Barrido de todo el repositorio del 2026-06-10, producido por
uv run python tools/license_header.py check contra cada árbol — archivos
rastreados, árboles de investigación privados, el árbol de evidencia, y salidas de
compilación generadas. El gate vuelve a derivar esta clasificación de los bytes en
disco en cada pre-commit y ejecución de CI; esta página registra la línea base
ratificada.
Resultado
| Clasificación | Archivos | Significado |
|---|---|---|
| has-inline | 293 | Archivo comentable que lleva su encabezado canónico de una línea en la posición correcta |
| blanket-covered | 107,891 | Archivos de datos, activos, marcadores, y generados cubiertos por REUSE.toml y el LICENSE del proyecto (incluyendo los registros emitidos por máquina bajo las capas locales del espacio de trabajo de experimentos) |
| MISSING | 0 | — |
| unregistered | 0 | — |
| Total | 108,184 |
reuse lint reporta de forma independiente que el árbol rastreado cumple con REUSE 3.3
(359/359 archivos que llevan tanto información de licencia como de copyright).
Cerrados durante el barrido
El barrido sacó a la luz y cerró ocho brechas: siete páginas privadas llevaban un
bloque de atribución multilínea no estándar en lugar del estándar de una línea
(encabezado canónico inyectado, bloque no estándar eliminado); una hoja de estilos
llevaba su identificador dentro de un bloque multilínea malformado (normalizado a la
forma canónica de primera línea); las siete páginas .mdx del portal y el módulo de
ruta site-index fueron ratificados bajo sus formas de comentario correctas (comentario JSX
tras el frontmatter; forma de comentario de línea) en lugar de mal clasificados.
Prevención de recurrencia
Un encabezado faltante o no registrado en cualquier lugar hace fallar check con
exit 1. El gate corre como hook de pre-commit (cubriendo todos los árboles locales) y
como paso de CI junto a reuse lint, de modo que un nuevo archivo sin encabezado no
puede aterrizar silenciosamente.