From a57efc1bb659b2ba11a3321cdb774b9123a42746 Mon Sep 17 00:00:00 2001 From: sirxavor Date: Mon, 31 Aug 2026 19:06:48 +0200 Subject: [PATCH] chore(metodo): los dos limites de C26 y donde se sella un gate nuevo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit C26 mide presencia, no autoria: cualquier valor vale y una persona escribe el suyo. Dice quien ESCRIBIO, no quien publico, y es autodeclarado — caza la ausencia, nunca un rol equivocado. Sesion: superadmin Co-Authored-By: Claude Opus 5 (1M context) --- .metodo/CHECKSUMS | 4 ++-- .metodo/bin/metodo | 2 +- .metodo/metodo.md | 19 +++++++++++++++++++ 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/.metodo/CHECKSUMS b/.metodo/CHECKSUMS index 6217c75..6867805 100644 --- a/.metodo/CHECKSUMS +++ b/.metodo/CHECKSUMS @@ -1,5 +1,5 @@ -5ff67472a10f22c9425a3d0a4395d32930010c65499a2a6ce4e958ea47311f6c metodo.md -d911bec6c3b969cce80d0a5c500780dde348eb3b0e8d15bb4ef61dbce5c8181e bin/metodo +4dc0daf48bbd6b7d1272de64411d33f777f5a78f9e41640db61a47d5aa3e5683 metodo.md +648a9dacc40d3649ef2e7a93b4227b74eff9479bd03ccab1c3dd6b0f757793bf 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 9606154..cd3117a 100644 --- a/.metodo/bin/metodo +++ b/.metodo/bin/metodo @@ -132,7 +132,7 @@ check_sesion_trailer() { [ -z "$sha" ] && continue n=$((n+1)) git -C "$ROOT" log -1 --format='%B' "$sha" | grep -qE '^Sesion:[[:space:]]*\S' || { - bad "commit sin 'Sesion:' — $(git -C "$ROOT" log -1 --format='%h %s' "$sha" | cut -c1-70) (C26)"; mal=$((mal+1)); } + bad "commit sin 'Sesion:' — $(git -C "$ROOT" log -1 --format='%h %s' "$sha" | cut -c1-60) (C26) — si lo hiciste A MANO, vale 'Sesion: xavier'; si aún no está empujado, un 'git commit --amend' sobre TU commit lo cierra sin excepciones"; mal=$((mal+1)); } done </dev/null) EOF diff --git a/.metodo/metodo.md b/.metodo/metodo.md index d0ce672..5c715ab 100644 --- a/.metodo/metodo.md +++ b/.metodo/metodo.md @@ -1940,6 +1940,25 @@ del rojo crónico aplicada al diseñar el gate, no después de sufrirlo.)* y por eso *«un commit ajeno bajo un mensaje que habla de otra cosa borra la única atribución que hay»*. Con el trailer, **la atribución deja de depender de que el mensaje la mencione de pasada**: está en un campo, es constante, y **se puede contar**. +⛔ **Y `C26` NO distingue a una sesión que OLVIDA el trailer de una PERSONA commiteando a mano** —en +un árbol donde el autor `git` es el mismo para todas, **no hay señal que los separe**—. ⇒ Por eso el +gate mide **presencia**, no autoría: **cualquier valor vale**, y **una persona escribe el suyo** +(`Sesion: `). Y su aviso **dice el gesto**: si aún no está empujado, **un `--amend` sobre +tu propio commit lo cierra sin necesitar excepción**. ⭐ *Un rojo que nombra el arreglo en una línea +no se vuelve crónico; uno que sólo acusa, sí.* +⛔ **DOS LÍMITES, escritos para que nadie estire el gate:** +**(1)** Dice quién **ESCRIBIÓ** el commit, **no quién lo PUBLICÓ**. Hace el `log` legible **después**; +**lo que evita el accidente antes sigue siendo `git log origin/main..HEAD`**, y el trailer **no lo +sustituye**. +**(2)** Es **autodeclarado**: caza **la ausencia**, nunca un rol **equivocado**. Y un `--amend` ajeno +**reescribe también el trailer**, así que ahí el `log` diría el rol del que enmendó. +⇒ **De los cuatro filos, `C26` hace LEGIBLES dos y no toca los otros dos.** Es una mejora real; **no +es el cierre de la familia**, y decirlo forma parte de tenerla. + +⭐ **Y la regla de diseño que sale de compararlo con el gate anterior: UN GATE NUEVO SE SELLA DONDE +EMPIEZA A PODER CUMPLIRSE, NO DONDE EMPEZÓ EL REPO.** *(Medido: el gate de los mensajes de commit +selló en el punto de adopción del Método **con historia mala por detrás**, y necesitó **excepciones +nominales**; el del trailer sella **el día que llega** ⇒ **cero excepciones, por construcción**.)* - La **representación en disco es parte del artefacto**: cuando un hash o un runtime consume el checkout, se fija con el repo — **eol** por `.gitattributes` y **bit de ejecución** — o el testigo mide el checkout, no el contenido (una DERIVA falsa en un clone sin tocar entrena a ignorar el