¿Qué hace Mantenedor de Lanzamientos de OpenClaw?
Usar para una operación de lanzamiento, no para desarrollo ordinario o mutación de asesorías.
Leer docs/reference/RELEASING.md para la política actual. Cargar $release-private cuando esté disponible antes de resolver localizadores de credenciales privadas o topología de hosts; las operaciones de credenciales usan $one-password.
Elegir la operación
Leer solo las referencias necesarias para la fase seleccionada:
- Preparación o publicación regular beta/estable: lanzamiento regular, que enruta la preparación y la evidencia específica de la fase. Si la solicitud no especifica estable/completo, usar beta por defecto; la autorización beta no autoriza una promoción estable posterior.
- Descubrimiento de backports: inventario de candidatos. Para extendido-estable también leer preparación de backports; los cambios en SDK/config necesitan una advertencia visible de riesgo de mantenimiento y decisión del mantenedor.
- Publicación de Gateway extendido-estable
.33+: publicación extendido-estable. Usar el editor compartido con entradas extendido-estable; su GitHub Release no-Latest lleva evidencia sin publicación nativa en la aplicación o ClawHub. - Selección de validación o evidencia fallida: validación y confianza, con
$release-openclaw-cipara ejecución de flujos de trabajo y manifiestos inmutables. - Publicación interrumpida o promoción de registro: recuperación de publicación.
- Activos nativos: publicación de plataforma, con
$release-openclaw-macpara operaciones macOS. - Sincronización posterior a la publicación estable y transferencia de despliegue SHA exacto: cierre principal.
- Notas de lanzamiento:
$openclaw-changelog-update, incluyendo su ruta separada aprobada de duplicación de documentación posterior al lanzamiento. La generación inicial de lanzamiento mantiene su formato existente; la publicación de documentación no se ejecuta automáticamente durante el lanzamiento. Anuncios solicitados:$release-openclaw-announcementpara Discord,$release-tweetspara X. Los anuncios nunca bloquean la publicación y requieren autorización explícita de publicación. - Verificación de artefactos publicados:
$verify-release. Operaciones GHSA:$openclaw-ghsa-maintainersolo con autorización explícita de flujo de trabajo de seguridad.
Límites compartidos del lanzamiento
Cada carril de validación seleccionado debe tener éxito: Node de Windows y macOS y otros trabajos normales de CI, prueba de hum humo, carriles de supervivencia, update-first-hop-compat*, calificación pack/npm, integridad del paquete, y comprobaciones de Gateway en Linux/Windows/macOS, incluyendo comprobaciones de instalación/actualización empaquetadas de Windows en Comprobaciones de Lanzamiento. Una ejecución cancelada aún bloquea. Preservar los primeros fallos y clasificar cada uno como se indica a continuación antes de la recuperación. La publicación estable requiere evidencia estable/completa, soak y rendimiento bloqueante. La evidencia de perfil beta no puede autorizar la publicación estable. Ninguna exención de carril o soak puede eludir estos requisitos. Todas las nueve combinaciones de instalación/actualización de Gateway en Linux, Windows y macOS son necesarias para la calificación de todos los grupos. Preservar identidad, procedencia, evidencia completa y aprobaciones de publicación existentes.
Cada prueba fallida obtiene una decisión explícita del líder, bloqueador real o inestable, registrada en la transferencia con su evidencia: el mismo SHA que pasa en otro lugar o en una re-ejecución, sin relación con el delta del lanzamiento, una firma del ejecutor o infraestructura, un historial del mismo caso fallando de forma inestable, o un error de producto preexistente que no es una regresión (por ejemplo, el error "Asignar a…" de 2026.9.6). Un bloqueador real es una regresión en bytes o comportamiento enviados, o un defecto de actualización/instalación/publicación; corregirlo en la rama de lanzamiento. Re-ejecutar un inestable en el mismo SHA de lanzamiento con un máximo de dos re-ejecuciones registradas por defecto, y presentar un problema o PR de corrección en paralelo en main con la evidencia. Nunca recortar, cambiar herramientas o iniciar un nuevo FRV para un inestable. Un inestable que permanece rojo bloquea la publicación. Los fallos solo en main y los fallos de infraestructura (cortes de ejecutores, trabajos fantasma de GitHub, descarga de ejecutores alojados) cuentan como inestables para el lanzamiento.
Las asesorías de dependencias nunca retrasan un lanzamiento. Una asesoría recién publicada nunca es una razón para recortar, cambiar herramientas o re-ejecutar la validación. Registrarla en la evidencia y transferencia del lanzamiento, luego presentar o poner en cola el incremento de dependencia en main como seguimiento normal después de la publicación. Solo un hallazgo de malware conocido detiene la publicación. La evidencia de dependencias del lanzamiento y la CI enviada por el lanzamiento hacen cumplir esto.
La salud de CI de main nunca bloquea un lanzamiento. La validación y publicación se ejecutan desde la rama de lanzamiento más herramientas fijadas, por lo que un main rojo no es una razón para esperar, recortar o pausar. Cuando el lanzamiento necesita una corrección de herramientas de lanzamiento en main (los SHA de herramientas deben ser commits confiables de main), los fallos de main que la corrección no causa no deben impedir esa integración: demostrar en una copia limpia de main que el fallo ya existe allí, registrarlo en el cuerpo del PR y fusionar. Durante un lanzamiento activo, se permite una fusión de administrador para un PR de herramientas de lanzamiento exactamente en esa situación. El main rojo aún se corrige, en paralelo por un carril separado, nunca en la ruta crítica del lanzamiento.
Los objetivos operativos son aproximadamente 20 minutos para sellar la validación y la publicación dentro de una hora, no garantías medidas. Los hijos solo de origen comienzan junto con los productores de artefactos; los consumidores de candidatos comienzan tan pronto como el candidato está listo. Los hijos verdes sellados de forma independiente se pueden reutilizar para el mismo objetivo y entradas exactos incluso cuando su padre falló, fue cancelado o permanece activo; verificar su identidad de calificación admitida original (o SHA de flujo de trabajo histórico confiable de main) y el intento actual. El manifiesto sellado proporciona el resumen de evidencia del SDK y las decisiones de publicación de npm; nunca reconoce cambios en la API del SDK, por lo que proporcionar plugin_sdk_api_acknowledgement siempre que el informe del SDK contenga cambios. El editor no puede aceptar evidencia de validación renunciada. Las entradas explícitas del editor seleccionan el alcance de la publicación; el ayudante de candidatos aún valida su reconocimiento explícito del SDK cuando sea necesario.
Se requiere aprobación explícita para cambios de versión y publicación irreversible. Una solicitud para cortar, publicar o completar un lanzamiento nombrado se lleva a cabo a través de su publicación y verificación validadas; no preguntar de nuevo a menos que cambien la identidad, el canal, el alcance o el riesgo material. La autoridad de envío para código ordinario no es autoridad de lanzamiento.
La aprobación explícita de un operador para hacer lo que sea necesario para preparar un lanzamiento nombrado es autoridad permanente para las decisiones y reparaciones de preparación necesarias. Llevarla a través de correcciones de candidatos y herramientas, diseño de actualización/migración, alineaciones de pruebas o inventario de seguridad revisadas, prueba aislada, commits, pushes y recuperación de validación. Registrar la decisión, su evidencia y el contrato de soporte seleccionado; no preguntar de nuevo simplemente porque una clase de trabajo ya aprobada llega a un paso de implementación o verificación. Continuar el trabajo independiente mientras se resuelve un bloqueador. Esta autoridad no permite ocultar defectos, bajar una puerta para fabricar éxito, cambios destructivos en el estado del operador, trabajo no relacionado o publicación. Una solicitud de solo preparación aún requiere una instrucción de publicación separada antes de liberar artefactos o una versión puente.
Mantener un registro de estado compacto usando la plantilla de transferencia: objetivo efectivo, versión/etiqueta/rama, SHAs de Corte/Código/Lanzamiento, identidades C/Q/P, ejecución principal activa e intento, artefactos secundarios exitosos, cambios aprobados, fase y siguiente acción. La dirección más reciente del operador reemplaza el alcance reemplazado. La evidencia completada permanece completa hasta que un cambio nombrado la invalide.
Para lanzamientos regulares, preparar notas completas antes de congelar Code SHA cuando sea posible. Si esas notas son finales, Code SHA y Release SHA son el mismo commit: una sola calificación completa nueva y exitosa puede proporcionar ambos roles y sus bytes de publicación exactos. No crear otro commit o ejecución solo para separar las etiquetas. Si las notas cambian después de la calificación, un descendiente cuyo delta completo incluye CHANGELOG/<version>.md (versión beta exacta o base estable) y solo esa entrada, su registro coincidente, e índice raíz puede usar split-changelog-release-v1 para reutilizar la prueba del producto mientras califica nuevos bytes de publicación. Cualquier otro delta de origen, renombre o eliminación regresa al bucle de Code SHA. Los recibos históricos solo de raíz retienen changelog-only-release-v1.
La nueva calificación congela Q=C: todo el cierre del flujo de trabajo de calificación pertenece al candidato. Mantener P (admisión, verificador y editor) independiente y confiable. Una reparación del arnés Q requiere un nuevo C/Q y evidencia recién vinculada; las reparaciones solo de P o de infraestructura pueden preservar al candidato. Los contratos de calificación faltantes necesitan un backport deliberado, nunca un respaldo de future-main.
Una vez que se corta un candidato, su base es la decisión del operador. Nunca recortar (re-basar el candidato en un main más nuevo) a menos que Peter lo solicite explícitamente para ese lanzamiento. Sin preguntar, seleccionar (cherry-pick) commits de main ya fusionados en la rama de lanzamiento solo para corregir un bloqueador de lanzamiento confirmado: un carril requerido que falla de forma determinista en el candidato congelado, o un defecto de actualización/instalación/bytes de publicación. Nombrar cada cherry-pick en el registro de transferencia. No permitido: backports oportunistas, reversiones de características, o una nueva base tomada para "recoger" una corrección que se cherry-pickea limpiamente con una pequeña resolución de conflictos.
Las mejoras al proceso de lanzamiento realizadas durante un lanzamiento se integran en ambas ramas. Los cambios en el flujo de trabajo, script de lanzamiento, prueba de lanzamiento, RELEASING.md y habilidad de lanzamiento se fusionan primero en main, luego se cherry-pickean (-x) en release/YYYY.M.PATCH para el siguiente candidato o parche. Una reparación de calificación necesaria para este lanzamiento debe integrarse antes de congelar un nuevo C/Q; nunca intercambiar silenciosamente el arnés por un candidato ya calificado. Cuando la infraestructura de CI solo de main falte en la rama, mantener la forma de expresión de la rama y portar solo la lógica. El código de producto en la rama de lanzamiento permanece solo de bloqueador según la regla anterior.
Un lanzamiento no está terminado mientras algo abierto para él aún esté abierto. Antes del informe final, listar cada PR creado durante el lanzamiento (gh pr list --author @me --state open más cualquier PR vinculado a la sesión) e integrar o cerrar explícitamente cada uno con una razón; confirmar que su corrección está en main y, cuando sea herramienta de lanzamiento, en la rama de lanzamiento. También eliminar los worktrees temporales del lanzamiento, las ramas de corte locales abandonadas y los worktrees scripts/pr obsoletos.
Las versiones publicadas y las etiquetas finales son inmutables. Reutilizar artefactos de origen exacto exitosos; no reconstruir o republicar como reintento implícito. El lanzamiento activo es la cola de trabajo: sin correcciones oportunistas de main en movimiento ni backports. Clasificar fallos, reparar su propietario, reintentar la superficie afectada, luego reevaluar en lugar de repetir el lanzamiento completo.
Las pruebas de publicación requeridas y las aprobaciones de entorno exigidas siguen siendo necesarias. Un hermano exitoso no puede reemplazar la evidencia requerida faltante. npm + ClawHub es la ruta prioritaria. La publicación nativa de macOS, Windows, Linux y Android se ejecuta en paralelo y nunca bloquea npm/ClawHub, la finalización de GitHub Release o el cierre principal. Fallos seleccionados de CI de Node en Windows, Gateway en Linux/Windows/macOS y aplicación nativa bloquean la validación del lanzamiento. Los editores de plataforma retienen sus propios contratos de artefactos y actualizadores; informar con precisión sobre plataformas pendientes y brechas de evidencia.