Mueve 0145 a completed/ tras validar smoke real del binario:
echo '<initialize>+<notif/initialized>+<tools/list>' | bin/devicemesh-mcp
--device-agent http://127.0.0.1:9999 --mode user
--tools-allowed "exec,fs.read"
devuelve dos frames JSON-RPC esperados:
1. initialize result con serverInfo.name=devicemesh + capabilities.tools.
2. tools/list result con exec + fs.read, inputSchema completo incluyendo
required fields (argv, path).
Suite de tests con -tags goolm -count=1 pasa sin errores.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Anade el binario standalone cmd/devicemesh-mcp/ que expone via JSON-RPC
sobre stdio el catalogo de devicemesh tools (exec, shell.eval, fs.*,
git.*, pkg.*, proc.*, docker.*) al claude -p parent.
Arquitectura issue 0145:
- main.go: flags (--device-agent, --mode, --tools-allowed, --server-name),
inicializa devicemesh.Client + RegisterBuiltins + FilterByAllowed, lanza
server.ServeStdio del SDK mark3labs/mcp-go (ya dep).
- bridge.go: registra cada ToolSpec como mcp.Tool con WithRawInputSchema +
handler que invoca ToolRegistry.Call (validate->map->HTTP->map). Resultado
serializado a NewToolResultText, errores como NewToolResultError para que
el modelo se autocorrija.
Razon: hoy claude -p ve nuestras tool names solo como TEXTO en el system
prompt y las imita sin ejecutar. Con --mcp-config apuntando a este binario,
claude las descubre via tools/list e invoca via tools/call REALMENTE.
Smoke OK: initialize frame produce {capabilities:{tools:{listChanged:true}},
serverInfo:{name:"devicemesh",version:"0.1.0"}}.
Issue doc 0145 incluido con aceptacion A3 anti-hallucination + DoD triada.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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>
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>
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>
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>
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>
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>
Mueve el issue a dev/issues/completed/ tras implementar todas las fases:
- Fase 1: streaming del subproceso con stream-json
- Fase 2: ProgressReporter con mensajes progresivos en Matrix
- Fase 3: config schema y template actualizados
- Fase 4: tests de integracion y regresion
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Mover issue 0043-father-bot-security-guardrails a completed/.
Todas las fases implementadas: control de acceso, path scoping,
rate limiting, validacion post-creacion y verificacion de audit.
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>
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>
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>
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>
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>
- 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>
- 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>
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>
Mueve el issue a dev/issues/completed/ tras implementar todas las tareas:
audit trail con AuditWriter y comando !metrics.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Mover issue 0029-core-tests a completed/ tras implementar todos los
tests del runtime y config loader.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.
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>
Los issues 0027, 0028 y 0031 fueron reintroducidos por el merge de
quick/claude-skills (basada en master pre-limpieza). Se eliminan
definitivamente — las copias en completed/ son la version final.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Los issues 0027, 0028 y 0031 fueron copiados a completed/ pero no
eliminados de dev/issues/ durante el cierre paralelo. Se eliminan
los originales ya que las copias en completed/ son la version final.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Mueve el issue a dev/issues/completed/ y actualiza el README.
Issue completado: runtime.go dividido en 5 archivos especializados
con tests para buildToolRegistry.
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>
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>
Mueve el issue a dev/issues/completed/ y actualiza el README.
Issue completado: runtime.go dividido en 5 archivos especializados
con tests para buildToolRegistry.
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>
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>
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>