From c6081a38a4256d91d266e6d2e38af82bf70efe38 Mon Sep 17 00:00:00 2001 From: Enmanuel Date: Sun, 12 Apr 2026 18:09:53 +0000 Subject: [PATCH] fix: resolveDataBase usa ConfigDir como fallback para data path Cuando no se configura storage.base_path ni AGENTS_DATA_DIR, el fallback anterior hardcodeaba "agents//data" asumiendo que el binario se ejecuta desde la raiz del repo. Ahora se usa cfg.ConfigDir (directorio del config.yaml) como base, lo que funciona correctamente para agentes en _specials/ y cualquier ubicacion arbitraria del config. Co-Authored-By: Claude Opus 4.6 (1M context) --- devagents/registry_build.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/devagents/registry_build.go b/devagents/registry_build.go index 6798279..6209ca8 100644 --- a/devagents/registry_build.go +++ b/devagents/registry_build.go @@ -295,7 +295,7 @@ func buildToolRegistry( } // resolveDataBase returns the base directory for agent runtime data. -// Priority: config storage.base_path > $AGENTS_DATA_DIR/ > agents//data +// Priority: config storage.base_path > $AGENTS_DATA_DIR/ > /data func resolveDataBase(cfg *config.AgentConfig) string { if cfg.Storage.BasePath != "" { return cfg.Storage.BasePath @@ -303,5 +303,8 @@ func resolveDataBase(cfg *config.AgentConfig) string { if envDir := os.Getenv("AGENTS_DATA_DIR"); envDir != "" { return filepath.Join(envDir, cfg.Agent.ID) } + if cfg.ConfigDir != "" { + return filepath.Join(cfg.ConfigDir, "data") + } return filepath.Join("agents", cfg.Agent.ID, "data") }