Qué muestra este ejemplo. Un revisor, humano o agente, suele necesitar una puerta rápida antes del merge: ¿qué tan arriesgado es este diff y pone datos en riesgo? Este ejemplo pregunta ambas cosas en una petición. risk es una puntuación de cuatro niveles (Sin riesgo, Bajo, Alto, Bloquear fusión) y security una pregunta sí/no: «¿Este cambio afecta a la seguridad o a la seguridad de los datos?»
Entrada y resultado de ejemplo (datos de ejemplo, no una ejecución en vivo).
El diff edita scripts/clean.sh, sustituyendo rm -rf ./build/cache por una ruta leída de la config: DIR="$(read_config cache_dir)" y luego rm -rf "$DIR/". El contexto indica que cache_dir puede no estar definido; entonces read_config devuelve cadena vacía y el comando se vuelve rm -rf "/".
Resultado: Bloquear fusión, 68 % (Alto 27 %). Probabilidad de seguridad: 0,86.
Añade una línea : "${DIR:?cache_dir is not set}" para que un valor vacío falle el script en lugar de borrar la raíz. Resultado: Bajo, 63 % (Alto 22 %, Sin riesgo 12 %). Probabilidad de seguridad baja a 0,31.
Cómo usarlo. La salida es puntuación y probabilidad, no un comentario de revisión, así que encaja en CI o un bucle de agente: bloquear si «Bloquear fusión» es alto, enviar puntuaciones medias a un humano y dejar pasar el resto. Fija umbrales con el historial de tu repositorio. La petición de ejemplo usa Decider (decider-v1.1).