chore(metodo): gate explicito — los apendices NO viajan

Hasta ahora se cumplia solo porque un glob no recursa: proteccion implicita.
Ahora hay un check que enrojece si un apendice llega a vendorizarse.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
sirxavor 2026-08-30 14:00:48 +02:00
parent 63fa2d68ba
commit bfd292b8c7
2 changed files with 16 additions and 1 deletions

View File

@ -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

View File

@ -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