Lista de verificación de despliegue
Lista de verificación previa para desplegar o compartir el ecosistema Apothem
Pasos de verificación previos al despliegue del ecosistema Apothem en una máquina nueva, a su uso compartido con otras personas o a tratarlo como apto para producción.
1. Validez de YAML
- Todos los archivos de reglas se analizan sin errores de YAML — el bloque de frontmatter abre con
---, cierra con---y no contiene contenido huérfano fuera del bloque - Todos los archivos de trabajadores delegados se analizan sin errores de YAML
- Todos los archivos de comandos se analizan sin errores de YAML
- Todos los archivos
SKILL.mdde habilidades se analizan sin errores de YAML
Verificación: python scripts/dev/validate_ecosystem.py analiza el
frontmatter de cada artefacto y marca los errores de YAML y los campos requeridos ausentes. Para detectar
ad hoc elementos de lista huérfanos: rg -n "^- " src/apothem/rules/*.md.
2. Completitud del frontmatter
Para cada tipo de artefacto, verifica que los campos requeridos estén presentes:
Reglas (src/apothem/rules/*.md)
-
name— identificador en kebab-case que coincide con el nombre del archivo -
version— semverMAJOR.MINOR.PATCH(p. ej.,"X.Y.Z") -
updated— fecha ISO 8601 (p. ej.,"2026-04-20") -
description— resumen de una sola frase -
scope—"always-on"o"path-filtered" -
portability—"universal","universal-with-windows-caveats","unix-only"o"windows-only" -
pathFilter— presente y con una cadena glob válida para las reglas filtradas por ruta; ausente para las reglas siempre activas
Comandos (src/apothem/commands/*.md)
-
name— nombre del comando en kebab-case -
version,updated,description,argument-hintpresentes -
disable-model-invocationpresente e intencional (truepara comandos solo de orientación) -
effort,portabilityrevisados donde estén presentes (opcionales según el schema)
Trabajadores delegados
Ruta:
src/apothem/agents/*.md-
name,version,updated,descriptionpresentes -
tools— lista separada por comas de las herramientas permitidas -
disallowedTools— enumera explícitamente las herramientas no permitidas -
maxTurns— establecido (con comentario justificativo si es > 10) -
permissionMode— NO debe ser"bypassPermissions"— usa"default" -
memory: falsesalvo que la memoria persistente sea intencional
Habilidades (src/apothem/skills/*/SKILL.md)
-
name,version,updated,descriptionpresentes -
user-invocable— declarado (true/false)
3. Seguridad
- Ningún trabajador delegado usa
permissionMode: "bypassPermissions"— esto omite la confirmación interactiva para operaciones Write/Bash - Las listas de
toolsdel trabajador son mínimas — solo las herramientas que el trabajador realmente requiere - Los trabajadores con acceso a
Bashestán justificados y tienen límites de maxTurns - No hay rutas, tokens ni secretos codificados de forma fija en ningún artefacto
- Los hooks en
settings.jsontienen tiempos de espera razonables (≤ 60 segundos) y no ejecutan código arbitrario procedente de la entrada del usuario
4. Integridad de las referencias cruzadas
- Cada regla listada en la tabla
src/apothem/rules/existe en disco en la ruta indicada - Cada comando listado en la tabla
src/apothem/commands/existe en disco - Cada trabajador delegado listado en la tabla del registro
src/apothem/agents/existe en disco - Cada habilidad listada en la tabla
src/apothem/skills/existe en disco - Cada hook en la tabla
src/apothem/hooks/tiene una entrada correspondiente ensettings.json - Todos los archivos
src/apothem/rules/*.mdreferenciados por la columnaImplementsde CLAUDE.md existen
5. Cobertura de mandatos
- Cada CM-N referenciado en CLAUDE.md tiene una ubicación de aplicación (ya sea un archivo de regla o una definición inline explícita)
- Ningún archivo de regla contradice a otro (especialmente en torno al escalado de seriedad)
- Se respeta la delineación de tres facetas de CM-21 — ninguna regla reclama la propiedad de la faceta CM-21 de otra regla
6. Pruebas de humo funcionales
Ejecuta primero la superficie de validación de Python — es rápida, sin conexión y detecta regresiones estructurales:
-
pytest tests— pruebas unitarias del runtime de hooks, todas en verde -
python scripts/dev/validate_hooks.py— estructura de hooks + comprobación de higiene solo de Python superada -
python scripts/dev/validate_ecosystem.py— árbol completo + frontmatter + comprobaciones de hooks delegados superadas -
python scripts/dev/chaos_pass.py— cada comando de hook configurado devuelve un sobre JSON válido bajo entradas degradadas
Luego, escenarios en vivo:
-
/plan-spec --interactive(o/plan-spec <sample-file>) — completa la ingesta/aclaración sin errores a nivel de comando -
/plan-generate --dry-run— produce una vista previa de la estructura sin escribir archivos -
/plan-statussobre una suite de plan completa — devuelve recuentos de fases precisos - Despacho de trabajadores delegados: el trabajador
codebase-explorerinvocado con un alcance pequeño se completa dentro de maxTurns y devuelve salida estructurada
7. Vigencia de la documentación
-
CHANGELOG.md(en la raíz del ecosistema) refleja cada cambio de artefacto desde la última versión publicada; la sección de la próxima versión está poblada antes de que aterrice la etiqueta, o cada cambio ya está cortado en una sección publicada -
site/content/docs/developer-guide.mdxdescribe con precisión la estructura actual de los artefactos -
site/content/docs/reference/artifact-schema.mdxcoincide con los campos de frontmatter realmente presentes en los artefactos -
site/content/docs/reference/settings-reference.mdxcoincide con la configuración de hooks real ensettings.json -
README.mdes coherente con el árbol en disco
8. Portabilidad (si se comparte con otras personas)
- Todas las rutas en los comandos de hooks son agnósticas respecto al entorno o usan expansión de
~ - Los comandos de hooks usan la forma exec y evitan cadenas de comandos específicas de un shell
- No hay rutas codificadas de forma fija
C:\Users\usernameni/home/usernameen ningún artefacto -
settings.jsonusa una única tabla de cobertura de eventos de hooks y la ruta canónica del módulo de despacho
9. Alineación de versiones
- La
versionde CLAUDE.md es la más alta de cualquier artefacto del árbol (o igual a la versión del artefacto más recientemente actualizado, por convención) - La
versionde cada artefacto coincide con el semver indicado (MAJOR.MINOR.PATCH) - CHANGELOG.md contiene exactamente la entrada de la versión objetivo antes del etiquetado
- El campo
updatedde cada artefacto está en la fecha de su última edición que cambia el comportamiento, o después - Ningún artefacto lleva una
versioninferior a la versión en la que se modificó por última vez (sin regresiones) -
src/apothem/skills/plan-suite/SKILL.mdysrc/apothem/skills/plan-suite/master-template.mdestán fijados a la misma línea de versión de plantilla
Aprobación
| Categoría de comprobación | Estado | Notas |
|---|---|---|
| Validez de YAML | ||
| Completitud del frontmatter | ||
| Seguridad | ||
| Integridad de las referencias cruzadas | ||
| Cobertura de mandatos | ||
| Pruebas de humo funcionales | ||
| Vigencia de la documentación | ||
| Portabilidad | ||
| Alineación de versiones |
Despliegue aprobado por: ___________________ Fecha: ___________________ Versión del ecosistema desplegada: ___________________
Runbook del ciclo de lanzamiento
Flujo de lanzamiento completo desde las verificaciones locales, pasando por el GitHub Release firmado, hasta el despacho opcional de publicación en npm.
Runbook de recuperación de versión
Procedimientos de recuperación para restaurar el repositorio cuando una secuencia de versión falla a mitad de camino, con diagnósticos etapa por etapa.