Preparación de lanzamiento
La página de lanzamiento reporta el estado de gate seguro-para-el-público a través de código, paquetes, docs, datos del portal, materiales de presentación, seguridad, y despliegue. El despliegue de producción permanece bloqueado hasta que pase el conjunto completo de tarjetas-verdes.
✅ Estado de gate
| Gate | Estado actual | Política de evidencia |
|---|---|---|
| Lint y formato | Verificación requerida | uv run ruff format --check . y uv run ruff check . deben pasar sin hallazgos. |
| Comprobación de tipos | Verificación requerida | uv run mypy packages tests tools examples debe pasar bajo el entorno bloqueado. |
| Registro de prosa | Verificación requerida | uv run python tools/check_prose_register.py debe pasar en cada superficie pública. |
| Derivación código-primero | Verificación requerida | uv run python tools/check_code_first.py debe pasar. |
| Encabezados de licencia | Verificación requerida | uv run reuse lint y uv run python tools/license_header.py check deben pasar ambos. |
| Escaneo de secretos | Verificación requerida | gitleaks detect --source . --redact --config .gitleaks.toml no debe reportar fugas. |
| Compilación de docs | Verificación requerida | npm --prefix site run build y npm --prefix site run check deben completarse para el espacio de trabajo actual. |
| Datos del portal | Verificación requerida | uv run pytest tests/site debe pasar y registrar la ejecución antes de la promoción. |
| Cobertura | Verificación requerida | uv run coverage run -m pytest y uv run coverage report deben registrar un resultado de umbral aprobado. |
| Línea base de accesibilidad | Verificación requerida | Metadatos SVG, texto alt, controles etiquetados, y diseño responsivo deben comprobarse por las pruebas del sitio o auditoría de accesibilidad. |
| Comprobación de enlaces | Verificación requerida | La compilación del sitio debe resolver los enlaces de navegación y página documentados para el espacio de trabajo actual. |
| Compilación de paquete | Verificación requerida | uv run python tools/build_packages.py debe emitir artefactos de compilación y hashes antes de la promoción de paquete. |
| Smoke de instalación de paquete | Verificación requerida | Las wheels compiladas deben instalarse en un entorno virtual fresco e importar cada espacio de nombres público. |
| Exportación de paquete de evidencia | Verificación requerida | Tablas, figuras, y suplemento deben regenerarse desde una campaña filtrada por divulgación. |
| Reproducción de campaña piloto | Verificación requerida | Las campañas piloto acotadas deben reanudar, reproducir desde semillas registradas, y reproducir exportaciones de análisis deterministas. |
| Campañas completas candidatas | Verificación requerida | tools/build_campaign_evidence.py debe materializar 30 problemas por perfil, correr campañas comparativas/de ablación/de sensibilidad, y exportar paquetes filtrados por divulgación. |
| Auditoría de dependencias | Verificación requerida | uv run pip-audit --path <site-packages> --progress-spinner off debe completarse sin hallazgos bloqueantes de lanzamiento. |
| SBOM | Verificación requerida | El JSON CycloneDX debe generarse desde el entorno Python auditado, enriquecido con licencias de componentes, hashes, URLs de paquete, y aristas de dependencia. |
| CI alojado | Condicionado a disponibilidad de runner | .github/workflows/ci.yml debe pasar en Ubuntu, Windows, macOS, y Python 3.12-3.14 antes de afirmaciones públicas. |
| Artefactos de lanzamiento | Flujo de trabajo manual | .github/workflows/release.yml compila distribuciones, hashes, paquetes de firma Sigstore, atestaciones de artefacto de GitHub, y evidencia SBOM; el lanzamiento de GitHub y la publicación en PyPI requieren entradas explícitas. |
| Despliegue | Flujo de trabajo manual | .github/workflows/pages.yml despliega site/out solo después de ingresar la confirmación de dominio aprobada. |
El paquete de gate público está disponible como gate-summary.json.
📦 Canales de publicación
DispatchAtlas está diseñado para múltiples canales de publicación, pero cada canal tiene un estado de preparación diferente:
| Canal | Estado actual | Evidencia de promoción |
|---|---|---|
| Wheels y sdists locales | Activo para comprobaciones de prueba | Compilación de paquete más smoke de importación en venv-fresco. |
| Índice de paquetes Python | Condicionado | Versionado, metadatos, éxito del flujo de lanzamiento, publicación de confianza, y aprobación explícita de lanzamiento. |
| Sitio web de documentación | Listo para compilar | Compilación del sitio y comprobación de tipos, pruebas de contrato del sitio, comprobaciones de enlaces, paquetes de datos seguros-para-el-público, y aprobación manual de Pages. |
| Conjuntos de datos estáticos del portal | Listo para vista previa | Paquetes JSON/CSV filtrados por divulgación con etiquetas de evidencia y sin entradas privadas. |
| Paquetes de evidencia | Listo como candidato | Manifiesto, tablas, figuras, suplemento, y reproducción determinista sobre evidencia de campaña candidata. Las afirmaciones de cuerpo permanecen condicionadas por no-empate y suficiencia de factibilidad. |
| Artefactos de seguridad | Activo localmente | Auditoría de dependencias, SBOM enriquecido, escaneo de secretos, revisión de permisos de flujo de trabajo, OpenSSF Scorecard, y escaneo de similitud. |
Ningún canal debe promoverse copiando archivos generados manualmente. Promueve reejecutando el comando o flujo de trabajo dueño y manteniendo la evidencia de gate correspondiente en verde.