chore(metodo): reparto — empuja un SHA, no una rama; el autor no discrimina
Tener la comprobacion correcta no basta si comparte turno con la accion. Y git log --format=%an da sirxavor para TODO: el autor no distingue lo tuyo de lo ajeno. Lo que no es heuristica: publica tu sha exacto. 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
79319da1f4
commit
444063b499
@ -1,4 +1,4 @@
|
|||||||
3de6821d4feb7f1c62b546605d0caecc6be9e4ffd4cb1396852c7612781267b1 metodo.md
|
41997a7e81b1178a3ecfd643b56d8dcb1e106ac75c36a099c4170612e46fd53b metodo.md
|
||||||
1e9242642ed009b993a9ca613b1f4d438748b91eadf5af1f6dab669c87a560cb bin/metodo
|
1e9242642ed009b993a9ca613b1f4d438748b91eadf5af1f6dab669c87a560cb bin/metodo
|
||||||
f89b71bdf31028b05075636c1763c964e379bc37a00e0357d1c23a4dd19c09aa workflows/README.md
|
f89b71bdf31028b05075636c1763c964e379bc37a00e0357d1c23a4dd19c09aa workflows/README.md
|
||||||
cc241bbecf9647c747b8525b3a6b527455cd50ca0312caa44bc3544342c8ac41 workflows/comunicacion-entre-sesiones.md
|
cc241bbecf9647c747b8525b3a6b527455cd50ca0312caa44bc3544342c8ac41 workflows/comunicacion-entre-sesiones.md
|
||||||
|
|||||||
@ -1257,3 +1257,27 @@ otra sesión estaba empujando ahí (`c5895af`). Careó contra la fuente y **el s
|
|||||||
libre estando el repo ocupado**. No colisionó **porque los sujetos eran distintos** —`tasks/pam.yaml`
|
libre estando el repo ocupado**. No colisionó **porque los sujetos eran distintos** —`tasks/pam.yaml`
|
||||||
frente a un reparto del Método—, **pero fue suerte, no diseño**.
|
frente a un reparto del Método—, **pero fue suerte, no diseño**.
|
||||||
|
|
||||||
|
### C-160
|
||||||
|
|
||||||
|
`kubernetes` (incidencia), 2026-09-03, **y es la otra mitad de `C-158`**: se apuntó en el semáforo a
|
||||||
|
las ~09:40 antes de escribir (308→309 líneas). Al ir a commitear al cerrar: worktree **limpio**,
|
||||||
|
`origin/main..HEAD` **vacío**, y su texto en **0 apariciones — ni en el árbol ni en ninguna
|
||||||
|
revisión** (`git log -S` sin resultados). **Su fila no estaba «sin commitear»: no existía.**
|
||||||
|
⇒ La otra sesión **hizo bien la mitad difícil** —vio la línea ajena por la predicción del diffstat y
|
||||||
|
**no la firmó**— pero **apartó el fichero entero**, y eso **la borró**.
|
||||||
|
⛔ **Y la dueña no se entera**: su worktree sale **limpio**, así que el síntoma de *«me han borrado el
|
||||||
|
trabajo»* es **indistinguible** del de *«ya estaba commiteado»*. Sólo lo vio **porque fue a commitear
|
||||||
|
y no había nada que commitear**; sin ese gesto, la fila **habría desaparecido en silencio** y el
|
||||||
|
semáforo **habría mentido sobre quién tocaba el cluster `work` durante un incidente**.
|
||||||
|
|
||||||
|
### C-161
|
||||||
|
|
||||||
|
`kubernetes` (incidencia), 2026-09-03, **el mismo día en que se escribió el raíl y teniendo el
|
||||||
|
comando correcto puesto**: publicó un commit ajeno al empujar su fila. **Corrió
|
||||||
|
`git log origin/main..HEAD` antes del `push` y VIO las dos líneas ajenas en la salida** — y las puso
|
||||||
|
**en la misma llamada que el `push`**, así que el dato **se imprimió y no pudo detener nada**.
|
||||||
|
⇒ Sus palabras: *«tener la comprobación correcta no basta si comparte turno con la acción»*.
|
||||||
|
⛔ **Y el segundo filo, que invalida el atajo obvio**: en este árbol **todos los commits llevan
|
||||||
|
`sirxavor` de autor**, así que **`git log --format=%an` NO distingue lo tuyo de lo ajeno**. El autor
|
||||||
|
no es un discriminante: lo son **el mensaje y la fecha** — o, mejor, **no adivinar**.
|
||||||
|
|
||||||
|
|||||||
@ -1523,6 +1523,13 @@ canal no está repitiendo lo que el corpus dice — está entregando **lo único
|
|||||||
recoger** (callejones ya recorridos, una medida tomada *y por qué no vale*, la calibración del
|
recoger** (callejones ya recorridos, una medida tomada *y por qué no vale*, la calibración del
|
||||||
puesto). ⇒ Ahí el deber es el inverso y es del que recibe: **fijar en el corpus lo que le llegó por
|
puesto). ⇒ Ahí el deber es el inverso y es del que recibe: **fijar en el corpus lo que le llegó por
|
||||||
el canal, o el relevo sólo ha movido la deuda de sitio.**
|
el canal, o el relevo sólo ha movido la deuda de sitio.**
|
||||||
|
⛔ **Y EL SEMÁFORO DECLARA INTENCIÓN, NO OCUPACIÓN REAL: puede darte vía libre estando el repo
|
||||||
|
ocupado.** Una sesión que aún no ha escrito su fila —o que la escribió con el alcance corto— **no
|
||||||
|
aparece**, y quien carea concluye *«libre»* sobre un dato que **sólo dice lo que alguien se acordó de
|
||||||
|
declarar**. *(cicatriz `C-159`)*
|
||||||
|
⇒ **Carearlo es necesario y NO es suficiente.** El estado real de un repo lo dan **`git log
|
||||||
|
@{u}..HEAD` y `git status --porcelain`**, que **no dependen de que nadie se acuerde**. ⇒ **Córrelos
|
||||||
|
aunque el semáforo diga que estás sola.**
|
||||||
|
|
||||||
⛔ **El ESTADO DE OTRO FRENTE se re-verifica antes de retransmitirlo — o se marca «según me dijeron
|
⛔ **El ESTADO DE OTRO FRENTE se re-verifica antes de retransmitirlo — o se marca «según me dijeron
|
||||||
a las HH:MM».** Nunca se afirma en plano. *(cicatriz `C-121`)*
|
a las HH:MM».** Nunca se afirma en plano. *(cicatriz `C-121`)*
|
||||||
@ -1895,6 +1902,33 @@ git diff --cached --stat # tiene que dar TU prediccion
|
|||||||
git diff --stat # lo que queda fuera: lo ajeno, intacto
|
git diff --stat # lo que queda fuera: lo ajeno, intacto
|
||||||
git commit
|
git commit
|
||||||
```
|
```
|
||||||
|
⛔⛔ **Y DETECTAR LA LÍNEA AJENA ES LA MITAD: LA OTRA ES DEJARLA DONDE ESTABA.** Apartar el fichero
|
||||||
|
entero para no firmarla **la borra** — y **su dueña no se entera**, porque **su worktree sale
|
||||||
|
limpio**: el síntoma de *«me han borrado el trabajo»* es **indistinguible** del de *«ya estaba
|
||||||
|
commiteado»*. *(cicatriz `C-160`)*
|
||||||
|
⇒ ⭐ **Sólo se descubre por un gesto que casi nadie hace: ir a commitear y encontrar que no hay
|
||||||
|
nada que commitear.** Quien cierre sesión sin ese gesto **no lo ve nunca**, y el fichero queda
|
||||||
|
mintiendo sobre quién estaba trabajando — en el caso medido, **durante un incidente en producción**.
|
||||||
|
⇒ **El gesto que preserva las DOS mitades es commitear SÓLO TU LÍNEA** —`git add -p`,
|
||||||
|
`git stash push --keep-index`, o el `hash-object` + `update-index` de arriba—, **nunca apartar el
|
||||||
|
fichero**.
|
||||||
|
⇒ ⛔ Y el corolario, con un caso más: **el índice y el árbol son compartidos aunque commitees por
|
||||||
|
rutas.** Aquí **ni siquiera hizo falta un `add` ancho** para perder trabajo ajeno: bastó con
|
||||||
|
proteger el propio de la forma intuitiva.
|
||||||
|
⇒ ⛔ **Y DOS FILOS MÁS, medidos el mismo día en que se escribió esto y por quien tenía el comando
|
||||||
|
correcto escrito** *(cicatriz `C-161`)*:
|
||||||
|
**(a)** **Tener la comprobación correcta no basta si comparte turno con la acción.** No falló por
|
||||||
|
ignorarla: la corrió, **vio las líneas ajenas**, y aun así publicó — porque el dato y el gesto
|
||||||
|
ocurrieron en el mismo turno. **Una puerta que no puede llegar a tiempo de parar no es una puerta.**
|
||||||
|
**(b)** ⛔ **Y el atajo obvio para saber qué es tuyo NO FUNCIONA en este árbol: `git log
|
||||||
|
--format=%an` da `sirxavor` para TODO**, porque todas las sesiones commitean con la misma
|
||||||
|
identidad. **El autor no discrimina.** Quedan el mensaje y la fecha, que son heurísticas.
|
||||||
|
⇒ ⭐ **Y lo que no es heurística: EMPUJA UN SHA, NO UNA RAMA.** Guarda tu `HEAD` justo después de
|
||||||
|
commitear y publica **exactamente eso** —`git push origin <tu-sha>:main`—: lo que haya llegado
|
||||||
|
después **no sube**, y **no dependes de reconocerlo**. Si el remoto rechaza, es que alguien empujó
|
||||||
|
en medio: **entonces miras, y entonces decides**.
|
||||||
|
|
||||||
|
|
||||||
⇒ ⛔ **Y el resumen de los tres, que hay que llevar junto o se elige mal**: `-A` **se lleva otros
|
⇒ ⛔ **Y el resumen de los tres, que hay que llevar junto o se elige mal**: `-A` **se lleva otros
|
||||||
ficheros** · `add <ruta>` **se lleva otras LÍNEAS del mismo fichero** · `commit -- <ruta>` **te
|
ficheros** · `add <ruta>` **se lleva otras LÍNEAS del mismo fichero** · `commit -- <ruta>` **te
|
||||||
protege del índice pero no del árbol, y no añade lo nuevo**. **Ninguno cubre a los otros dos.**
|
protege del índice pero no del árbol, y no añade lo nuevo**. **Ninguno cubre a los otros dos.**
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user