From e0c49610c3eeacb7c2f4311d4fbc6f9b73b0d030 Mon Sep 17 00:00:00 2001 From: sirxavor Date: Wed, 2 Sep 2026 21:55:53 +0200 Subject: [PATCH] =?UTF-8?q?chore(metodo):=20reparto=20=E2=80=94=20guarda?= =?UTF-8?q?=20contra=20que=20la=20matriz=20se=20vendorice=20a=20si=20misma?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- .metodo/CHECKSUMS | 2 +- .metodo/bin/metodo | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/.metodo/CHECKSUMS b/.metodo/CHECKSUMS index de3f741..586add6 100644 --- a/.metodo/CHECKSUMS +++ b/.metodo/CHECKSUMS @@ -1,5 +1,5 @@ 802b38924f2e8159e1fcb59937661312463dc3fcbb58fbe58f04b4a64a5a038f metodo.md -6850fa105390147de7c7dc6db63c20e26be483a66eb3ce0c7eb618857df092c3 bin/metodo +36796ff4e2adf641dac48b4436a86ba75f99a919886b73e0b5266642a4b55634 bin/metodo f89b71bdf31028b05075636c1763c964e379bc37a00e0357d1c23a4dd19c09aa workflows/README.md cc241bbecf9647c747b8525b3a6b527455cd50ca0312caa44bc3544342c8ac41 workflows/comunicacion-entre-sesiones.md 2b9037f6dd57b5598c70a676cb728556654f05d1c5b024e7b716864659f7b884 workflows/sesion-ejecucion.md diff --git a/.metodo/bin/metodo b/.metodo/bin/metodo index a276390..cbb7c50 100644 --- a/.metodo/bin/metodo +++ b/.metodo/bin/metodo @@ -1028,6 +1028,18 @@ EOF cmd_update() { local tgt="${1:-.}" _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" [ -d "$md" ] || { echo "metodo update: $tgt no tiene .metodo/ — usa 'metodo init $tgt'."; exit 2; } cp "$SELF_ROOT/metodo.md" "$md/metodo.md"