diff options
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/seed_navigator_demo.sh | 138 |
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 |
