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:
parent
d690d5c861
commit
54e2520958
@ -1,4 +1,4 @@
|
|||||||
411e75dd254ed1555a6091cf9c99ee15c889b320707fcf9caabd11d7cffc9082 metodo.md
|
c33430904d508a6398ddba6388d9968268da2e46e35509120aafb1723c268b11 metodo.md
|
||||||
fb7e88324524184b9f685c49c0bbcc6c9a55beb07bb5c0b1b31cd29c51c4117f bin/metodo
|
fb7e88324524184b9f685c49c0bbcc6c9a55beb07bb5c0b1b31cd29c51c4117f bin/metodo
|
||||||
f89b71bdf31028b05075636c1763c964e379bc37a00e0357d1c23a4dd19c09aa workflows/README.md
|
f89b71bdf31028b05075636c1763c964e379bc37a00e0357d1c23a4dd19c09aa workflows/README.md
|
||||||
cc241bbecf9647c747b8525b3a6b527455cd50ca0312caa44bc3544342c8ac41 workflows/comunicacion-entre-sesiones.md
|
cc241bbecf9647c747b8525b3a6b527455cd50ca0312caa44bc3544342c8ac41 workflows/comunicacion-entre-sesiones.md
|
||||||
|
|||||||
@ -1660,49 +1660,41 @@ edge**.)*
|
|||||||
hipótesis. Ejercítalo **antes** de necesitarlo: el día que haga falta, ya es tarde para descubrir
|
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.
|
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
|
⛔ **TODO AMORTIGUADOR ESCONDE EL FALLO QUE AMORTIGUA — y lo enseña el día que ya no está: en el peor
|
||||||
alternativo no se ve mientras el camino alternativo esté — y aparece **exactamente** el día que ya no
|
momento y sin historial.** El defecto **no está latente: está ocurriendo**, sólo que algo lo paga por
|
||||||
está, o sea en el peor momento y sin historial. *(Cicatriz `A18`, 2026-07-31: con la identidad del
|
ti. Tres amortiguadores, tres cicatrices, un solo mecanismo:
|
||||||
edge divergiendo entre los dos hubs, el nombre **seguía respondiendo 3/3** porque el tráfico rodeaba
|
- **REDUNDANCIA de caminos.** *(`A18`, 2026-07-31: con la identidad del edge divergiendo entre los dos
|
||||||
por el otro router de campo —`G8` funde los dominios de inundación—. Con ese aparato apagado, el hub habría
|
hubs, el nombre **seguía respondiendo 3/3** porque el tráfico rodeaba por el otro router de campo.
|
||||||
perdido al edge **del todo**.)*
|
Con ese aparato apagado, el hub habría perdido al edge **del todo**.)* ⇒ Un verde con todas las
|
||||||
⇒ Para ver el fallo, **quita la redundancia y vuelve a medir**: apaga el camino alterno, tira el
|
rutas vivas **no dice que el servicio funcione: dice que alguna de ellas funciona.**
|
||||||
segundo hub, desconecta el vecino. Un verde obtenido con todas las rutas vivas **no dice si el
|
- **ABUNDANCIA de recursos.** *(`P12`, 2026-08-02: un edge sin binario de Rosenpass se bajaba la
|
||||||
servicio funciona: dice que alguna de ellas funciona.**
|
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
|
⇒ ⭐ **El remedio es el mismo en los tres: QUITA EL AMORTIGUADOR Y VUELVE A MEDIR.** Apaga el camino
|
||||||
siempre en el aparato más holgado no certifica nada del más apretado — y el defecto no está latente,
|
alterno · mide en el aparato más apretado, no en el más holgado · **reinicia, o carea lo que el
|
||||||
está **ocurriendo**, solo que sobra sitio para pagarlo. *(Cicatriz `P12`, 2026-08-02: con `F13·D10`
|
proceso cree contra lo que hay HOY en su origen** (el registro, el fichero, el secreto).
|
||||||
—la del **edge**, «PQ siempre que se pueda»— un edge **sin binario de Rosenpass** seguía bajándose
|
⇒ **Y las tres preguntas, cuando una medida salga limpia**: *¿qué la estaba tapando?* · *¿en qué
|
||||||
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
|
aparato la he tomado y qué le sobraba?* · *¿sobrevive a un reinicio?*
|
||||||
overlay) no se nota **jamás**; en un GL-AR300M eran **1 MB sobre 212 KB libres**. Se descubrió
|
⇒ **Corolario para retiradas**: antes de quitar un mecanismo, comprueba si algo vivo **depende de que
|
||||||
porque el aparato pequeño lo hizo visible, no porque alguien lo buscara.)*
|
no se reinicie**. Quitar la última forma de reconstruir algo que hoy sólo existe en una caché
|
||||||
⇒ Pregunta cuando una medida salga limpia: **¿en qué aparato la he tomado, y qué le sobraba?** Disco,
|
convierte una limpieza en una pérdida.
|
||||||
RAM, CPU y ancho de banda son todos amortiguadores que convierten un fallo en una estadística que
|
⇒ ⛔ **Y el mismo raíl al revés: un arreglo COMMITEADO no es un arreglo APLICADO.** Todo lo que se lee
|
||||||
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
|
|
||||||
**al arrancar** —ConfigMap, variables de entorno, fichero de configuración— sigue siendo el viejo
|
**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:
|
hasta que el proceso reinicie, **y el `git log` dice que está arreglado**. *(Cicatriz 2026-07-31: el
|
||||||
el MCP de build llevaba **21 h** con el config anterior al renombrado de los hubs. El fix se commiteó a
|
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
|
las 00:49, pero **editar un ConfigMap no rueda el Deployment** ⇒ sondeaba un nombre hoy `NXDOMAIN` ⇒
|
||||||
es `NXDOMAIN` ⇒ el `verify` no respondía nunca ⇒ **auto-rollback que deshizo un pin bueno**. Tercera
|
el `verify` no respondía ⇒ **auto-rollback que deshizo un pin bueno**.)* ⇒ **Cierra el cambio midiendo
|
||||||
vez esta semana que **el mecanismo de seguridad es el asesino**.)*
|
lo que el proceso vivo cree, no lo que dice el repositorio.**
|
||||||
⇒ 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
|
⛔ **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
|
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
|
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.)*
|
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
|
⇒ **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.**
|
⛔ **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
|
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
|
copias que haya que sincronizar. ⇒ **`git pull` entre ellas es un no-op**, y recomendarlo *«para no
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user