breaking_change_detector

Detectar automáticamente breaking changes entre versiones de schema en CI/CD

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "breaking_change_detector" with this command: npx skills add davidcastagnetoa/skills/davidcastagnetoa-skills-breaking-change-detector

breaking_change_detector

Algoritmo que compara automáticamente dos versiones de un schema JSON/Pydantic y detecta cambios incompatibles hacia atrás. Se integra en el pipeline de CI/CD para bloquear merges que introduzcan breaking changes no intencionados en los contratos entre módulos del sistema.

When to use

Usar en cada PR que modifique schemas Pydantic compartidos entre módulos del sistema de verificación. El detector debe ejecutarse automáticamente en CI para prevenir que cambios destructivos lleguen a producción sin un proceso de migración planificado. Especialmente crítico para los contratos del motor de decisión y las interfaces entre módulos de liveness y face_match.

Instructions

  1. Instalar las dependencias necesarias: pip install deepdiff jsonschema.
  2. Crear el script backend/scripts/detect_breaking_changes.py que compare el JSON Schema de la rama actual contra el de la rama base.
  3. Definir las reglas de detección: eliminar campo requerido, cambiar tipo de campo, renombrar campo, agregar campo requerido sin default, cambiar enum reduciendo valores.
  4. Usar deepdiff para comparar los JSON Schemas generados: diff = DeepDiff(old_schema, new_schema, ignore_order=True) y clasificar cada diferencia.
  5. Generar un reporte con los cambios detectados categorizados como: SAFE (aditivo), WARNING (potencialmente breaking), BREAKING (incompatible).
  6. Configurar el paso de CI en GitHub Actions que ejecute el detector y falle si hay cambios BREAKING sin una flag explícita --allow-breaking.
  7. Cuando un breaking change sea intencional, requerir que el PR incluya un plan de migración documentado y la flag de aprobación.

Notes

  • Almacenar los JSON Schemas de la última versión de producción en backend/schemas/baseline/ como referencia para la comparación.
  • El detector debe ejecutarse antes de los tests unitarios en el pipeline de CI para dar feedback temprano.
  • Integrar con la skill json_schema_evolution para sugerir automáticamente la estrategia de migración cuando se detecte un breaking change.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

c4_model_structurizr

No summary provided by upstream source.

Repository SourceNeeds Review
General

fastapi

No summary provided by upstream source.

Repository SourceNeeds Review
General

exif_metadata_analyzer

No summary provided by upstream source.

Repository SourceNeeds Review
General

head_pose_estimation

No summary provided by upstream source.

Repository SourceNeeds Review