- Mover dev/issues/0018-shared-knowledge.md a completed/
- Actualizar dev/issues/README.md: estado completado
- Sistema de conocimiento compartido completamente implementado
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Implementa el cliente MCP que permite a los agentes conectarse a servidores
MCP externos y usar sus tools como si fueran tools nativas del agente.
Arquitectura implementada:
- shell/mcp/client.go: Cliente MCP con soporte stdio y SSE
- shell/mcp/manager.go: Gestor de múltiples clientes MCP
- tools/mcptools/mcp.go: Bridge que convierte MCP tools → tools.Tool
- shell/mcp/server.go: Movido desde shell/protocols/ para colocación junto al client
Cambios en config:
- MCPServerCfg extendido con campos Transport, Command, Args, Env, Headers,
Prefix, Timeout para soportar stdio y SSE transport
Integración en runtime:
- agents/runtime.go: Inicializa MCP manager si config.Tools.MCP.Enabled
- buildToolRegistry: Registra tools MCP automáticamente con prefijos configurables
- Agent: Campo mcpManager que se cierra en shutdown
Transportes soportados:
- stdio: Lanza subproceso (ej: npx -y @anthropic/mcp-server-brave-search)
- SSE: Se conecta a servidor HTTP MCP
Las tools MCP son indistinguibles de tools nativas desde el punto de vista
del LLM. Auto-discovery via ListTools(), conversión de JSON Schema a tools.Param.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Actualiza docs/security.md: nueva sección "Sistema de grupos centralizados"
con estructura de los 3 YAML, acciones disponibles, campos deprecados
- Actualiza .claude/CLAUDE.md: añade security/ en la estructura del proyecto
- Mueve 0024 y 0024c a dev/issues/completed/
- Actualiza dev/issues/README.md: marca 0024, 0024a, 0024b, 0024c como completado
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Marca el issue 0012-threads como completado. El problema de que el agente respondia en el hilo principal en lugar del thread esta resuelto con el cache de eventos cifrados implementado en esta rama.
Cierra 0022c (tests de agentes + docs) y el issue padre 0022
(Tests E2E con Playwright) ya que todos los sub-issues estan completados:
- 0022a: infraestructura base
- 0022b: auth fixtures y helpers
- 0022c: tests de agentes, run.sh, documentacion
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Proyecto Node.js independiente en e2e/ con Playwright + Chromium headless.
Incluye setup-element.sh para descargar y servir Element Web localmente
(puerto 8090 por defecto, 8080 ocupado por Docker).
Scripts de instalacion y placeholder para ejecucion de tests.
Cierra issue 0022a.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Issue multi-issue desglosado en 3 sub-issues:
- 0022a: infraestructura base (Docker, Playwright config, CI)
- 0022b: auth fixtures y helpers (login, E2EE, utilidades Matrix)
- 0022c: tests de agentes + documentacion
Incluye actualizacion del README con issue 21 (completado) y todos
los sub-issues de 0022 registrados como pendientes.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Todas las tareas del issue implementadas: default seguro con tmpdir,
configuracion de agentes existentes, tests unitarios y documentacion.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Issue para evitar que el subproceso claude -p tenga acceso al repositorio
del proyecto. Incluye default seguro con tmpdir, configuracion de agentes
existentes, tests y documentacion.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Todas las fases del issue 0019 (prompt injection hardening) completadas
a traves de 4 sub-issues (0019a, 0019b, 0019c, 0019d).
- Activa feature flag prompt-injection-hardening en feature_flags.json
- Mueve issue a dev/issues/completed/
- Actualiza README con estado completado
- Marca todas las tareas pendientes como completadas en el issue
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Marca como completadas las tareas de fase 4 (rate limiting) y 6.5
(tests de rate limiting) en el desglose multi-issue.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Marcar como completado: fase 2 (sanitizacion de input) y tarea 6.1
(tests de pkg/sanitize). Actualizar tabla de desglose multi-issue.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Añade seccion "Desglose multi-issue" al issue 0019 con:
- Tabla de sub-issues (0019a-d), rama, alcance y estado
- Checklist de progreso por tarea agrupado por fase
- 0019a (tool hardening) marcado como completado
Esto permite trackear el avance de features multi-issue
directamente en el documento del issue.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Mover issue a completed/ y actualizar README.
Todas las fases implementadas: allowlist, invite gating, RBAC puro,
integración en runtime, unauthorized_response explicit, y documentación.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Se estandariza la numeración de todos los issues de 3 dígitos a 4 dígitos
(e.g. 005 → 0005, 010 → 0010) para mantener consistencia con la convención
definida en create_issue.md. Se actualiza el README con los nuevos nombres
y links. No hay cambios de contenido en los issues, solo renombrado.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Nuevo issue que describe el plan completo para proteger agentes contra
ataques de prompt injection. Cubre 7 fases: aislamiento de filesystem,
sanitización de input, hardening de system prompts, rate limiting de
tools, validación de argumentos de tool calls, tests y documentación.
Complementario al RBAC implementado en los commits anteriores.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Se mueve la documentación de issues/tasks de .claude/tasks/ a dev/issues/
para separar la planificación de desarrollo de la configuración de Claude.
Se añade dev/README.md como índice de la carpeta de desarrollo. Los issues
completados se mueven a dev/issues/completed/. Esto permite que dev/ sea
el punto central de documentación interna del proyecto.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>