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/sync-tasks.sh | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100755 Omni/Agent/sync-tasks.sh (limited to 'Omni/Agent/sync-tasks.sh') diff --git a/Omni/Agent/sync-tasks.sh b/Omni/Agent/sync-tasks.sh new file mode 100755 index 0000000..f4669b7 --- /dev/null +++ b/Omni/Agent/sync-tasks.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash +set -e + +# Omni/Ide/sync-tasks.sh +# Synchronizes the task database with the live branch safely. +# Usage: sync-tasks.sh [--commit] + +COMMIT=0 +if [[ "$1" == "--commit" ]]; then + COMMIT=1 +fi + +REPO_ROOT="$(git rev-parse --show-toplevel)" +cd "$REPO_ROOT" + +echo "Syncing tasks..." + +# 1. Import latest tasks from 'live' branch +# We use git show to get the file content from the reference branch without checking it out +mkdir -p .tasks +git show live:.tasks/tasks.jsonl > .tasks/live-tasks.jsonl + +# 2. Merge logic: Import live tasks into our local DB +# The 'task import' command uses timestamps to resolve conflicts (last write wins) +if [ -s .tasks/live-tasks.jsonl ]; then + echo "Importing tasks from live branch..." + "$REPO_ROOT/_/bin/task" import -i .tasks/live-tasks.jsonl +fi + +# 3. Clean up +rm .tasks/live-tasks.jsonl + +# 4. Export current state to ensure it's clean/deduplicated +"$REPO_ROOT/_/bin/task" export --flush + +# 5. Commit changes to .tasks/tasks.jsonl if requested and there are changes +if [[ "$COMMIT" -eq 1 ]]; then + if [[ -n $(git status --porcelain .tasks/tasks.jsonl) ]]; then + echo "Committing task updates..." + git add .tasks/tasks.jsonl + git commit -m "task: sync database" || true + echo "Task updates committed to current branch." + else + echo "No task changes to commit." + fi +fi -- cgit v1.2.3