aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/seed_navigator_demo.sh138
1 files changed, 64 insertions, 74 deletions
diff --git a/scripts/seed_navigator_demo.sh b/scripts/seed_navigator_demo.sh
index 9275e40a..52ee3853 100755
--- a/scripts/seed_navigator_demo.sh
+++ b/scripts/seed_navigator_demo.sh
@@ -5,12 +5,13 @@ usage() {
cat <<'USAGE'
usage: scripts/seed_navigator_demo.sh [--allow-main]
-Seeds a running herdr dev server with navigator demo workspaces, tabs, panes,
-and fake agent states. Most panes are intentionally unnamed.
+Seeds a running herdr server with navigator demo workspaces, tabs, panes,
+and fake agent states for recording the session navigator.
Environment:
HERDR_NAV_SOCKET_PATH API socket to target. Defaults to $HOME/.config/herdr-dev/herdr.sock.
HERDR_NAV_CWD Workspace cwd for created panes. Defaults to the repo root.
+ HERDR_NAV_BIN Herdr binary to call. Defaults to cargo run from the repo.
USAGE
}
@@ -55,7 +56,11 @@ fi
cd "$repo_dir"
-run() { cargo run --quiet -- "$@"; }
+if [[ -n "${HERDR_NAV_BIN:-}" ]]; then
+ run() { "$HERDR_NAV_BIN" "$@"; }
+else
+ run() { cargo run --quiet -- "$@"; }
+fi
mkws() {
local label="$1"
@@ -90,74 +95,62 @@ report() {
--seq "$seq" >/dev/null
}
-stamp="$(date +%H%M%S)"
done_panes=()
-read WS1 P1 T1 < <(mkws "nav-${stamp}-claude-review")
-P2="$(split "$P1" down)"
-P3="$(split "$P1" right)"
-rename_sparse "$P2" "approval needed"
-report "$P1" claude blocked blocked 1
-report "$P2" claude working working 1
-# P3 stays shell/unknown.
-
-read WS2 P4 T2 < <(mkws "nav-${stamp}-codex-build")
-P5="$(split "$P4" right)"
-read T2B P6 < <(mktab "$WS2" tests)
-P7="$(split "$P6" down)"
-report "$P4" codex working working 1
-report "$P5" codex working working 1
-report "$P6" codex idle idle 1
-report "$P7" codex working working 1
-done_panes+=("$P7:codex")
-
-read WS3 P8 T3 < <(mkws "nav-${stamp}-finished")
-P9="$(split "$P8" down)"
-P10="$(split "$P8" right)"
-rename_sparse "$P10" "release notes"
-report "$P8" claude working working 1
-report "$P9" claude working working 1
-report "$P10" codex idle idle 1
-done_panes+=("$P8:claude" "$P9:claude")
-
-read WS4 P11 T4 < <(mkws "nav-${stamp}-quiet")
-read T4B P12 < <(mktab "$WS4" notes)
-P13="$(split "$P12" right)"
-report "$P12" pi idle idle 1
-# P11 and P13 stay shell/unknown.
-
-read WS5 P14 T5 < <(mkws "nav-${stamp}-mixed")
-P15="$(split "$P14" down)"
-P16="$(split "$P14" right)"
-read T5B P17 < <(mktab "$WS5" agents)
-P18="$(split "$P17" down)"
-rename_sparse "$P14" "prod decision"
-report "$P14" claude blocked blocked 1
-report "$P15" codex blocked blocked 1
-report "$P16" claude working working 1
-report "$P17" codex working working 1
-report "$P18" claude idle idle 1
-
-read WS6 P19 T6 < <(mkws "nav-${stamp}-dense")
-P20="$(split "$P19" down)"
-P21="$(split "$P19" right)"
-read T6B P22 < <(mktab "$WS6" long-run)
-P23="$(split "$P22" down)"
-P24="$(split "$P22" right)"
-report "$P19" codex working working 1
-report "$P20" claude idle idle 1
-report "$P21" codex blocked blocked 1
-report "$P22" claude working working 1
-report "$P23" codex working working 1
-report "$P24" claude working working 1
-done_panes+=("$P24:claude")
-
-run workspace focus "$WS1" >/dev/null
+read API_WS API_CODEX API_TAB < <(mkws api)
+run tab rename "$API_TAB" agents >/dev/null
+API_SHELL="$(split "$API_CODEX" down)"
+API_CLAUDE="$(split "$API_CODEX" right)"
+read API_LOGS_TAB API_LOGS < <(mktab "$API_WS" logs)
+rename_sparse "$API_CODEX" "codex env review"
+rename_sparse "$API_CLAUDE" "claude api refactor"
+rename_sparse "$API_SHELL" "api shell"
+rename_sparse "$API_LOGS" "deploy logs"
+report "$API_CODEX" codex blocked "env approval" 1
+report "$API_CLAUDE" claude working "refactor api" 1
+report "$API_SHELL" shell idle ready 1
+report "$API_LOGS" deploy working "tail logs" 1
+
+read WEB_WS WEB_PI WEB_TAB < <(mkws web)
+run tab rename "$WEB_TAB" agents >/dev/null
+WEB_CLAUDE="$(split "$WEB_PI" down)"
+WEB_CODEX="$(split "$WEB_PI" right)"
+read WEB_PREVIEW_TAB WEB_PREVIEW < <(mktab "$WEB_WS" preview)
+rename_sparse "$WEB_PI" "pi ui build"
+rename_sparse "$WEB_CODEX" "codex css review"
+rename_sparse "$WEB_CLAUDE" "claude approval"
+rename_sparse "$WEB_PREVIEW" "preview server"
+report "$WEB_PI" pi working "build ui" 1
+report "$WEB_CLAUDE" claude blocked "tool approval" 1
+report "$WEB_PREVIEW" server idle "preview ready" 1
+report "$WEB_CODEX" codex working "css pass" 1
+done_panes+=("$WEB_CODEX:codex:review ready")
+
+read DOCS_WS DOCS_NOTES DOCS_TAB < <(mkws docs)
+run tab rename "$DOCS_TAB" release >/dev/null
+DOCS_COPY="$(split "$DOCS_NOTES" right)"
+rename_sparse "$DOCS_NOTES" "codex notes done"
+rename_sparse "$DOCS_COPY" "codex release copy"
+report "$DOCS_COPY" codex working "release copy" 1
+report "$DOCS_NOTES" codex working "checking notes" 1
+done_panes+=("$DOCS_NOTES:codex:notes done")
+
+read INFRA_WS INFRA_HERMES INFRA_TAB < <(mkws infra)
+run tab rename "$INFRA_TAB" ops >/dev/null
+INFRA_SSH="$(split "$INFRA_HERMES" right)"
+rename_sparse "$INFRA_HERMES" "hermes ssh prompt"
+rename_sparse "$INFRA_SSH" "ssh monitor"
+report "$INFRA_HERMES" hermes blocked "ssh prompt" 1
+report "$INFRA_SSH" ssh idle connected 1
+
+run workspace focus "$API_WS" >/dev/null
seq=2
for item in "${done_panes[@]}"; do
pane="${item%%:*}"
- agent="${item##*:}"
- report "$pane" "$agent" idle done "$seq"
+ rest="${item#*:}"
+ agent="${rest%%:*}"
+ status="${rest#*:}"
+ report "$pane" "$agent" idle "$status" "$seq"
seq=$((seq + 1))
done
@@ -165,13 +158,10 @@ cat <<EOF
Seeded navigator demo data via $HERDR_SOCKET_PATH
Workspaces:
- $WS1 nav-${stamp}-claude-review claude blocked + claude working + shell
- $WS2 nav-${stamp}-codex-build codex working x2 + idle + done, tab $T2B
- $WS3 nav-${stamp}-finished claude done x2 + codex idle
- $WS4 nav-${stamp}-quiet shell x2 + pi idle, tab $T4B
- $WS5 nav-${stamp}-mixed blocked x2 + working x2 + idle, tab $T5B
- $WS6 nav-${stamp}-dense blocked + working x4 + idle + done, tab $T6B
-
-Sparse naming is intentional. Most panes have no manual names.
+ $API_WS api agents: blocked codex, working claude, idle shell; logs: working deploy
+ $WEB_WS web agents: working pi, done codex, blocked claude; preview: idle server
+ $DOCS_WS docs release: done codex, working codex
+ $INFRA_WS infra ops: blocked hermes, idle ssh
+
Test in navigator: / then b, w, i, d, a, or normal text.
EOF