diff --git a/server/config/config.go b/server/config/config.go
index 84441d2..421e861 100644
--- a/server/config/config.go
+++ b/server/config/config.go
@@ -10,8 +10,8 @@
 
 // Config represents the Staff MVP configuration
 type Config struct {
-	OpenAI OpenAIConfig `yaml:"openai"`
-	GitHub GitHubConfig `yaml:"github"`
+	OpenAI OpenAIConfig  `yaml:"openai"`
+	GitHub GitHubConfig  `yaml:"github"`
 	Agents []AgentConfig `yaml:"agents"`
 	Tasks  TasksConfig   `yaml:"tasks"`
 	Git    GitConfig     `yaml:"git"`
@@ -39,10 +39,10 @@
 	Role             string   `yaml:"role"`
 	Model            string   `yaml:"model"`
 	SystemPromptFile string   `yaml:"system_prompt_file"`
-	Capabilities     []string `yaml:"capabilities"`     // For auto-assignment
-	TaskTypes        []string `yaml:"task_types"`       // Types of tasks this agent handles
-	MaxTokens        *int     `yaml:"max_tokens"`       // Model-specific token limits
-	Temperature      *float64 `yaml:"temperature"`      // Model creativity setting
+	Capabilities     []string `yaml:"capabilities"` // For auto-assignment
+	TaskTypes        []string `yaml:"task_types"`   // Types of tasks this agent handles
+	MaxTokens        *int     `yaml:"max_tokens"`   // Model-specific token limits
+	Temperature      *float64 `yaml:"temperature"`  // Model creativity setting
 }
 
 // TasksConfig represents task management configuration
@@ -130,10 +130,10 @@
 
 	// Tasks defaults
 	if config.Tasks.StoragePath == "" {
-		config.Tasks.StoragePath = "tasks/"
+		config.Tasks.StoragePath = "../operations/"
 	}
 	if config.Tasks.CompletedPath == "" {
-		config.Tasks.CompletedPath = "tasks/completed/"
+		config.Tasks.CompletedPath = "../operations/completed/"
 	}
 
 	// Git defaults
@@ -231,4 +231,4 @@
 		names[i] = agent.Name
 	}
 	return names
-}
\ No newline at end of file
+}
