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) <noreply@anthropic.com>
This commit is contained in:
sirxavor 2026-09-01 11:42:26 +02:00
parent 73f3c5001e
commit d42191d615
2 changed files with 37 additions and 1 deletions

View File

@ -1,4 +1,4 @@
3a8694c4136f39dd3506b6e1d343e699662bd91718713dfafa0c199aadeafa94 metodo.md
f97b970ed6f4d89af3e040938cb2f01f368db436905d0ae9bf1732b0083a9ec0 metodo.md
a2418f334e07ea47dee15db713f25bb619383e3ae41facb91ad07626fc440cec bin/metodo
f89b71bdf31028b05075636c1763c964e379bc37a00e0357d1c23a4dd19c09aa workflows/README.md
cc241bbecf9647c747b8525b3a6b527455cd50ca0312caa44bc3544342c8ac41 workflows/comunicacion-entre-sesiones.md

View File

@ -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 <repo>`**, 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**