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:
parent
63fa2d68ba
commit
bfd292b8c7
@ -1,5 +1,5 @@
|
|||||||
b3aa1294777afebe63d4e914e555849c3435c3c08e45533b99c96b096fcda9ad metodo.md
|
b3aa1294777afebe63d4e914e555849c3435c3c08e45533b99c96b096fcda9ad metodo.md
|
||||||
a65fcd72ed8b6ed87ee35fb06d16796c55a2f138f31d35ba27f116b25dc1bde2 bin/metodo
|
5250d8aea9e8205f2a7f55c0a9c1ce0c383258f71969de777c70b4a311513baa bin/metodo
|
||||||
f89b71bdf31028b05075636c1763c964e379bc37a00e0357d1c23a4dd19c09aa workflows/README.md
|
f89b71bdf31028b05075636c1763c964e379bc37a00e0357d1c23a4dd19c09aa workflows/README.md
|
||||||
6871c5f29642ccec3e60109324de1e5bab8fa5ee73792360d85277bde3323aea workflows/comunicacion-entre-sesiones.md
|
6871c5f29642ccec3e60109324de1e5bab8fa5ee73792360d85277bde3323aea workflows/comunicacion-entre-sesiones.md
|
||||||
2b9037f6dd57b5598c70a676cb728556654f05d1c5b024e7b716864659f7b884 workflows/sesion-ejecucion.md
|
2b9037f6dd57b5598c70a676cb728556654f05d1c5b024e7b716864659f7b884 workflows/sesion-ejecucion.md
|
||||||
|
|||||||
@ -80,6 +80,20 @@ info() { printf ' \033[36minfo\033[0m %s\n' "$*"; } # censo, NO veredicto: no
|
|||||||
# ── Check 1 · integridad de la copia vendorizada (C11) ───────────────────────
|
# ── 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
|
# 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.
|
# 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() {
|
check_drift() {
|
||||||
hdr "integridad de la copia vendorizada (C11)"
|
hdr "integridad de la copia vendorizada (C11)"
|
||||||
local md="$ROOT/.metodo"
|
local md="$ROOT/.metodo"
|
||||||
@ -889,6 +903,7 @@ cmd_update() {
|
|||||||
cmd_check() {
|
cmd_check() {
|
||||||
printf 'metodo check — %s\n' "$ROOT"
|
printf 'metodo check — %s\n' "$ROOT"
|
||||||
check_drift
|
check_drift
|
||||||
|
check_apendices_no_viajan
|
||||||
check_ids
|
check_ids
|
||||||
check_headings
|
check_headings
|
||||||
check_links
|
check_links
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user