Commit Graph

50 Commits

Author SHA1 Message Date
egutierrez 4b94bdf4e2 docs: cerrar issue 0049 — automatizar personalización al crear agentes
Pipeline completo implementado: detect-provider.sh + personalize.sh
integrado en create-full.sh. Paso 8 ahora automático cuando se pasan
los flags de personalización.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-11 00:33:22 +00:00
egutierrez 12d7d0caed docs: crear issue 0049 — automatizar personalización al crear agentes
Pipeline para eliminar el Paso 8 manual (editar agent.go, config.yaml
y system.md). Scripts: detect-provider.sh, personalize.sh integrado
en create-full.sh con flags opcionales.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-11 00:25:18 +00:00
egutierrez 98da4f7521 docs: regla delete_agent.md y cierre de issue 0048
Nueva regla .claude/rules/delete_agent.md con instrucciones completas
para eliminar agentes (manual y automatizado). Actualiza index.md,
CLAUDE.md y cierra issue 0048.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 23:44:42 +00:00
egutierrez 5047a321d2 docs: cerrar issue 0047 — system prompt path fix
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 23:21:41 +00:00
egutierrez bbfbcf4f16 docs: crear issue 0047 — system prompt no se carga para _specials
El runtime resuelve system_prompt_file como agents/<id>/prompts/...
pero los agentes especiales viven en agents/_specials/<id>/. Esto
causa que Father Bot opere sin su system prompt completo de 369 lineas.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 23:21:16 +00:00
egutierrez cf26061399 docs: cerrar issue 0046 — progreso en tiempo real para Father Bot
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 23:17:31 +00:00
egutierrez fe742bea59 docs: crear issue 0046 — progreso en tiempo real para Father Bot
Issue para que Father Bot muestre feedback visual durante la creacion
de agentes. Incluye: habilitar streaming en config, mejorar formateo
del ProgressReporter con nombres de pasos legibles, y tests.

Tambien habilita streaming + show_tool_progress en el config de
Father Bot (quick win que activa el ProgressReporter existente).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 23:13:23 +00:00
egutierrez 5dff4ba0de docs: cerrar issue 0045 — notify-developer.sh con E2EE
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 22:44:23 +00:00
egutierrez 87ca9e290e 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>
2026-04-10 22:41:53 +00:00
egutierrez fbe592e4f5 docs: actualizar README de issues — marcar 0036 como completado
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 23:00:37 +00:00
egutierrez 0933099365 docs: actualizar README de issues — marcar 0043 y 0044 como completados
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 22:48:35 +00:00
egutierrez f225d76eff docs: crear issue 0044 — formalizar pipeline de creacion de agentes
Pipeline de 12 pasos obligatorios:
scaffold → build → register → verify E2EE → [convert robot] →
auto-avatar → display name → personalize → rebuild → start →
health check → self-introduce (el bot habla a devs)

Nuevos pasos: display name automatico, health check post-arranque,
y mejora del mensaje de bienvenida. Garantiza consistencia entre
creacion manual (dev-scripts) y via father-bot.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 22:27:46 +00:00
egutierrez 39ba7bdab0 docs: crear y cerrar issue 0037 — father-bot (agente creador)
Implementado como father-bot en agents/_specials/father-bot/.
Mover issue a completed/ y actualizar README.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 22:07:57 +00:00
egutierrez cd22c1c861 docs: crear issue 0043 — guardrails de seguridad para father-bot
Issue futuro para implementar capas adicionales de seguridad:
- Developer allowlist via .env (deny-by-default)
- Path scoping para el subprocess claude-code
- Rate limiting de operaciones de creacion
- Audit trail extendido
- Validacion de configs de agentes creados

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 22:05:04 +00:00
egutierrez fb67ec17a6 docs: crear y cerrar issue 0042 — auto-avatar con proveedores gratuitos
Documenta el diseño completo: proveedores (DiceBear, RoboHash, Multiavatar),
arquitectura pure/impure, integracion CLI y pipeline.
Todas las tareas completadas.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 21:40:08 +00:00
egutierrez 52d5632d89 docs: crear issues 0036-0041 — nuevas features del sistema
Issues planificados:
- 0036: Claude Code streaming de progreso en Matrix
- 0037: Agente que crea otros agentes/bots via Matrix
- 0038: Webapps y dashboards embebidos en Element via widgets
- 0039: Recordatorios dinámicos y crons que invocan agentes
- 0040: Soporte para mensajes de voz (audio → STT)
- 0041: Videollamadas con agentes via LiveKit

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 21:19:09 +00:00
egutierrez 46de98cb73 docs: cerrar issue 0032 y actualizar CLAUDE.md
- Añadir test-personality a tabla de agentes
- Añadir nuevos specs E2E a la lista de tests
- Mover issue a completed, actualizar README

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 20:53:50 +00:00
egutierrez 43c70e904b docs: cerrar issue 0034 y actualizar CLAUDE.md
- Añadir test-bot a tabla de agentes en CLAUDE.md
- Añadir nuevos specs E2E a la lista de tests
- Mover issue a completed, actualizar README

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 20:45:17 +00:00
egutierrez be00c0da6e docs: actualizar README de issues — marcar 0029, 0033, 0035 como completados
Tambien resuelve conflicto de test helper newTestAgent entre
runtime_test.go (issue 0029) y commands_metrics_test.go (issue 0035)
renombrando el segundo a newMetricsTestAgent.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 20:22:36 +00:00
egutierrez 5f651ce4b3 docs: añadir issue 0035 — audit trail + comando !metrics
Activar AuditCfg existente en schema.go (nunca implementada) para
escribir eventos auditables a JSONL y opcionalmente a room Matrix.
Añadir comando !metrics que agrega datos del log del día actual
(tokens, latencia, errores) usando los helpers de query existentes.
2026-04-09 00:46:45 +00:00
egutierrez 6664163f6d docs: añadir issues 0033 y 0034 para robots
Issue 0033: comandos de robots sin prefijo ! — permitir que robots
respondan a comandos sin necesitar el prefijo, usando command_prefix
vacio en config. Solo aplica a robots, agentes con LLM mantienen el
prefijo para distinguir comandos de mensajes naturales.

Issue 0034: E2E para skill /create-bot — crear robot de prueba
(test-bot) con comandos custom (!echo, !dice) y tests Playwright
que validen el pipeline de creacion y los comandos funcionales.
Equivalente al issue 0032 pero para robots en vez de agentes.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 00:36:14 +00:00
egutierrez a5d038913f docs: cerrar issue 0030 — separacion Robot vs Agent
Mover issue a completed/ y actualizar estado en README.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 00:21:52 +00:00
egutierrez aba07fef60 docs: cerrar issue 0026 — split runtime.go
Mueve el issue a dev/issues/completed/ y actualiza el README.
Issue completado: runtime.go dividido en 5 archivos especializados
con tests para buildToolRegistry.
2026-04-09 00:21:42 +00:00
egutierrez 47c53f900a docs: cerrar issue 0031 — expand file tools
Mover issue a completed/ y actualizar indice en README.md.
Todas las tareas del issue implementadas y testeadas (44 tests).
2026-04-09 00:21:42 +00:00
egutierrez dacf241806 docs: cerrar issue 0028 — desacoplar launcher del registro estatico
Mover issue a completed/ y actualizar README con estado completado.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 00:21:30 +00:00
egutierrez 37384af2a0 docs: cerrar issue 0027
Mover issue 0027-prune-config-schema a completed/ y actualizar indice.
Todas las tareas implementadas: schema podado, template simplificado,
configs de agentes limpiados, tests de parsing agregados.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 00:21:15 +00:00
egutierrez 8f6958f856 chore: agregar issues 0026-0032 y worktrees a gitignore
Registra los nuevos issues pendientes en el indice y excluye
la carpeta worktrees/ del control de versiones.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 00:20:53 +00:00
egutierrez a0b471b3b7 chore: cerrar issue 0014 — template agent + personalidades
Issue 0014 completado:

 Fase 1: Sistema de personalidades enriquecido
  - PersonalityCfg ampliado con role, backstory, expertise, limitations
  - CommunicationCfg con formality, humor, personality, response_style, quirks
  - BuildPersonalityPrompt() genera bloque para system prompt
  - Integrado en runtime con FromConfig + concatenacion automatica

 Fase 2: Agente plantilla (_template)
  - Campo Template bool en AgentMeta (launcher lo filtra)
  - agents/_template/ completo con todas las secciones documentadas
  - agent.go + prompts/system.md + config.yaml canonica
  - new-agent.sh actualizado para copiar desde _template/

 Fase 3: Ejemplos de personalidades
  - PERSONALITIES.md con 4 perfiles: DevOps pragmatico, Analista meticuloso,
    Asistente amigable, Guardian de seguridad

 Fase 4: Comando !info enriquecido
  - Metadata completa: identidad, personalidad, LLM, tools, skills,
    knowledge, memoria, schedules, uptime

Fase 5 (estandarizar configs existentes): aplazada — los agentes actuales
funcionan correctamente. Los nuevos agentes usaran el template completo.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-08 22:30:58 +00:00
egutierrez e6c1671177 chore: cerrar issue 0016 — sistema de skills
Mover issue 0016 a completed/ y actualizar README:

El issue 0016-skills-system ha sido completado con todas las fases:
- Estructura de directorios y skills de ejemplo
- Tipos puros (pkg/skills/)
- Loader y executor (shell/skills/)
- Configuracion en schema
- Tools de function calling
- Integracion con runtime
- Tests unitarios completos
- Documentacion completa

Estado en dev/issues/README.md: pendiente → completado

Sistema de skills operativo y listo para usar.
2026-03-08 22:13:57 +00:00
egutierrez 44ea4a7d82 chore: cerrar issue 0018 — shared knowledge
- 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>
2026-03-08 21:57:18 +00:00
egutierrez 1fccae1568 feat: añadir cliente MCP para consumir servidores externos
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>
2026-03-08 21:22:33 +00:00
egutierrez c5748212f8 chore: cerrar issue 0024c — security integration + docs
- 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>
2026-03-08 20:57:28 +00:00
egutierrez 0102afa06e chore: cerrar issue 0024b-security-loader
Mueve el issue a completed/ y actualiza el índice.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-08 20:32:23 +00:00
egutierrez 440a82b766 chore: cerrar issue 0024a-security-types
Mueve el issue a completed/ y actualiza el README de issues.
2026-03-08 20:20:16 +00:00
egutierrez 73f7ebb9f5 chore: cerrar issue 0025-cron-scaffolder
Mover a completed/ y actualizar estado en README.
2026-03-08 20:01:43 +00:00
egutierrez 769f648778 chore: cerrar issue 0005-bot-cron
Se mueve el issue a dev/issues/completed/ y se actualiza el índice en README.md.
El estado cambia de 'pendiente' a 'completado'.
2026-03-08 19:00:41 +00:00
egutierrez 4419fad754 chore: cerrar issue 0013 — hot-reload implementado
Mueve 0013-hot-reload.md a completed/ y actualiza el índice de issues.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-08 18:44:04 +00:00
egutierrez 76285d4093 docs: cerrar issue 0023 — seccion de tests en dashboard
Mover issue a completed/ y actualizar README.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 15:44:19 +00:00
egutierrez ccdfdf579f docs: cerrar issue 0022c y 0022 — E2E tests completos
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>
2026-03-08 14:36:17 +00:00
egutierrez e4ca5da1f8 docs: cerrar issue 0022b — auth fixtures y helpers E2E
Mover issue a completed/ y actualizar README.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 14:20:09 +00:00
egutierrez d04a309313 feat: infraestructura base para E2E tests con Playwright
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>
2026-03-08 14:11:58 +00:00
egutierrez 4ab4efd245 docs: crear issue 0022 — tests E2E con Playwright
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>
2026-03-08 13:57:36 +00:00
egutierrez ff66418e6c chore: cerrar issue 0012 y mover a completed
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 12:50:56 +00:00
egutierrez 9045d5a214 chore: cerrar issue 0020 y mover a completed
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>
2026-03-08 11:48:34 +00:00
egutierrez e039f6c00c docs: crear issue 0020 — aislar ejecucion de claude -p del repositorio
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>
2026-03-08 11:44:59 +00:00
egutierrez 2d7a5ed5fc chore: cerrar issue 0019 y activar feature flag
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>
2026-03-07 19:53:31 +00:00
egutierrez 6542e7d51c chore: cerrar issue 0010 — access control completado
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>
2026-03-07 19:02:26 +00:00
egutierrez 2756557498 chore: renombrar issues a formato 4 dígitos (NNNN)
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>
2026-03-07 18:39:33 +00:00
egutierrez 55b0eedddc docs: añadir issue 019 — prompt injection hardening
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>
2026-03-07 17:59:18 +00:00
egutierrez f561f686c4 refactor: migrar tasks/ a dev/issues/ con estructura de desarrollo
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>
2026-03-07 17:41:16 +00:00