From 84e7b2901552c2917df483d2aef930c55e227588 Mon Sep 17 00:00:00 2001 From: Levi Neely Date: Sun, 26 Apr 2026 12:31:34 +0200 Subject: [PATCH] agents: inline bd prime conditional; simplify task dispatcher MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace 'task prime' hook with inline .beads walk in all agent configs — no wrapper script needed. Drop 'prime' subcommand from scripts/x/task. Co-Authored-By: Claude Sonnet 4.6 --- agents/coding.json | 2 +- agents/default.json | 2 +- agents/devops.json | 2 +- agents/greybeard.json | 2 +- agents/qa.json | 2 +- agents/reviewer.json | 2 +- agents/writer.json | 2 +- scripts/x/task | 14 +++----------- 8 files changed, 10 insertions(+), 18 deletions(-) diff --git a/agents/coding.json b/agents/coding.json index d3213dc..edf80a6 100644 --- a/agents/coding.json +++ b/agents/coding.json @@ -15,7 +15,7 @@ ], "hooks": { "agentSpawn": [ - "task prime 2>/dev/null || true", + "bash -c 'd=$PWD; while [ \"$d\" != / ]; do [ -d \"$d/.beads\" ] && exec bd prime; [ ! -e \"$d/.git\" ] && break; d=$(dirname \"$d\"); done' 2>/dev/null || true", "prime tools-task 2>/dev/null || true", "$OLLIE/x/elevate-adapter-start 2>/dev/null || true", "$OLLIE/x/prime tools-file", diff --git a/agents/default.json b/agents/default.json index d46ed96..a15eb3e 100644 --- a/agents/default.json +++ b/agents/default.json @@ -4,7 +4,7 @@ ], "hooks": { "agentSpawn": [ - "task prime 2>/dev/null || true", + "bash -c 'd=$PWD; while [ \"$d\" != / ]; do [ -d \"$d/.beads\" ] && exec bd prime; [ ! -e \"$d/.git\" ] && break; d=$(dirname \"$d\"); done' 2>/dev/null || true", "prime tools-task 2>/dev/null || true", "$OLLIE/x/elevate-adapter-start 2>/dev/null || true", "$OLLIE/x/prime tools-file", diff --git a/agents/devops.json b/agents/devops.json index 19eec45..a23e372 100644 --- a/agents/devops.json +++ b/agents/devops.json @@ -5,7 +5,7 @@ ], "hooks": { "agentSpawn": [ - "task prime 2>/dev/null || true", + "bash -c 'd=$PWD; while [ \"$d\" != / ]; do [ -d \"$d/.beads\" ] && exec bd prime; [ ! -e \"$d/.git\" ] && break; d=$(dirname \"$d\"); done' 2>/dev/null || true", "prime tools-task 2>/dev/null || true", "$OLLIE/x/elevate-adapter-start 2>/dev/null || true", "$OLLIE/x/prime tools-file", diff --git a/agents/greybeard.json b/agents/greybeard.json index 4e4c17d..b5ad1ea 100644 --- a/agents/greybeard.json +++ b/agents/greybeard.json @@ -5,7 +5,7 @@ ], "hooks": { "agentSpawn": [ - "task prime 2>/dev/null || true", + "bash -c 'd=$PWD; while [ \"$d\" != / ]; do [ -d \"$d/.beads\" ] && exec bd prime; [ ! -e \"$d/.git\" ] && break; d=$(dirname \"$d\"); done' 2>/dev/null || true", "prime tools-task 2>/dev/null || true", "$OLLIE/x/elevate-adapter-start 2>/dev/null || true", "$OLLIE/x/prime tools-file", diff --git a/agents/qa.json b/agents/qa.json index 899d6fe..7a9b65f 100644 --- a/agents/qa.json +++ b/agents/qa.json @@ -5,7 +5,7 @@ ], "hooks": { "agentSpawn": [ - "task prime 2>/dev/null || true", + "bash -c 'd=$PWD; while [ \"$d\" != / ]; do [ -d \"$d/.beads\" ] && exec bd prime; [ ! -e \"$d/.git\" ] && break; d=$(dirname \"$d\"); done' 2>/dev/null || true", "prime tools-task 2>/dev/null || true", "$OLLIE/x/elevate-adapter-start 2>/dev/null || true", "$OLLIE/x/prime tools-file", diff --git a/agents/reviewer.json b/agents/reviewer.json index 9c03b39..3414132 100644 --- a/agents/reviewer.json +++ b/agents/reviewer.json @@ -5,7 +5,7 @@ ], "hooks": { "agentSpawn": [ - "task prime 2>/dev/null || true", + "bash -c 'd=$PWD; while [ \"$d\" != / ]; do [ -d \"$d/.beads\" ] && exec bd prime; [ ! -e \"$d/.git\" ] && break; d=$(dirname \"$d\"); done' 2>/dev/null || true", "prime tools-task 2>/dev/null || true", "$OLLIE/x/elevate-adapter-start 2>/dev/null || true", "$OLLIE/x/prime tools-file", diff --git a/agents/writer.json b/agents/writer.json index aab2b67..28bbee4 100644 --- a/agents/writer.json +++ b/agents/writer.json @@ -5,7 +5,7 @@ ], "hooks": { "agentSpawn": [ - "task prime 2>/dev/null || true", + "bash -c 'd=$PWD; while [ \"$d\" != / ]; do [ -d \"$d/.beads\" ] && exec bd prime; [ ! -e \"$d/.git\" ] && break; d=$(dirname \"$d\"); done' 2>/dev/null || true", "prime tools-task 2>/dev/null || true", "$OLLIE/x/elevate-adapter-start 2>/dev/null || true", "$OLLIE/x/prime tools-file", diff --git a/scripts/x/task b/scripts/x/task index d7e736e..feebef1 100755 --- a/scripts/x/task +++ b/scripts/x/task @@ -1,9 +1,7 @@ #!/bin/bash # Task dispatcher. -# prime: bd prime if .beads is present, silent otherwise. -# list: always shows s/{sid}/plan; additionally bd list --status open if .beads present. +# list: always shows s/{sid}/plan; additionally bd list --status open if .beads present. -cmd="${1:-list}" OLLIE="${OLLIE:-$HOME/mnt/ollie}" show_plan() { @@ -15,17 +13,11 @@ show_plan() { dir="$PWD" while [ "$dir" != "/" ]; do if [ -d "$dir/.beads" ]; then - case "$cmd" in - prime) exec bd prime ;; - list) show_plan; exec bd list --status open ;; - esac + show_plan; exec bd list --status open fi [ ! -e "$dir/.git" ] && break dir="$(dirname "$dir")" done -case "$cmd" in - list) show_plan ;; -esac - +show_plan exit 0