# Policy: Eliminar un agente o robot Guia ejecutable para Claude. Seguir paso a paso sin desviarse. ## Pipeline de eliminacion (7 pasos) Revierte todo lo que `create-full.sh` genera: ``` 1. VALIDATE → verificar que el agente existe 2. STOP → detener el proceso si esta corriendo 3. DEACTIVATE → desactivar usuario Matrix (Synapse admin API) 4. REMOVE IMPORT → eliminar blank import del launcher 5. REMOVE ENV VARS → eliminar las 4 env vars del .env 6. DELETE FILES → borrar directorio del agente + runtime files 7. REBUILD → recompilar el launcher ``` ## Ruta rapida — script automatizado ```bash # Con confirmacion interactiva ./dev-scripts/agent/delete-full.sh # Sin confirmacion (automatizacion) ./dev-scripts/agent/delete-full.sh --force # Preservar usuario Matrix (soft delete, puede recrearse) ./dev-scripts/agent/delete-full.sh --keep-matrix ``` El script ejecuta los 7 pasos en orden. Si algun paso falla de forma no-fatal, continua con los siguientes. ## Inputs — preguntar al usuario si no los da | Input | Requerido | Default | Ejemplo | |-------|-----------|---------|---------| | `agent-id` | si | — | `wikipedia-bot` | | `--force` | no | false | sin confirmacion | | `--keep-matrix` | no | false | preserva usuario Matrix | ## Scripts atomicos disponibles Cada paso es un script independiente reutilizable: | Script | Que hace | |--------|----------| | `dev-scripts/agent/deactivate-matrix.sh ` | Desactiva usuario Matrix via Synapse admin API | | `dev-scripts/agent/remove-launcher-import.sh ` | Elimina blank import de cmd/launcher/main.go | | `dev-scripts/agent/remove-env-vars.sh ` | Elimina las 4 env vars del .env | ## Que se elimina | Artefacto | Creado por | Eliminado por | |-----------|-----------|---------------| | `agents//` (agent.go, config.yaml, prompts/, data/) | `new-agent.sh` | delete-full.sh paso 6 | | Blank import en `cmd/launcher/main.go` | `new-agent.sh` | `remove-launcher-import.sh` | | `MATRIX_TOKEN_` en .env | `register.sh` | `remove-env-vars.sh` | | `MATRIX_PASSWORD_` en .env | `register.sh` | `remove-env-vars.sh` | | `PICKLE_KEY_` en .env | `register.sh` | `remove-env-vars.sh` | | `SSSS_RECOVERY_KEY_` en .env | `verify.sh` | `remove-env-vars.sh` | | Usuario Matrix `@:` | `register.sh` | `deactivate-matrix.sh` | | Cross-signing keys + crypto store | `verify.sh` | Eliminados con `data/crypto/` | | Avatar y display name | `auto-avatar` | Se eliminan al desactivar usuario Matrix | | PID file, log files | Runtime | delete-full.sh paso 6 | ## Eliminacion manual (sin script) Si el script no esta disponible o falla, estos son los pasos manuales: ### 1. Detener el agente ```bash # Buscar PIDs pgrep -f "launcher.*agents//config.yaml" # Matar procesos kill ``` ### 2. Desactivar usuario Matrix ```bash curl -X POST "${MATRIX_HOMESERVER}/_synapse/admin/v1/deactivate/@:${MATRIX_SERVER_NAME}" \ -H "Authorization: Bearer ${MATRIX_ADMIN_TOKEN}" \ -H "Content-Type: application/json" \ -d '{"erase": false}' ``` ### 3. Eliminar import del launcher Editar `cmd/launcher/main.go` y borrar la linea: ```go _ "github.com/enmanuel/agents/agents/" ``` ### 4. Eliminar env vars Borrar de `.env`: ``` MATRIX_TOKEN_=... MATRIX_PASSWORD_=... PICKLE_KEY_=... SSSS_RECOVERY_KEY_=... ``` ### 5. Eliminar archivos ```bash rm -rf agents// rm -f run/.pid run/.log rm -rf logs// ``` ### 6. Recompilar ```bash go build -tags goolm ./... ``` ## Disable vs Delete - **`remove.sh`** (disable): marca `enabled: false` en config.yaml. El agente no arranca pero todos los archivos, datos y usuario Matrix se preservan. Reversible. - **`delete-full.sh`** (delete): elimina todo. Irreversible (excepto con `--keep-matrix`). Usar `remove.sh` cuando se quiere desactivar temporalmente. Usar `delete-full.sh` cuando se quiere eliminar permanentemente. ## Proteccion contra agentes del sistema Los directorios con prefijo `_` en `agents/` son del sistema (`_template`, `_template_robot`, `_specials`). El script permite eliminar agentes dentro de `_specials/` (como `father-bot`) pero **no** elimina los templates. ## Reglas - **Siempre confirmar** antes de eliminar (a menos que se use `--force`) - **Rebuild obligatorio** tras eliminar el import — si no, el launcher no compila - **No eliminar agentes que no existen** — validar primero - **Desactivar Matrix es no-fatal** — si falla, los demas pasos continuan - **Nunca eliminar templates** (`_template`, `_template_robot`)