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:
sirxavor 2026-09-03 11:03:28 +02:00
parent 79319da1f4
commit 444063b499
3 changed files with 59 additions and 1 deletions

View File

@ -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

View File

@ -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**.

View File

@ -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.**