summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitattributes2
-rw-r--r--.tasks/race-test.jsonl11
-rw-r--r--.tasks/tasks.jsonl2
-rwxr-xr-xOmni/Ide/hooks/post-checkout4
-rw-r--r--Omni/Task.hs4
-rw-r--r--base0
-rw-r--r--ours.lock0
7 files changed, 9 insertions, 14 deletions
diff --git a/.gitattributes b/.gitattributes
index 367cb8a..e18b1c8 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1 +1 @@
-.tasks/tasks.jsonl merge=task-merge
+.tasks/tasks.jsonl merge=agent
diff --git a/.tasks/race-test.jsonl b/.tasks/race-test.jsonl
deleted file mode 100644
index cf3e4d8..0000000
--- a/.tasks/race-test.jsonl
+++ /dev/null
@@ -1,11 +0,0 @@
-{"taskCreatedAt":"2025-11-22T19:04:37.591131856Z","taskDependencies":[],"taskDescription":null,"taskId":"t-1o2buswy72v","taskNamespace":null,"taskParent":null,"taskPriority":"P2","taskStatus":"Open","taskTitle":"Parent Epic","taskType":"Epic","taskUpdatedAt":"2025-11-22T19:04:37.591131856Z"}
-{"taskCreatedAt":"2025-11-22T19:04:37.59146137Z","taskDependencies":[],"taskDescription":null,"taskId":"t-1o2buswy72v.1","taskNamespace":null,"taskParent":"t-1o2buswy72v","taskPriority":"P2","taskStatus":"Open","taskTitle":"Child 1","taskType":"WorkTask","taskUpdatedAt":"2025-11-22T19:04:37.59146137Z"}
-{"taskCreatedAt":"2025-11-22T19:04:37.591824684Z","taskDependencies":[],"taskDescription":null,"taskId":"t-1o2buswy72v.2","taskNamespace":null,"taskParent":"t-1o2buswy72v","taskPriority":"P2","taskStatus":"Open","taskTitle":"Child 2","taskType":"WorkTask","taskUpdatedAt":"2025-11-22T19:04:37.591824684Z"}
-{"taskCreatedAt":"2025-11-22T19:04:37.592214028Z","taskDependencies":[],"taskDescription":null,"taskId":"t-1o2buswy72v.3","taskNamespace":null,"taskParent":"t-1o2buswy72v","taskPriority":"P2","taskStatus":"Open","taskTitle":"Child 3","taskType":"WorkTask","taskUpdatedAt":"2025-11-22T19:04:37.592214028Z"}
-{"taskCreatedAt":"2025-11-22T19:04:37.592704363Z","taskDependencies":[],"taskDescription":null,"taskId":"t-1o2buswy72v.4","taskNamespace":null,"taskParent":"t-1o2buswy72v","taskPriority":"P2","taskStatus":"Open","taskTitle":"Child 4","taskType":"WorkTask","taskUpdatedAt":"2025-11-22T19:04:37.592704363Z"}
-{"taskCreatedAt":"2025-11-22T19:04:37.593241559Z","taskDependencies":[],"taskDescription":null,"taskId":"t-1o2buswy72v.5","taskNamespace":null,"taskParent":"t-1o2buswy72v","taskPriority":"P2","taskStatus":"Open","taskTitle":"Child 5","taskType":"WorkTask","taskUpdatedAt":"2025-11-22T19:04:37.593241559Z"}
-{"taskCreatedAt":"2025-11-22T19:04:37.594200249Z","taskDependencies":[],"taskDescription":null,"taskId":"t-1o2buswy72v.6","taskNamespace":null,"taskParent":"t-1o2buswy72v","taskPriority":"P2","taskStatus":"Open","taskTitle":"Child 6","taskType":"WorkTask","taskUpdatedAt":"2025-11-22T19:04:37.594200249Z"}
-{"taskCreatedAt":"2025-11-22T19:04:37.594965647Z","taskDependencies":[],"taskDescription":null,"taskId":"t-1o2buswy72v.7","taskNamespace":null,"taskParent":"t-1o2buswy72v","taskPriority":"P2","taskStatus":"Open","taskTitle":"Child 7","taskType":"WorkTask","taskUpdatedAt":"2025-11-22T19:04:37.594965647Z"}
-{"taskCreatedAt":"2025-11-22T19:04:37.595785715Z","taskDependencies":[],"taskDescription":null,"taskId":"t-1o2buswy72v.8","taskNamespace":null,"taskParent":"t-1o2buswy72v","taskPriority":"P2","taskStatus":"Open","taskTitle":"Child 8","taskType":"WorkTask","taskUpdatedAt":"2025-11-22T19:04:37.595785715Z"}
-{"taskCreatedAt":"2025-11-22T19:04:37.596608874Z","taskDependencies":[],"taskDescription":null,"taskId":"t-1o2buswy72v.9","taskNamespace":null,"taskParent":"t-1o2buswy72v","taskPriority":"P2","taskStatus":"Open","taskTitle":"Child 9","taskType":"WorkTask","taskUpdatedAt":"2025-11-22T19:04:37.596608874Z"}
-{"taskCreatedAt":"2025-11-22T19:04:37.597566114Z","taskDependencies":[],"taskDescription":null,"taskId":"t-1o2buswy72v.10","taskNamespace":null,"taskParent":"t-1o2buswy72v","taskPriority":"P2","taskStatus":"Open","taskTitle":"Child 10","taskType":"WorkTask","taskUpdatedAt":"2025-11-22T19:04:37.597566114Z"}
diff --git a/.tasks/tasks.jsonl b/.tasks/tasks.jsonl
index 9cc3522..aa8c1da 100644
--- a/.tasks/tasks.jsonl
+++ b/.tasks/tasks.jsonl
@@ -201,7 +201,7 @@
{"taskCreatedAt":"2025-11-21T05:28:31.973657907Z","taskDependencies":[],"taskDescription":null,"taskId":"t-rwagbsb6w","taskNamespace":"Biz/PodcastItLater.hs","taskParent":null,"taskPriority":"P2","taskStatus":"Done","taskTitle":"Add error handling tests for Worker","taskType":"WorkTask","taskUpdatedAt":"2025-11-21T05:40:59.255645021Z"}
{"taskCreatedAt":"2025-11-22T10:39:11.364170862Z","taskDependencies":[{"depId":"t-rwbmpxabk","depType":"DiscoveredFrom"}],"taskDescription":null,"taskId":"t-rwcm6todb","taskNamespace":null,"taskParent":null,"taskPriority":"P2","taskStatus":"Done","taskTitle":"Fix failing tests in Biz/PodcastItLater/Web.py (UsageLimits and EpisodeDetail)","taskType":"WorkTask","taskUpdatedAt":"2025-11-22T14:32:24.762100815Z"}
{"taskCreatedAt":"2025-11-22T20:37:09.166630362Z","taskDependencies":[],"taskDescription":null,"taskId":"t-1o2bxcq7999","taskNamespace":"Omni/Workflow.hs","taskParent":null,"taskPriority":"P2","taskStatus":"Open","taskTitle":"Phase 1: Foundations (Task & CI)","taskType":"Epic","taskUpdatedAt":"2025-11-22T20:37:09.166630362Z"}
-{"taskCreatedAt":"2025-11-22T20:37:13.980489314Z","taskDependencies":[],"taskDescription":"Configure .gitattributes and .git/config (via Omni/Ide/hooks or setup) to use 'agent merge-driver' for .tasks/tasks.jsonl. This prevents data loss when merging branches with divergent task lists.","taskId":"t-1o2bxcq7999.1","taskNamespace":"Omni/Ide.hs","taskParent":"t-1o2bxcq7999","taskPriority":"P0","taskStatus":"Review","taskTitle":"Configure git merge driver for tasks.jsonl","taskType":"WorkTask","taskUpdatedAt":"2025-11-22T21:12:43.776964557Z"}
+{"taskCreatedAt":"2025-11-22T20:37:13.980489314Z","taskDependencies":[],"taskDescription":"Configure .gitattributes and .git/config (via Omni/Ide/hooks or setup) to use 'agent merge-driver' for .tasks/tasks.jsonl. This prevents data loss when merging branches with divergent task lists.","taskId":"t-1o2bxcq7999.1","taskNamespace":"Omni/Ide.hs","taskParent":"t-1o2bxcq7999","taskPriority":"P0","taskStatus":"Done","taskTitle":"Configure git merge driver for tasks.jsonl","taskType":"WorkTask","taskUpdatedAt":"2025-11-22T21:57:23.592078308Z"}
{"taskCreatedAt":"2025-11-22T20:37:18.719690905Z","taskDependencies":[],"taskDescription":"Update Task Core to include Approved status, update CLI to support it, update TaskStats, and fix any compilation errors. Reference plan: /home/ben/omni/_/llm/PLAN_Autonomous_Workflow.md","taskId":"t-1o2bxcq7999.2","taskNamespace":"Omni/Task.hs","taskParent":"t-1o2bxcq7999","taskPriority":"P1","taskStatus":"Review","taskTitle":"Add Approved status to Omni/Task","taskType":"WorkTask","taskUpdatedAt":"2025-11-22T21:21:07.384080767Z"}
{"taskCreatedAt":"2025-11-22T20:37:23.378739333Z","taskDependencies":[],"taskDescription":"Rewrite Omni/Ci.sh into a robust Haskell program (Omni/Ci.hs). Reference plan: /home/ben/omni/_/llm/PLAN_Autonomous_Workflow.md","taskId":"t-1o2bxcq7999.3","taskNamespace":"Omni/Ci.hs","taskParent":"t-1o2bxcq7999","taskPriority":"P1","taskStatus":"Review","taskTitle":"Implement Omni/Ci.hs","taskType":"WorkTask","taskUpdatedAt":"2025-11-22T21:23:53.72628323Z"}
{"taskCreatedAt":"2025-11-22T20:37:27.396872011Z","taskDependencies":[],"taskDescription":"The Time, Thread, and Credits fields in the agent status bar are not being populated. Update Omni/Agent/Log.hs to parse these fields from the JSON log output.","taskId":"t-1o2bxd11zv9","taskNamespace":"Omni/Agent.hs","taskParent":null,"taskPriority":"P1","taskStatus":"Review","taskTitle":"Fix missing Time, Thread, and Credits in Agent Log","taskType":"WorkTask","taskUpdatedAt":"2025-11-22T21:31:55.395825865Z"}
diff --git a/Omni/Ide/hooks/post-checkout b/Omni/Ide/hooks/post-checkout
index 3fe14b5..7c8bcb9 100755
--- a/Omni/Ide/hooks/post-checkout
+++ b/Omni/Ide/hooks/post-checkout
@@ -15,6 +15,10 @@ then
MakeTags "${changed[@]}"
fi
+# Configure git merge driver for tasks
+git config merge.agent.name "Agent Merge Driver" || true
+git config merge.agent.driver "agent merge-driver %A %B" || true
+
# Task manager: Import tasks after branch switch
if [ -f .tasks/tasks.jsonl ]; then
task import -i .tasks/tasks.jsonl 2>/dev/null || true
diff --git a/Omni/Task.hs b/Omni/Task.hs
index b62e1c1..12842db 100644
--- a/Omni/Task.hs
+++ b/Omni/Task.hs
@@ -117,7 +117,9 @@ move args
let quiet = args `Cli.has` Cli.longOption "quiet"
initTaskDb
callCommand "git config commit.template .gitmessage"
- unless quiet <| putText "Task database initialized and git commit template configured. Use 'task create' to add tasks."
+ callCommand "git config merge.agent.name 'Agent Merge Driver' || true"
+ callCommand "git config merge.agent.driver 'agent merge-driver %A %B' || true"
+ unless quiet <| putText "Task database initialized and configured. Use 'task create' to add tasks."
| args `Cli.has` Cli.command "create" = do
title <- getArgText args "title"
taskType <- case Cli.getArg args (Cli.longOption "type") of
diff --git a/base b/base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/base
diff --git a/ours.lock b/ours.lock
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ours.lock