From b6334da771d764b7c29b33522db06b6cc716c6cb Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Thu, 20 Nov 2025 16:23:29 -0500 Subject: 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 --- Omni/Agent/merge-tasks.sh | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100755 Omni/Agent/merge-tasks.sh (limited to 'Omni/Agent/merge-tasks.sh') 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 -- cgit v1.2.3