diff --git a/internal/worker/config.go b/internal/worker/config.go index f296bc5..9e564bc 100644 --- a/internal/worker/config.go +++ b/internal/worker/config.go @@ -147,6 +147,9 @@ func LoadConfig(path string) (*Config, error) { // Get smart defaults for current environment smart := config.GetSmartDefaults() + // Use PathRegistry for consistent path management + paths := config.FromEnv() + if cfg.Port == 0 { cfg.Port = config.DefaultSSHPort } @@ -158,11 +161,8 @@ func LoadConfig(path string) (*Config, error) { cfg.Host = host } if cfg.BasePath == "" { - basePath, err := smart.BasePath() - if err != nil { - return nil, fmt.Errorf("failed to get default base path: %w", err) - } - cfg.BasePath = basePath + // Prefer PathRegistry over smart defaults for consistency + cfg.BasePath = paths.ExperimentsDir() } if cfg.RedisAddr == "" { redisAddr, err := smart.RedisAddr() @@ -203,15 +203,8 @@ func LoadConfig(path string) (*Config, error) { cfg.DataManagerPath = "./data_manager" } if cfg.DataDir == "" { - if cfg.Host == "" || !cfg.AutoFetchData { - cfg.DataDir = config.DefaultLocalDataDir - } else { - dataDir, err := smart.DataDir() - if err != nil { - return nil, fmt.Errorf("failed to get default data directory: %w", err) - } - cfg.DataDir = dataDir - } + // Use PathRegistry for consistent data directory + cfg.DataDir = paths.DataDir() } if cfg.SnapshotStore.Timeout == 0 { cfg.SnapshotStore.Timeout = 10 * time.Minute