diff --git a/.metodo/CHECKSUMS b/.metodo/CHECKSUMS index 66802d0..338ac01 100644 --- a/.metodo/CHECKSUMS +++ b/.metodo/CHECKSUMS @@ -1,5 +1,5 @@ b3aa1294777afebe63d4e914e555849c3435c3c08e45533b99c96b096fcda9ad metodo.md -a65fcd72ed8b6ed87ee35fb06d16796c55a2f138f31d35ba27f116b25dc1bde2 bin/metodo +5250d8aea9e8205f2a7f55c0a9c1ce0c383258f71969de777c70b4a311513baa bin/metodo f89b71bdf31028b05075636c1763c964e379bc37a00e0357d1c23a4dd19c09aa workflows/README.md 6871c5f29642ccec3e60109324de1e5bab8fa5ee73792360d85277bde3323aea workflows/comunicacion-entre-sesiones.md 2b9037f6dd57b5598c70a676cb728556654f05d1c5b024e7b716864659f7b884 workflows/sesion-ejecucion.md diff --git a/.metodo/bin/metodo b/.metodo/bin/metodo index 73713fa..337aa39 100644 --- a/.metodo/bin/metodo +++ b/.metodo/bin/metodo @@ -80,6 +80,20 @@ info() { printf ' \033[36minfo\033[0m %s\n' "$*"; } # censo, NO veredicto: no # ── Check 1 · integridad de la copia vendorizada (C11) ─────────────────────── # El máster vive en OTRO repo (la matriz), así que el testigo no es el máster sino el # CHECKSUM sellado al distribuir (metodo init/update). Caza si alguien editó la copia a mano. +# ⛔ Gate explícito (2026-08-30): los APÉNDICES no viajan. Hasta hoy eso se cumplía SOLO +# porque el glob `workflows/*.md` no recursa — una protección implícita, o sea algo que +# funciona por casualidad. Si alguien cambia ese glob, los apéndices empiezan a viajar a +# 27 repos en silencio. Este check lo dice. +check_apendices_no_viajan() { + hdr "los apéndices NO viajan (son de proyecto, no de método)" + local d="$ROOT/.metodo/workflows/apendices" n + if [ -d "$d" ]; then + n=$(ls "$d"/*.md 2>/dev/null | wc -l) + bad "hay $n apéndice(s) vendorizado(s) en .metodo/workflows/apendices — un apéndice presupone este árbol y NO debe viajar" + else + ok "ningún apéndice vendorizado" + fi +} check_drift() { hdr "integridad de la copia vendorizada (C11)" local md="$ROOT/.metodo" @@ -889,6 +903,7 @@ cmd_update() { cmd_check() { printf 'metodo check — %s\n' "$ROOT" check_drift + check_apendices_no_viajan check_ids check_headings check_links