summaryrefslogtreecommitdiff
path: root/Omni/Agent/merge-tasks.sh
diff options
context:
space:
mode:
authorBen Sima <ben@bsima.me>2025-11-20 16:23:29 -0500
committerBen Sima <ben@bsima.me>2025-11-20 16:23:29 -0500
commitb6334da771d764b7c29b33522db06b6cc716c6cb (patch)
tree644805fb7f3276ea6a5a8af022f4b1f67c316a6f /Omni/Agent/merge-tasks.sh
parent9ab85c33379f98229235a30dbf5108ad31a01d1f (diff)
feat: implement multi-agent workflow infrastructure
- Add 'Review' status to Task tool - Add Omni/Agent/ directory with setup and sync scripts - Add WORKER_AGENT_GUIDE.md - Configure custom merge driver for tasks.jsonl
Diffstat (limited to 'Omni/Agent/merge-tasks.sh')
-rwxr-xr-xOmni/Agent/merge-tasks.sh30
1 files changed, 30 insertions, 0 deletions
diff --git a/Omni/Agent/merge-tasks.sh b/Omni/Agent/merge-tasks.sh
new file mode 100755
index 0000000..833afcf
--- /dev/null
+++ b/Omni/Agent/merge-tasks.sh
@@ -0,0 +1,30 @@
+#!/usr/bin/env bash
+# Omni/Ide/merge-tasks.sh
+# Git merge driver for .tasks/tasks.jsonl
+# Usage: merge-tasks.sh %O %A %B
+# %O = ancestor, %A = current (ours), %B = other (theirs)
+
+# ANCESTOR="$1" (unused)
+OURS="$2"
+THEIRS="$3"
+
+# We want to merge THEIRS into OURS using the task tool's import logic.
+REPO_ROOT="$(git rev-parse --show-toplevel)"
+TASK_BIN="$REPO_ROOT/_/bin/task"
+
+# If binary doesn't exist, try to build it? Or just fail safely.
+if [ ! -x "$TASK_BIN" ]; then
+ # Try to find it in the build output if _/bin isn't populated
+ # But for now, let's just fail if not found, forcing manual merge
+ exit 1
+fi
+
+# Use the task tool to merge
+# We tell it that the DB is the 'OURS' file
+# And we import the 'THEIRS' file
+export TASK_DB_PATH="$OURS"
+if "$TASK_BIN" import -i "$THEIRS" >/dev/null 2>&1; then
+ exit 0
+else
+ exit 1
+fi