feat(episode): TRAZA_el-commit-pendiente-lo-absorbi-otra-inst_S20260827.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD
Skill: NONE | Type: troubleshooting Summary: EPISODIO 1 — MEMORIA: El commit pendiente lo absorbió otra instancia entre...
This commit is contained in:
parent
1ff96d924f
commit
ae9b91552b
1 changed files with 21 additions and 0 deletions
|
|
@ -0,0 +1,21 @@
|
||||||
|
---
|
||||||
|
episode_id: "805404a0-70a6-4355-9ffd-90f2761f63f2"
|
||||||
|
puente_flat: "TRAZA_el-commit-pendiente-lo-absorbi-otra-inst_S20260827.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
|
||||||
|
session_code: "S20260827.PIPELINE_FIXES"
|
||||||
|
acto_dialogico: "informar"
|
||||||
|
actor_flujo: "multi_actor"
|
||||||
|
criticidad_aegis: "low"
|
||||||
|
skill_dominante: "NONE"
|
||||||
|
fase_proyecto: "operations"
|
||||||
|
tipo_semantico: "troubleshooting"
|
||||||
|
summary_one_line: "EPISODIO 1 — MEMORIA: El commit pendiente lo absorbió otra instancia entre..."
|
||||||
|
source_type: "claude_code"
|
||||||
|
trust_boundary: "internal"
|
||||||
|
created_at: "2026-08-27T18:44:25.646816+00:00"
|
||||||
|
relectura_tagged: false
|
||||||
|
forgejo_commit_sha: "pending"
|
||||||
|
---
|
||||||
|
|
||||||
|
El commit pendiente lo absorbió otra instancia entre medias — los tres remotos están al día. **El muro está vivo:** `deny` al uso real, `allow` a la búsqueda. ## El muro D6
|
||||||
|
|
||||||
|
Elegiste muro, y lo primero que hice fue **corregirte una premisa que yo mismo te di mal**. Te dije que `mega-hook-ssh.py` "ya ve cada comando antes de ejecutarse". Es falso: su línea 158 se autolimita a comandos SSH hacia el servidor MEMORIA, y todo lo demás recibe `allow` inmediato. Vi `PreToolUse` + matcher `Bash` + `det_gitforce` y concluí sin leer su `main()`. El mismo error que llevo la semana catalogando. El anfitrión correcto resultó ser **`pre-tool-ley-zero-guard.py`**, y por razones mejores: ya declara `GIT_FORCE_PUSH_MASTER_BLOCKED` —o sea que vigilar git es su oficio— y **ya tiene override de emergencia con validación de dueño**, que es exactamente la salida que necesitarías si el muro te atrapa. **Lo que casi sale mal, dos veces.** La primera versión exigía "sin comillas entre `git` y la bandera", y eso dejaba pasar `git commit -m 'x' --no-verify` — el caso más común, porque todo mensaje va entre comillas. Un **falso negativo**, que en un muro es la peor falla posible: un muro con un hueco es peor que ningún muro, porque da confianza. La segunda la descubrí probando mi propia acción siguiente: **el muro bloqueaba el commit que lo instala**, porque el mensaje mencionaba las banderas. Ese falso positivo te habría tocado a ti cada vez que commitearas trabajo sobre este tema. Por eso ahora se vacía también el cuerpo del heredoc — verificando además que no se convierta en túnel de evasión.
|
||||||
Loading…
Reference in a new issue