chore(metodo): reparto — guarda contra que la matriz se vendorice a si misma

Paso dos veces el 2026-09-02: metodo update sobre la propia matriz creaba
una segunda copia de la constitucion dentro de su fuente unica, sin dar
error. Ahora compara rutas resueltas y sale diciendolo.

Solo .metodo/ — byte a byte desde la matriz.

Sesion: superadmin

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
sirxavor 2026-09-02 21:55:53 +02:00
parent 92c4397e49
commit e0c49610c3
2 changed files with 13 additions and 1 deletions

View File

@ -1,5 +1,5 @@
802b38924f2e8159e1fcb59937661312463dc3fcbb58fbe58f04b4a64a5a038f metodo.md 802b38924f2e8159e1fcb59937661312463dc3fcbb58fbe58f04b4a64a5a038f metodo.md
6850fa105390147de7c7dc6db63c20e26be483a66eb3ce0c7eb618857df092c3 bin/metodo 36796ff4e2adf641dac48b4436a86ba75f99a919886b73e0b5266642a4b55634 bin/metodo
f89b71bdf31028b05075636c1763c964e379bc37a00e0357d1c23a4dd19c09aa workflows/README.md f89b71bdf31028b05075636c1763c964e379bc37a00e0357d1c23a4dd19c09aa workflows/README.md
cc241bbecf9647c747b8525b3a6b527455cd50ca0312caa44bc3544342c8ac41 workflows/comunicacion-entre-sesiones.md cc241bbecf9647c747b8525b3a6b527455cd50ca0312caa44bc3544342c8ac41 workflows/comunicacion-entre-sesiones.md
2b9037f6dd57b5598c70a676cb728556654f05d1c5b024e7b716864659f7b884 workflows/sesion-ejecucion.md 2b9037f6dd57b5598c70a676cb728556654f05d1c5b024e7b716864659f7b884 workflows/sesion-ejecucion.md

View File

@ -1028,6 +1028,18 @@ EOF
cmd_update() { cmd_update() {
local tgt="${1:-.}" local tgt="${1:-.}"
_is_matriz || { echo "metodo update: sólo se corre desde la MATRIZ."; exit 2; } _is_matriz || { echo "metodo update: sólo se corre desde la MATRIZ."; exit 2; }
# ⛔ La MATRIZ no se vendoriza a SÍ MISMA: crearía una segunda copia de la constitución
# dentro del repo que es su fuente única — exactamente la deriva que todo esto evita.
# Medido el 2026-09-02: pasó DOS veces el mismo día, porque el bucle de reparto de la
# superadmin no excluía la matriz al partirse en tandas. No da error: deja
# .metodo/metodo.md sin trackear y CLAUDE.md re-estampado, y sólo se ve en un `status`.
local _t _s
_t=$(cd "$tgt" 2>/dev/null && pwd -P) || _t="$tgt"
_s=$(cd "$SELF_ROOT" 2>/dev/null && pwd -P) || _s="$SELF_ROOT"
if [ "$_t" = "$_s" ]; then
echo "metodo update: el destino ES la matriz — no se vendoriza a sí misma (nada que hacer)."
return 0
fi
local md="$tgt/.metodo" local md="$tgt/.metodo"
[ -d "$md" ] || { echo "metodo update: $tgt no tiene .metodo/ — usa 'metodo init $tgt'."; exit 2; } [ -d "$md" ] || { echo "metodo update: $tgt no tiene .metodo/ — usa 'metodo init $tgt'."; exit 2; }
cp "$SELF_ROOT/metodo.md" "$md/metodo.md" cp "$SELF_ROOT/metodo.md" "$md/metodo.md"