chore(metodo): reparto — un fichero compartido a nivel de LINEA no se commitea por su nombre

-A se lleva otros ficheros · add <ruta> se lleva otras LINEAS del mismo
fichero · commit -- <ruta> protege del indice pero no del arbol. Ninguno
cubre a los otros dos. La unica puerta del tercero es predecir el diffstat.

Y C39 arreglado: no sabia cuando estaba dentro de un fence.

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 10:04:39 +02:00
parent 7ece9d2beb
commit 79319da1f4
4 changed files with 48 additions and 3 deletions

View File

@ -1,5 +1,5 @@
631c6f379af3599c31f9c109356f92d891b5154af5a335be2e8f5a7c4a0bde60 metodo.md
a962d34e29ff9a45c508d06646d21fa02cc560c3bce98efe9a5d98d89919f661 bin/metodo
3de6821d4feb7f1c62b546605d0caecc6be9e4ffd4cb1396852c7612781267b1 metodo.md
1e9242642ed009b993a9ca613b1f4d438748b91eadf5af1f6dab669c87a560cb bin/metodo
f89b71bdf31028b05075636c1763c964e379bc37a00e0357d1c23a4dd19c09aa workflows/README.md
cc241bbecf9647c747b8525b3a6b527455cd50ca0312caa44bc3544342c8ac41 workflows/comunicacion-entre-sesiones.md
2b9037f6dd57b5598c70a676cb728556654f05d1c5b024e7b716864659f7b884 workflows/sesion-ejecucion.md

View File

@ -210,8 +210,15 @@ check_prosa_partida() {
[ ${#fs[@]} -eq 0 ] && { skip "no hay metodo.md que mirar"; return 0; }
local mal=0
for f in "${fs[@]}"; do
n=$(perl -CSD -ne 'push @L,$_; END{ my $n=0;
# ⛔ Y el detector tiene que saber CUANDO ESTA DENTRO DE UN BLOQUE DE CODIGO: dentro de un
# ``` fence, un `# comentario` parece una cabecera Markdown y una orden que acaba en
# minuscula parece prosa cortada. Medido el 2026-09-03: falso positivo sobre el
# procedimiento del semaforo, en el propio commit que lo anadia. El instrumento no
# distinguia su sujeto — la misma averia que persigue.
n=$(perl -CSD -ne 'push @L,$_; END{ my $n=0; my $fence=0;
for my $i (0..$#L-1){ my $a=$L[$i]; my $b=$L[$i+1]; chomp $a; chomp $b;
if ($a =~ /^\s*(>\s*)?```/) { $fence = !$fence; next }
next if $fence;
next if $a =~ /^\s*$/ || $a =~ /^[#|`]/ || $a =~ /^\s*[-*] /;
next unless $a =~ /[a-z\x{e1}\x{e9}\x{ed}\x{f3}\x{fa}\x{f1},]$/;
next unless $b =~ /^\s*[\x{26D4}\x{2B50}\x{26A0}\x{21D2}\x{2699}\x{26B0}\x{2705}]/

View File

@ -1241,3 +1241,19 @@ un árbol que otras sesiones tocan no es un arreglo*. Y **el instrumento con el
mentía**: contar `|` a secas **cuenta los escapados**, que el parser no ve — con esa cuenta declaró
rota una fila que estaba bien, y lo retiró.
### C-158
`securizacion` (ejecución), 2026-09-03: al actualizar su fila predijo `+1/-1` y el diffstat dio
**`+2/-1`**. La línea de más era **una fila NUEVA sin commitear** de la sesión de incidente de
`kubernetes`. Un `git add workflows/sesiones-activas.md` **habría publicado su trabajo en vuelo bajo
un mensaje ajeno** — el accidente de agosto **en la dirección contraria**: no barrer lo ajeno, sino
**firmarlo**. ⇒ Y la puerta que lo cazó fue **la predicción del diffstat**: `--name-only` **no habría
visto nada**, porque el fichero era el correcto.
### C-159
`securizacion` (ejecución), 2026-09-03: **ninguna fila viva declaraba `day1-work`** y sin embargo
otra sesión estaba empujando ahí (`c5895af`). Careó contra la fuente y **el semáforo le dio vía
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**.

View File

@ -1877,6 +1877,28 @@ pega tal cual.
incluye** · uno que lee **un fichero que el REPO no incluye** · y un banco cuya cabecera dice que
corre dentro del pod **y no entra en la imagen**. **Tres veces la misma pregunta —¿el artefacto está
donde el que lo mide cree que está?— y tres respuestas distintas.**
⛔⛔ **Y EL TERCER AGUJERO, QUE CIERRA LA FAMILIA: `git add <ruta>` NO PROTEGE DE NADA CUANDO EL
FICHERO SE COMPARTE A NIVEL DE LÍNEA.** Hay ficheros cuya **unidad de propiedad no es el fichero,
es la FILA** —el semáforo es exactamente eso—, y ahí nombrar la ruta **no distingue tu línea de la
de otra sesión**. *(cicatriz `C-158`)*
⇒ ⭐ **Y la única puerta que lo caza es PREDECIR EL DIFFSTAT**: `--name-only` **no habría visto
nada**, porque el fichero **era el correcto**. Salió `+2/-1` donde se predijo `+1/-1`, y esa línea
de más era **una fila viva ajena sin commitear**. ⇒ **Un fichero compartido no se commitea por su
nombre.**
⇒ **El procedimiento medido, para publicar SÓLO tu línea dejando la ajena intacta en el árbol:**
```
git show HEAD:<fichero> > base
# aplica SOLO tu cambio a `base`, anclado por CONTENIDO
BLOB=$(git hash-object -w base)
git update-index --cacheinfo "100644,$BLOB,<fichero>"
git diff --cached --stat # tiene que dar TU prediccion
git diff --stat # lo que queda fuera: lo ajeno, intacto
git commit
```
⇒ ⛔ **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
protege del índice pero no del árbol, y no añade lo nuevo**. **Ninguno cubre a los otros dos.**
⇒ ⛔ **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.