chore(metodo): reparto — una inspeccion no gana una carrera + familia G fundida

Cuatro colisiones en un dia sobre el mismo fichero, las cuatro con las tres
puertas puestas: son INSPECCION y miran; lo unico que no depende de cuando
mires es `git commit -- <rutas>`, que EXCLUYE. Y lo que ningun gesto de git
arregla es que otra sesion te sobrescriba el working tree.

Fase 2 de la compresion: familia G fundida en un rail (todo amortiguador
esconde el fallo que amortigua), cinco cicatrices intactas.

Solo .metodo/ — byte a byte desde la matriz.

Sesion: superadmin

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
sirxavor 2026-09-02 19:40:05 +02:00
parent d690d5c861
commit 54e2520958
2 changed files with 58 additions and 42 deletions

View File

@ -1,4 +1,4 @@
411e75dd254ed1555a6091cf9c99ee15c889b320707fcf9caabd11d7cffc9082 metodo.md
c33430904d508a6398ddba6388d9968268da2e46e35509120aafb1723c268b11 metodo.md
fb7e88324524184b9f685c49c0bbcc6c9a55beb07bb5c0b1b31cd29c51c4117f bin/metodo
f89b71bdf31028b05075636c1763c964e379bc37a00e0357d1c23a4dd19c09aa workflows/README.md
cc241bbecf9647c747b8525b3a6b527455cd50ca0312caa44bc3544342c8ac41 workflows/comunicacion-entre-sesiones.md

View File

@ -1660,49 +1660,41 @@ edge**.)*
hipótesis. Ejercítalo **antes** de necesitarlo: el día que haga falta, ya es tarde para descubrir
que el remedio quita lo que venía a proteger.
**La REDUNDANCIA oculta el fallo que la va a necesitar.** Un defecto tapado por el camino
alternativo no se ve mientras el camino alternativo esté — y aparece **exactamente** el día que ya no
está, o sea en el peor momento y sin historial. *(Cicatriz `A18`, 2026-07-31: con la identidad del
edge divergiendo entre los dos hubs, el nombre **seguía respondiendo 3/3** porque el tráfico rodeaba
por el otro router de campo —`G8` funde los dominios de inundación—. Con ese aparato apagado, el hub habría
perdido al edge **del todo**.)*
⇒ Para ver el fallo, **quita la redundancia y vuelve a medir**: apaga el camino alterno, tira el
segundo hub, desconecta el vecino. Un verde obtenido con todas las rutas vivas **no dice si el
servicio funciona: dice que alguna de ellas funciona.**
⛔ **TODO AMORTIGUADOR ESCONDE EL FALLO QUE AMORTIGUA — y lo enseña el día que ya no está: en el peor
momento y sin historial.** El defecto **no está latente: está ocurriendo**, sólo que algo lo paga por
ti. Tres amortiguadores, tres cicatrices, un solo mecanismo:
- **REDUNDANCIA de caminos.** *(`A18`, 2026-07-31: con la identidad del edge divergiendo entre los dos
hubs, el nombre **seguía respondiendo 3/3** porque el tráfico rodeaba por el otro router de campo.
Con ese aparato apagado, el hub habría perdido al edge **del todo**.)* ⇒ Un verde con todas las
rutas vivas **no dice que el servicio funcione: dice que alguna de ellas funciona.**
- **ABUNDANCIA de recursos.** *(`P12`, 2026-08-02: un edge sin binario de Rosenpass se bajaba la
pubkey del hub —**524.160 B**— cada 20 s y por cada hub. En el router grande (6,8 GB) no se nota
**jamás**; en un GL-AR300M eran **1 MB sobre 212 KB libres**. Lo hizo visible el aparato pequeño,
no una búsqueda.)* ⇒ Disco, RAM, CPU y ancho de banda **convierten un fallo en una estadística que
nadie mira**. **La flota real se parece al más pobre, no al banco.**
- **UPTIME: el proceso vivo.** Sostiene en memoria cosas que ya no existen fuera, y **el reinicio no
rompe nada: es cuando se descubre lo que llevaba roto**. *(Cinco cicatrices en tres días,
2026-07-27/30: los seis `postconf` del smtp-relay vivían en un contenedor · el
`argocd-image-updater` falla `unauthorized` con una **credencial cacheada**, y lo único que frenaba
que reescribiera un pin bueno era esa avería —**reiniciarlo ARMA el riesgo**— · `kernel-engine`
corre un digest **que ya no está en el registro**: 62 días arriba y un reinicio lo deja en
`ImagePullBackOff`.)* ⇒ **Un `uptime` largo es motivo de SOSPECHA, no de confianza.**
**Y su hermano, que es el que nadie busca: la ABUNDANCIA de recursos esconde el derroche.** Medir
siempre en el aparato más holgado no certifica nada del más apretado — y el defecto no está latente,
está **ocurriendo**, solo que sobra sitio para pagarlo. *(Cicatriz `P12`, 2026-08-02: con `F13·D10`
—la del **edge**, «PQ siempre que se pueda»— un edge **sin binario de Rosenpass** seguía bajándose
la pubkey del hub —**524.160 B**— en el bucle de 20 s **y por cada hub**. En el router grande (6,8 GB de
overlay) no se nota **jamás**; en un GL-AR300M eran **1 MB sobre 212 KB libres**. Se descubrió
porque el aparato pequeño lo hizo visible, no porque alguien lo buscara.)*
⇒ Pregunta cuando una medida salga limpia: **¿en qué aparato la he tomado, y qué le sobraba?** Disco,
RAM, CPU y ancho de banda son todos amortiguadores que convierten un fallo en una estadística que
nadie mira. La flota real se parece al más pobre, no al banco.
**«0 reinicios» no es estabilidad: es un estado NO EJERCITADO.** Un proceso vivo sostiene en su
memoria cosas que ya no existen fuera — y mientras no reinicie, nadie se entera. El reinicio no
*rompe* nada: es el momento en que se descubre lo que llevaba roto. *(Cinco cicatrices en tres días,
2026-07-27/30: los seis `postconf` del smtp-relay vivían en un contenedor y se perdían al reiniciar ·
el `argocd-image-updater` falla `unauthorized` en cada ciclo con una **credencial cacheada en
memoria**, y lo único que frenaba que reescribiera un pin bueno era esa avería — reiniciarlo **arma**
el riesgo · `kernel-engine` corre un digest que **ya no está en el registro**: lleva 62 días arriba y
un reinicio lo deja en `ImagePullBackOff` · `tang` y `tftp` son el mismo caso sin verificar.)*
⇒ Cuando midas algo que lleva mucho arriba, la pregunta **no** es «¿funciona?» — es **«¿sobrevive a
un reinicio?»**, y se contesta careando lo que el proceso usa contra lo que hay **hoy** en su origen
(el registro, el fichero, el secreto). Un `uptime` largo es motivo de **sospecha**, no de confianza.
⇒ Corolario para retiradas: antes de quitar un mecanismo, comprueba si algo vivo **depende de que no
se reinicie**. Quitar la última forma de reconstruir algo que hoy solo existe en una caché convierte
una limpieza en una pérdida.
**Y el mismo raíl al revés: un arreglo COMMITEADO no es un arreglo APLICADO.** Todo lo que se lee
⇒ ⭐ **El remedio es el mismo en los tres: QUITA EL AMORTIGUADOR Y VUELVE A MEDIR.** Apaga el camino
alterno · mide en el aparato más apretado, no en el más holgado · **reinicia, o carea lo que el
proceso cree contra lo que hay HOY en su origen** (el registro, el fichero, el secreto).
**Y las tres preguntas, cuando una medida salga limpia**: *¿qué la estaba tapando?* · *¿en qué
aparato la he tomado y qué le sobraba?* · *¿sobrevive a un reinicio?*
**Corolario para retiradas**: antes de quitar un mecanismo, comprueba si algo vivo **depende de que
no se reinicie**. Quitar la última forma de reconstruir algo que hoy sólo existe en una caché
convierte una limpieza en una pérdida.
⇒ ⛔ **Y el mismo raíl al revés: un arreglo COMMITEADO no es un arreglo APLICADO.** Todo lo que se lee
**al arrancar** —ConfigMap, variables de entorno, fichero de configuración— sigue siendo el viejo
hasta que el proceso reinicie, y el `git log` dice que está arreglado. *(Cicatriz 2026-07-31:
el MCP de build llevaba **21 h** con el config anterior al renombrado de los hubs. El fix se commiteó a
las 00:49, pero **editar un ConfigMap no rueda el Deployment** ⇒ seguía sondeando un nombre que hoy
es `NXDOMAIN` ⇒ el `verify` no respondía nunca ⇒ **auto-rollback que deshizo un pin bueno**. Tercera
vez esta semana que **el mecanismo de seguridad es el asesino**.)*
⇒ Cierra el cambio **midiendo lo que el proceso vivo cree**, no lo que dice el repositorio.
hasta que el proceso reinicie, **y el `git log` dice que está arreglado**. *(Cicatriz 2026-07-31: el
MCP de build llevaba **21 h** con el config anterior al renombrado de los hubs; el fix se commiteó a
las 00:49, pero **editar un ConfigMap no rueda el Deployment** ⇒ sondeaba un nombre hoy `NXDOMAIN`
el `verify` no respondía ⇒ **auto-rollback que deshizo un pin bueno**.)* ⇒ **Cierra el cambio midiendo
lo que el proceso vivo cree, no lo que dice el repositorio.**
⛔ **REVOCAR una credencial se lleva a sus HIJAS — así que «revocar el root» solo es seguro cuando
todo lo que importa es HUÉRFANO, y eso se mide ANTES.** Una limpieza de credenciales no es una
@ -2256,6 +2248,30 @@ pega tal cual.
fichero ajeno a su cambio. El `push` sale rechazado por no-fast-forward, que es **la única razón por
la que se vio**. Sin ese rechazo, la reescritura se habría publicado.)*
⇒ **Regla: en un working tree compartido, `--amend` sólo sobre un commit que sabes que es tuyo Y que
⛔⛔ **UNA INSPECCIÓN NO GANA UNA CARRERA — y todas las puertas de aquí arriba son inspección.**
`git status --porcelain` antes del primer `add`, `git diff --cached --name-only` justo antes de
commitear, predecir el diffstat: **los tres MIRAN**. Contra un competidor concurrente, mirar sólo
te dice **cómo iba la carrera cuando miraste** — y el resultado depende de **cuándo** mires, que es
precisamente lo que no controlas.
*(Cicatriz 2026-09-02: **cuatro colisiones sobre el mismo fichero en un día, LAS CUATRO CON LAS TRES
PUERTAS PUESTAS.** Una sesión publicó la fila de otra · un `awk` por número de línea borró una fila
viva **40 minutos** · otra partió una fila en dos · y a la cuarta, **entre dos comandos
consecutivos**, el índice se le llenó de un fichero ajeno **y su edición del working tree
desapareció**, sobrescrita; al ir a commitear, «nothing to commit»: **ya lo había publicado un
tercero** dentro de un commit que hablaba de otra cosa. **Cero pérdidas y la atribución cruzada
cuatro veces.**)*
**Lo único que no depende de cuándo mires es lo que EXCLUYE en vez de inspeccionar**:
**`git commit -- <rutas>`** (o `-o`) commitea esas rutas **pase lo que pase en el resto del índice**.
⚠️ **Ojo a la sintaxis, que se falla a la primera**: el mensaje va **antes** del separador —
`git commit -m "…" -- <ruta>`; poner el `-m` después lo convierte en un pathspec y el commit muere.
⇒ ⛔ **Y lo que ningún gesto de git arregla: que otra sesión te sobrescriba el WORKING TREE.**
No hay dos copias. Mover la coordinación a git **compra historial, no aislamiento** — y la única
salida real es **que dos sesiones no escriban el mismo fichero**, no una puerta mejor.
⇒ ⭐ La forma general, y vale fuera de git: **ante una carrera, una comprobación no es una
solución.** Sirve para *saber* que perdiste, no para ganar. Lo que resuelve una carrera es
**eliminarla** —partir el recurso, dar turnos, excluir por construcción—; todo lo demás es
contar accidentes con más detalle.
⛔ **Y UN CUARTO FILO, QUE NO ES UN FILO SINO UN MODELO MENTAL EQUIVOCADO: NO HAY DOS CLONES.**
Las sesiones de una misma máquina **comparten el mismo working tree y el mismo índice** — no son
copias que haya que sincronizar. ⇒ **`git pull` entre ellas es un no-op**, y recomendarlo *«para no