docs: crear issue 0045 — DM rooms sin E2EE en notify-developer.sh
El script notify-developer.sh crea salas DM sin encriptacion porque el createRoom usa preset trusted_private_chat sin initial_state de m.room.encryption. Esto afecta a bots creados recientemente (father-bot, test-bot, test-personality). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
# 0045 — DM rooms creados por notify-developer.sh sin E2EE
|
||||
|
||||
## Objetivo
|
||||
|
||||
El script `notify-developer.sh` (paso 12 del pipeline de creacion de agentes) crea salas DM
|
||||
sin encriptacion E2EE. Esto causa que Element muestre "End-to-end encryption isn't enabled"
|
||||
en las conversaciones con bots creados recientemente (father-bot, test-bot, test-personality),
|
||||
mientras que los bots mas antiguos (assistant-bot, asistente-2) tienen E2EE porque sus DMs
|
||||
fueron iniciados desde Element Web (que encripta por defecto).
|
||||
|
||||
## Contexto
|
||||
|
||||
El `createRoom` actual usa `preset: trusted_private_chat` que configura permisos pero **no activa
|
||||
E2EE**. Para activar encriptacion se necesita un `initial_state` con evento `m.room.encryption`.
|
||||
|
||||
Archivo afectado: `dev-scripts/agent/notify-developer.sh` (linea ~109).
|
||||
|
||||
## Arquitectura
|
||||
|
||||
- `dev-scripts/agent/notify-developer.sh` — script bash (impuro, shell)
|
||||
- No hay cambios en `pkg/` (puro)
|
||||
|
||||
## Tareas
|
||||
|
||||
### Fase 1: Fix
|
||||
|
||||
- [ ] 1.1 Agregar `initial_state` con `m.room.encryption` (algorithm `m.megolm.v1.aes-sha2`) al
|
||||
JSON del `createRoom` en `notify-developer.sh`
|
||||
|
||||
### Fase 2: Tests
|
||||
|
||||
- [ ] 2.1 Test de shell que valide que el JSON del createRoom incluye encryption
|
||||
|
||||
### Fase 3: Docs
|
||||
|
||||
- [ ] 3.1 Cerrar issue, mover a completed
|
||||
|
||||
## Ejemplo de uso
|
||||
|
||||
Antes (sin E2EE):
|
||||
```json
|
||||
{
|
||||
"is_direct": true,
|
||||
"invite": ["@dev:server"],
|
||||
"preset": "trusted_private_chat"
|
||||
}
|
||||
```
|
||||
|
||||
Despues (con E2EE):
|
||||
```json
|
||||
{
|
||||
"is_direct": true,
|
||||
"invite": ["@dev:server"],
|
||||
"preset": "trusted_private_chat",
|
||||
"initial_state": [
|
||||
{
|
||||
"type": "m.room.encryption",
|
||||
"state_key": "",
|
||||
"content": {
|
||||
"algorithm": "m.megolm.v1.aes-sha2"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## Decisiones de diseno
|
||||
|
||||
- Se usa `m.megolm.v1.aes-sha2` que es el algoritmo estandar de Matrix para group encryption.
|
||||
- El `preset: trusted_private_chat` se mantiene para los permisos (invite-only, admins).
|
||||
- No se requieren cambios en el codigo Go — solo el script bash.
|
||||
|
||||
## Prerequisitos
|
||||
|
||||
Ninguno.
|
||||
|
||||
## Riesgos
|
||||
|
||||
- Bajo: cambio minimo y bien definido en un solo archivo.
|
||||
@@ -55,3 +55,4 @@ afectados y notas de implementacion.
|
||||
| 42 | Auto-avatar con proveedores gratuitos | [0042-auto-avatar-providers.md](completed/0042-auto-avatar-providers.md) | completado |
|
||||
| 43 | Guardrails de seguridad para Father Bot | [0043-father-bot-security-guardrails.md](completed/0043-father-bot-security-guardrails.md) | completado |
|
||||
| 44 | Formalizar pipeline de creacion de agentes | [0044-formalize-agent-creation-pipeline.md](completed/0044-formalize-agent-creation-pipeline.md) | completado |
|
||||
| 45 | DM rooms sin E2EE en notify-developer.sh | [0045-notify-encrypted-rooms.md](0045-notify-encrypted-rooms.md) | pendiente |
|
||||
|
||||
Reference in New Issue
Block a user