Fix task assingment
Change-Id: Id6df2c34fae9e2ae283819ddbdb972cc60464abf
diff --git a/operations/tasks/task-1704067200-abc124.md b/operations/tasks/task-1704067200-abc124.md
new file mode 100644
index 0000000..36f6b7a
--- /dev/null
+++ b/operations/tasks/task-1704067200-abc124.md
@@ -0,0 +1,16 @@
+---
+created_at: "0001-01-01T00:00:00Z"
+description: Create one pager of a startup from following features
+id: task-1704067200-abc124
+owner_id: ceo
+owner_name: ceo
+priority: high
+status: todo
+title: Create one pager of the product
+updated_at: "2025-07-27T13:22:12+04:00"
+---
+
+# Task Description
+
+Create one pager of a startup from following features
+
diff --git a/server/agent/agent.go b/server/agent/agent.go
index ed4706d..eca7b62 100644
--- a/server/agent/agent.go
+++ b/server/agent/agent.go
@@ -264,6 +264,7 @@
// Get tasks assigned to this agent
taskList, err := a.Config.TaskManager.GetTasksByOwner(ctx, a.Config.Name, 0, 10)
+ a.logger.Info("Total number of Tasks", slog.String("agent", a.Config.Name), slog.Any("tasks", taskList.TotalCount))
if err != nil {
return fmt.Errorf("failed to get tasks: %w", err)
}
@@ -277,6 +278,8 @@
}
}
+ a.logger.Info("Task to process", slog.Any("task", taskToProcess))
+
if taskToProcess == nil {
// No tasks to process, wait a bit
time.Sleep(60 * time.Second)
diff --git a/server/git/git.go b/server/git/git.go
index 9aa1ae2..7e7ba44 100644
--- a/server/git/git.go
+++ b/server/git/git.go
@@ -377,6 +377,7 @@
func (g *Git) Add(ctx context.Context, paths []string) error {
args := append([]string{"add"}, paths...)
cmd := exec.CommandContext(ctx, "git", args...)
+ g.logger.Info("Adding files", slog.String("paths", strings.Join(paths, ", ")))
cmd.Dir = g.repoPath
return g.runCommand(cmd, "add")
}
diff --git a/server/tm/git_tm/git_task_manager.go b/server/tm/git_tm/git_task_manager.go
index 6a8735e..5c43828 100644
--- a/server/tm/git_tm/git_task_manager.go
+++ b/server/tm/git_tm/git_task_manager.go
@@ -29,7 +29,7 @@
return &GitTaskManager{
git: git,
repoPath: repoPath,
- tasksDir: filepath.Join(repoPath, "tasks"),
+ tasksDir: repoPath,
logger: logger,
}
}
@@ -42,7 +42,7 @@
return &GitTaskManager{
git: git,
repoPath: repoPath,
- tasksDir: filepath.Join(repoPath, "tasks"),
+ tasksDir: repoPath,
logger: logger,
}
}
@@ -229,17 +229,21 @@
}
// commitTaskChange commits a task change to git
-func (gtm *GitTaskManager) commitTaskChange(taskID, operation string) error {
+func (gtm *GitTaskManager) commitTaskChange(taskID, operation string, owner tm.Owner) error {
ctx := context.Background()
// Add the task file
- if err := gtm.git.Add(ctx, []string{filepath.Join("tasks", taskID+".md")}); err != nil {
+ if err := gtm.git.Add(ctx, []string{filepath.Join(gtm.tasksDir, taskID+".md")}); err != nil {
return fmt.Errorf("failed to add task file: %w", err)
}
// Commit the change
message := fmt.Sprintf("task: %s - %s", taskID, operation)
- if err := gtm.git.Commit(ctx, message, git.CommitOptions{}); err != nil {
+ if err := gtm.git.Commit(ctx, message, git.CommitOptions{
+ Author: &git.Author{
+ Name: owner.Name,
+ },
+ }); err != nil {
return fmt.Errorf("failed to commit task change: %w", err)
}
@@ -286,7 +290,7 @@
}
// Commit to git
- if err := gtm.commitTaskChange(taskID, "created"); err != nil {
+ if err := gtm.commitTaskChange(taskID, "created", task.Owner); err != nil {
return nil, err
}
@@ -363,7 +367,7 @@
}
// Commit to git
- if err := gtm.commitTaskChange(id, "updated"); err != nil {
+ if err := gtm.commitTaskChange(id, "updated", task.Owner); err != nil {
return nil, err
}
diff --git a/server/tm/git_tm/git_task_manager_test.go b/server/tm/git_tm/git_task_manager_test.go
index f7da286..033e11c 100644
--- a/server/tm/git_tm/git_task_manager_test.go
+++ b/server/tm/git_tm/git_task_manager_test.go
@@ -339,7 +339,7 @@
require.NoError(t, err)
// Test successful commit
- err = gtm.commitTaskChange("test-task-123", "created")
+ err = gtm.commitTaskChange("test-task-123", "created", task.Owner)
assert.NoError(t, err)
// Verify commit was created
@@ -497,7 +497,7 @@
require.NoError(t, err)
// Commit the initial task
- err = gtm.commitTaskChange(originalTask.ID, "created")
+ err = gtm.commitTaskChange(originalTask.ID, "created", originalTask.Owner)
require.NoError(t, err)
// Update the task