From d42191d615827f52065b52570bdbe507e64fffb9 Mon Sep 17 00:00:00 2001 From: sirxavor Date: Tue, 1 Sep 2026 11:42:26 +0200 Subject: [PATCH] chore(metodo): un arbitro que cuelga del sitio que arbitra no es un arbitro El diseno de tolerancia puede ser correcto en la capa que lo declara y no sostenerse porque la RED no acompana. Y el precedente que da confianza puede ser justo el que no cubre tu direccion. Sesion: superadmin Co-Authored-By: Claude Opus 5 (1M context) --- .metodo/CHECKSUMS | 2 +- .metodo/metodo.md | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/.metodo/CHECKSUMS b/.metodo/CHECKSUMS index 256b557..057561b 100644 --- a/.metodo/CHECKSUMS +++ b/.metodo/CHECKSUMS @@ -1,4 +1,4 @@ -3a8694c4136f39dd3506b6e1d343e699662bd91718713dfafa0c199aadeafa94 metodo.md +f97b970ed6f4d89af3e040938cb2f01f368db436905d0ae9bf1732b0083a9ec0 metodo.md a2418f334e07ea47dee15db713f25bb619383e3ae41facb91ad07626fc440cec bin/metodo f89b71bdf31028b05075636c1763c964e379bc37a00e0357d1c23a4dd19c09aa workflows/README.md cc241bbecf9647c747b8525b3a6b527455cd50ca0312caa44bc3544342c8ac41 workflows/comunicacion-entre-sesiones.md diff --git a/.metodo/metodo.md b/.metodo/metodo.md index 7c6e7fd..6dbde7e 100644 --- a/.metodo/metodo.md +++ b/.metodo/metodo.md @@ -905,6 +905,30 @@ rojo. No afirmes en verde algo que **dejó de ser cierto**. El plan escrito puede partir de una foto obsoleta o de otro entorno. +⛔⛔ **UN ÁRBITRO QUE DEPENDE FÍSICAMENTE DE UNO DE LOS DOS LADOS NO ES UN ÁRBITRO.** Un diseño de +tolerancia por sitios —dos y dos, más un tercero que decide— **puede ser correcto en la capa que lo +declara y no sostenerse, porque LA RED NO ACOMPAÑA AL DISEÑO.** +*(Cicatriz 2026-09-01: un cluster con `2+2+árbitro`, el árbitro en un **tercer** emplazamiento con +switch propio ⇒ sobre el papel, impecable. Medido por el `Designated Bridge` del root port: **ese +tercer sitio cuelga físicamente del switch del sitio A**, y su enlace redundante lleva **los dos +puertos caídos y sin transceptor** —diseñado y **nunca completado**—. ⇒ Apagar el sitio A **no se +lleva 2 nodos: se lleva 3**, y el quórum pasa de `3 de 5` a **`2 de 5`: se pierde**, en el plano de +control **y** en el almacenamiento. **No se degrada: se para.**)* +⇒ **La comprobación no está en la capa que declara la tolerancia**: `etcd` dice cuántos miembros hay +y dónde, **no por dónde llegan**. ⭐ **Pregunta a hacerse siempre: ¿por qué CAMINO físico llega el que +decide?** Si la respuesta pasa por uno de los lados que arbitra, **el diseño es correcto y la +propiedad no existe**. + +⛔ **Y EL COROLARIO, QUE ES LO QUE MÁS ENGAÑA: EL PRECEDENTE QUE DA CONFIANZA PUEDE SER JUSTAMENTE EL +QUE NO CUBRE TU DIRECCIÓN.** *(La misma operación se había hecho **una semana antes** y salió bien — +pero sobre el **lado contrario**, que era del que **no** colgaba el árbitro. **La asimetría era +invisible desde el éxito.**)* +⇒ **Un precedente prueba la dirección que recorrió, no la operación.** Antes de apoyarte en él: +**¿qué es DISTINTO entre aquella vez y ésta?** — y si la respuesta es *«nada relevante»*, **eso hay +que medirlo, no suponerlo**: en ese mismo caso, **la carga estaba 169 contra 89** porque la ventana +anterior **había desplazado trabajo que nunca volvió**. ⇒ **Cada uso del precedente lo invalida un +poco más**, porque la operación anterior **cambió el sistema**. + ⛔ **«PARA y reporta» ESTABA A MEDIAS: no decía A QUIÉN.** Y el hueco costó dos veces el mismo día, por los dos lados, en dos frentes distintos. @@ -1953,6 +1977,18 @@ persigue. **Lo que sí se puede es avisar antes y decirlo después.** Su único testigo es **un `push` rechazado**, o sea **un fallo que puede no llegar a producirse**. ⇒ **`--amend` sólo es seguro sobre un `HEAD` que has VERIFICADO que sigue siendo tuyo** —`git log -1`—, nunca sobre el que recuerdas haber hecho. + ⛔ **Y UN QUINTO, DE LA HERRAMIENTA Y NO DE `git`: CON EL `cd` PERSISTENTE DEL SHELL, UNA RUTA + RELATIVA NO IDENTIFICA UN FICHERO.** El mismo `doc/bitacora.md` es un fichero distinto según dónde + quedó el shell del comando anterior — y **no falla: escribe en el sitio equivocado y calla**. + *(Cicatriz 2026-09-01: una sesión anexa **168 líneas** de su bitácora **al repo de otro frente** + porque el `cd` seguía puesto. Lo cazó **careando el `tail` del fichero** —salió una entrada de tres + días antes— y un `git diff --stat` **vacío** donde esperaba su cambio. Y el mismo desliz le hizo + además **leer los avisos del repo equivocado**, así que numeró su hallazgo `A12` cuando allí iban + por `A5`: **un identificador inventado que habría quedado escrito**.)* + ⇒ **En un árbol multi-repo se trabaja con rutas ABSOLUTAS y `git -C `**, no con `cd` + ruta + relativa. ⭐ Y el testigo que lo caza es barato y hay que hacerlo antes de commitear: **mira el + `tail` de lo que acabas de escribir y el `--stat` de lo que vas a commitear.** Si el `--stat` sale + vacío donde esperabas tu cambio, **no es que no haya cambio: es que está en otro sitio**. ⭐⭐ **Y LA MITAD QUE SÍ SE PUEDE ATAR, PORQUE EL MENSAJE SÍ LO CONTROLAMOS: CADA COMMIT DICE QUIÉN LO HIZO.** `git` no tiene concepto de sesión — pero **el mensaje es nuestro**. Un *trailer* con el **ROL**