diff --git a/.metodo/CHECKSUMS b/.metodo/CHECKSUMS index ead9679..62f5b19 100644 --- a/.metodo/CHECKSUMS +++ b/.metodo/CHECKSUMS @@ -1,4 +1,4 @@ -ee4634ed50347ee75186204f2d460ad40d12e129a822b34208c8f1f775916ec8 metodo.md +1138db1c676687e838b4c1f510b58f6c877e59be72d001c9aa03482faa619081 metodo.md 11bf48ad900c3a8748f229f4938a600ddd2a34897f36ee2284b10b5d44e3a0bf bin/metodo f89b71bdf31028b05075636c1763c964e379bc37a00e0357d1c23a4dd19c09aa workflows/README.md cc241bbecf9647c747b8525b3a6b527455cd50ca0312caa44bc3544342c8ac41 workflows/comunicacion-entre-sesiones.md diff --git a/.metodo/metodo.md b/.metodo/metodo.md index a5dee65..1106f13 100644 --- a/.metodo/metodo.md +++ b/.metodo/metodo.md @@ -1073,6 +1073,14 @@ vez — y la segunda versión es la que se equivoca. *(cicatriz `C-148`)* no lo caza revisar el código. ⇒ La pregunta no es *«¿está centralizado?»* sino **«¿qué me impide reescribirlo?»** — y si la respuesta es *«acordarme»*, no está centralizado. +⛔ **UN ARREGLO QUE SÓLO VIVE EN UN EJEMPLO NO ESTÁ ARREGLADO: ESTÁ ANOTADO.** Si la corrección +existe en **un caso concreto** —un fichero de una máquina, un anexo, una guía de integración— y no +en **el mecanismo que genera los casos**, el siguiente caso nace con el defecto y **se paga entero +otra vez**, con el agravante de que **alguien puede enseñarte que ya estaba resuelto**. +*(cicatriz `C-151`; segunda ocurrencia en dos días, la primera en el censo de `A15`)* +⇒ **Al cerrar algo, la pregunta no es «¿está arreglado?» sino «¿de dónde saldrá el PRÓXIMO?»** — y si +la respuesta es una plantilla, un rol o un generador, **el arreglo va ahí o no está hecho**. + - El design system propio → `sync.sh` copia y `--check` verifica; el `.ipk` y la imagen del hub construyen sin dependencias externas. Tres consumidores, cero cambios en el componente = el contrato estaba bien puesto. @@ -1762,6 +1770,26 @@ pega tal cual. anterior — y **no falla: escribe en el sitio equivocado y calla**. *(cicatriz `C-144`)* ⇒ **Rutas ABSOLUTAS y `git -C `**, nunca `cd` + relativa. Y el testigo es barato: **el `tail` de lo que acabas de escribir y el `--stat` de lo que vas a commitear**; si el `--stat` sale vacío, **no es que no haya cambio: está en otro sitio**. + ⛔⛔ **UN PUSH EN BUCLE SOBRE MUCHOS REPOS PUBLICA LO AJENO POR DISEÑO — y el que lo sufre no se + entera.** *«Empujar todo repo que tenga commits pendientes»* es el gesto natural de un reparto, y + **es exactamente la regla equivocada**: publica lo que haya, lo haya puesto quien lo haya puesto, + **incluido el trabajo a medias de otra sesión que aún lo estaba escribiendo**. + *(cicatriz `C-150`)* + ⇒ ⛔ **Y convierte en trampa un raíl que sí se cumplió**: la otra sesión corrió + `git log origin/main..HEAD`, vio el commit ajeno y **lo declaró en su mensaje** — y para cuando su + commit se publicó, **ese aviso ya era falso**. Cumplir el raíl produjo un mensaje mentiroso. + ⇒ ⛔ **Y a un `--amend` legítimo lo convierte en reescritura de historia publicada**, porque lo que + amplías **ya está en el remoto sin que lo hayas subido tú**. + ⇒ ⭐ **El gesto correcto no es mirar mejor: es NO EMPUJAR LO QUE NO ES TUYO.** En un bucle, por + cada repo: **si `origin/main..HEAD` trae algo que no es de tu ámbito, SÁLTATELO y dilo** — nunca + «lo empujo y lo declaro», que es lo que parecía razonable y publica trabajo en vuelo. + ⚠️ **Y el límite, que hay que saberse**: `origin/main..HEAD` mide **un estado que otra sesión puede + cambiar entre que lo lees y que actúas**, y la ventana es de **segundos**. Es **necesario y ya no + suficiente** — otra cara de *«una inspección no gana una carrera»*. El único árbitro algo más + fiable es **`git ls-remote` inmediatamente antes**, y aun así hay carrera. ⇒ **Lo que de verdad + cierra esto no es un control mejor: es el alcance** —empujar sólo lo tuyo—, que **no depende de + cuándo mires**. + ⇒ ⭐ **LAS TRES PUERTAS, EN UN SOLO SITIO — y no son redundantes: cubren VENTANAS DISTINTAS.** `git status --porcelain` **antes del primer `add`** *(sólo ve lo que YA ESTABA cuando empezaste)* ·