chore(freeze): snapshot demo state before Plan-07 hardening work
Freeze current submission/demo baseline: - casan-next-plans/: full task-level plan set (Plan 00 index + 02/04/06/07/08/09/12, QA, slide deck) - optimize-docs/video-steps/: per-vector scene breakdown (commands/screen-text/script) + start-tmux - run-all.sh / scorecard.sh / map-live.sh: REAL=1 live-battery wiring - regenerated evidence + audit/telemetry logs from live REAL=1 run - submission README + video recording guide updates - dry-run pipeline logs for 001-okr-web-app Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
fabd5f8783
commit
fbcef967e5
Executable
+43
@@ -0,0 +1,43 @@
|
||||
#!/usr/bin/env bash
|
||||
# ============================================================================
|
||||
# start-tmux.sh — dựng sẵn layout quay: pane TRÁI = bản đồ sống,
|
||||
# pane PHẢI = run-all.sh. Hai pane đồng bộ qua STEP_FILE.
|
||||
#
|
||||
# Dùng:
|
||||
# cd <thư mục gốc dự án có .specify/> # vd: AINative_OKR_CASAN5
|
||||
# bash /…/optimize-docs/video-steps/start-tmux.sh
|
||||
#
|
||||
# Biến môi trường (tuỳ chọn):
|
||||
# CASAN_ROOT=/path/to/AINative_OKR_CASAN5 # nếu không cd sẵn
|
||||
# AUTO=1 STEP_DELAY=6 # pane phải tự chạy, nghỉ 6s/bước
|
||||
# COLS=210 ROWS=52 LEFT=44 # kích thước cửa sổ & bề rộng pane trái
|
||||
# ============================================================================
|
||||
set -euo pipefail
|
||||
|
||||
HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
ROOT="${CASAN_ROOT:-$PWD}"
|
||||
[ -d "$ROOT/.specify" ] || { [ -d "$ROOT/AINative_OKR_CASAN5/.specify" ] && ROOT="$ROOT/AINative_OKR_CASAN5"; }
|
||||
[ -d "$ROOT/.specify" ] || { echo "✗ Không thấy .specify/ tại '$ROOT'. cd vào project hoặc đặt CASAN_ROOT."; exit 1; }
|
||||
|
||||
command -v tmux >/dev/null || { echo "✗ Chưa cài tmux. macOS: brew install tmux"; exit 1; }
|
||||
|
||||
STEP_FILE="${CASAN_STEP_FILE:-/tmp/casan_step}"
|
||||
printf 'INTRO' > "$STEP_FILE"
|
||||
|
||||
SESS="casan"
|
||||
COLS="${COLS:-210}"; ROWS="${ROWS:-52}"; LEFT="${LEFT:-44}"
|
||||
RIGHT=$(( COLS - LEFT - 1 ))
|
||||
|
||||
tmux kill-session -t "$SESS" 2>/dev/null || true
|
||||
tmux new-session -d -s "$SESS" -x "$COLS" -y "$ROWS"
|
||||
|
||||
# pane 0 (trái) = bản đồ sống
|
||||
tmux send-keys -t "$SESS":0.0 "clear; bash '$HERE/map-live.sh' '$STEP_FILE'" C-m
|
||||
|
||||
# tách pane phải rộng $RIGHT cột = nơi chạy battery (đây là pane bạn thao tác)
|
||||
tmux split-window -h -t "$SESS":0.0 -l "$RIGHT"
|
||||
tmux send-keys -t "$SESS":0.1 \
|
||||
"cd '$ROOT' && clear && CASAN_STEP_FILE='$STEP_FILE' ${AUTO:+AUTO=$AUTO} ${STEP_DELAY:+STEP_DELAY=$STEP_DELAY} bash '$HERE/run-all.sh'" C-m
|
||||
|
||||
tmux select-pane -t "$SESS":0.1 # focus pane phải để bấm Enter
|
||||
tmux attach -t "$SESS"
|
||||
Reference in New Issue
Block a user