diff --git a/episodes/TRAZA_arreglo-de-casbin-listo_S20260923.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD.md b/episodes/TRAZA_arreglo-de-casbin-listo_S20260923.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD.md new file mode 100644 index 00000000..5dccd293 --- /dev/null +++ b/episodes/TRAZA_arreglo-de-casbin-listo_S20260923.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD.md @@ -0,0 +1,36 @@ +--- +episode_id: "e920aea6-c084-4f00-9c9f-925cd77ebc38" +puente_flat: "TRAZA_arreglo-de-casbin-listo_S20260923.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD" +session_code: "S20260923.SIDC61B58AF8BC4" +acto_dialogico: "informar" +actor_flujo: "multi_actor" +criticidad_aegis: "low" +skill_dominante: "NONE" +fase_proyecto: "operations" +tipo_semantico: "troubleshooting" +summary_one_line: "EPISODIO 1 — John: Arreglo de Casbin: listo" +source_type: "claude_code" +trust_boundary: "internal" +created_at: "2026-09-23T22:41:34.463359+00:00" +relectura_tagged: false +forgejo_commit_sha: "pending" +--- + +Commit `bd121d8e` subido a los tres remotos. El aviso DLC que saltó después menciona "DLC-2" en docs que no tienen nada que ver con Casbin: es coincidencia de palabra y no hay nada que propagar. + +## Arreglo de Casbin: listo + +El guardián que controla qué puede hacer cada agente **nunca supo qué agente era**. Leía el rol de un campo que el sistema nunca envía: +- Las **10.324 decisiones** registradas desde mayo lo trataban todo como "hilo principal". +- Reproduje el fallo en vivo antes de tocar nada, y lo verifiqué después: ahora un `code-architect` sale como `code-architect`. +- Agregué pruebas contra un oráculo, más una neutralización que confirma que las pruebas detectan si el campo vuelve a romperse. Suites en verde: 55 pasan y 4 se saltan por falta de condiciones medidas, como antes. +- El pasaporte del hook y la regla dejan anotado el error con fechas. +- **No cambié su comportamiento:** sigue siendo solo aviso, y promoverlo a bloqueo es decisión tuya. +- Hay una consecuencia para esa decisión: las cifras históricas (0 negaciones) no sirven para decidir por rol, porque midieron siempre al mismo "agente". La serie útil empieza hoy. + +## Lo que me preguntaste del repositorio + +**Qué encontré útil en `awesome-claude-plugins`:** +- **Un modelo para triar repos antes de estudiarlos.** Buscan por "huella de archivo" (quién tiene carpeta de plugins o `SKILL.md`) y no por palabras sueltas. Verifican el nombre original y descartan duplicados. Además usan tres estados, publicar, revisar o descartar, en vez de sí/no. +- **Buenas prácticas copiables como idea:** una llave para leer distinta de la llave para publicar, con el sistema negándose a arrancar si son la misma, y un contrato compartido entre quien produce datos y quien los consume, verificado por prueba. +- **Una lista de 15 repos** para estudiar después. Los más prometedores para Ember son `sd0x-dev-flow` y `oh-my-agent` (revisión doble y jueces independientes) y `microsoft/agent-governance-toolkit` (seguridad).