@walwal-harness/cli 5.7.2 → 5.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@walwal-harness/cli",
3
- "version": "5.7.2",
3
+ "version": "5.7.3",
4
4
  "description": "Production harness for AI agent engineering — Solo/Team mode, Planner, Generator(BE/FE), Evaluator chain (Code-Quality → Functional → Visual), optional Brainstormer. Supports React, Next.js, and Flutter FE stacks.",
5
5
  "bin": {
6
6
  "walwal-harness": "bin/init.js"
@@ -142,6 +142,10 @@ APPLESCRIPT
142
142
  }
143
143
 
144
144
  launch_iterm2_solo() {
145
+ # Solo 레이아웃 (Team 모드와 동일 구조, 우측만 단일 Monitor 패널):
146
+ # Left col : Dashboard (top) + Prompt History (bottom)
147
+ # Middle : Gotcha · Memory · Conventions
148
+ # Right : Monitor (lifecycle stream, 단일 에이전트)
145
149
  osascript <<APPLESCRIPT
146
150
  tell application "iTerm2"
147
151
  activate
@@ -153,22 +157,22 @@ launch_iterm2_solo() {
153
157
  set name to "harness-studio"
154
158
  write text "cd '${PROJECT_ROOT}' && bash '${SCRIPT_DIR}/harness-dashboard.sh' '${PROJECT_ROOT}'"
155
159
 
156
- -- Split right → Monitor
157
- set monPane to (split vertically with default profile)
158
- tell monPane
159
- write text "cd '${PROJECT_ROOT}' && bash '${SCRIPT_DIR}/harness-monitor.sh' '${PROJECT_ROOT}'"
160
-
161
- -- Split right → Agent Session
162
- set agentPane to (split vertically with default profile)
163
- tell agentPane
164
- write text "cd '${PROJECT_ROOT}' && clear"
165
- end tell
160
+ -- Split down (bottom of Dashboard column) → Prompt History
161
+ set archivePane to (split horizontally with default profile)
162
+ tell archivePane
163
+ write text "cd '${PROJECT_ROOT}' && bash '${SCRIPT_DIR}/harness-prompt-history.sh' '${PROJECT_ROOT}'"
166
164
  end tell
167
165
 
168
- -- Split down → Prompt History (bottom-left)
169
- set histPane to (split horizontally with default profile)
170
- tell histPane
171
- write text "cd '${PROJECT_ROOT}' && bash '${SCRIPT_DIR}/harness-prompt-history.sh' '${PROJECT_ROOT}'"
166
+ -- Split right → Gotcha · Memory · Conventions
167
+ set dashPane to (split vertically with default profile)
168
+ tell dashPane
169
+ write text "cd '${PROJECT_ROOT}' && bash '${SCRIPT_DIR}/harness-gotcha-memory.sh' '${PROJECT_ROOT}'"
170
+
171
+ -- Split right → Monitor (solo 단일 에이전트 라이프사이클)
172
+ set monPane to (split vertically with default profile)
173
+ tell monPane
174
+ write text "cd '${PROJECT_ROOT}' && bash '${SCRIPT_DIR}/harness-monitor.sh' '${PROJECT_ROOT}'"
175
+ end tell
172
176
  end tell
173
177
  end tell
174
178
  end tell
@@ -210,23 +214,24 @@ launch_tmux_team() {
210
214
  }
211
215
 
212
216
  launch_tmux_solo() {
217
+ # Solo 레이아웃 (Team 모드와 동일 구조, 우측만 단일 Monitor 패널).
213
218
  tmux kill-session -t "$SESSION_NAME" 2>/dev/null || true
214
219
 
215
- PANE_DASHBOARD=$(tmux new-session -d -s "$SESSION_NAME" -c "$PROJECT_ROOT" -x 200 -y 50 -P -F '#{pane_id}' \
216
- "bash --norc --noprofile -c 'exec bash \"${SCRIPT_DIR}/harness-dashboard.sh\" \"${PROJECT_ROOT}\"'")
217
- PANE_MONITOR=$(tmux split-window -h -p 60 -t "$PANE_DASHBOARD" -c "$PROJECT_ROOT" -P -F '#{pane_id}' \
220
+ PANE_DASH=$(tmux new-session -d -s "$SESSION_NAME" -c "$PROJECT_ROOT" -x 200 -y 50 -P -F '#{pane_id}')
221
+ PANE_GOTCHA=$(tmux split-window -h -p 70 -t "$PANE_DASH" -c "$PROJECT_ROOT" -P -F '#{pane_id}')
222
+ PANE_MONITOR=$(tmux split-window -h -p 50 -t "$PANE_GOTCHA" -c "$PROJECT_ROOT" -P -F '#{pane_id}' \
218
223
  "bash --norc --noprofile -c 'exec bash \"${SCRIPT_DIR}/harness-monitor.sh\" \"${PROJECT_ROOT}\"'")
219
- PANE_HISTORY=$(tmux split-window -v -p 30 -t "$PANE_DASHBOARD" -c "$PROJECT_ROOT" -P -F '#{pane_id}' \
224
+ PANE_HISTORY=$(tmux split-window -v -p 35 -t "$PANE_DASH" -c "$PROJECT_ROOT" -P -F '#{pane_id}' \
220
225
  "bash --norc --noprofile -c 'exec bash \"${SCRIPT_DIR}/harness-prompt-history.sh\" \"${PROJECT_ROOT}\"'")
221
- PANE_AGENT=$(tmux split-window -v -p 85 -t "$PANE_MONITOR" -c "$PROJECT_ROOT" -P -F '#{pane_id}')
222
226
 
223
- tmux send-keys -t "$PANE_AGENT" "clear" Enter
227
+ tmux send-keys -t "$PANE_DASH" "bash \"${SCRIPT_DIR}/harness-dashboard.sh\" \"${PROJECT_ROOT}\"" Enter
228
+ tmux send-keys -t "$PANE_GOTCHA" "bash \"${SCRIPT_DIR}/harness-gotcha-memory.sh\" \"${PROJECT_ROOT}\"" Enter
224
229
 
225
- tmux select-pane -t "$PANE_DASHBOARD" -T "Dashboard"
226
- tmux select-pane -t "$PANE_MONITOR" -T "Monitor"
227
- tmux select-pane -t "$PANE_HISTORY" -T "Prompt History"
228
- tmux select-pane -t "$PANE_AGENT" -T "Agent Session"
229
- tmux select-pane -t "$PANE_AGENT"
230
+ tmux select-pane -t "$PANE_DASH" -T "Dashboard"
231
+ tmux select-pane -t "$PANE_HISTORY" -T "Prompt History"
232
+ tmux select-pane -t "$PANE_GOTCHA" -T "Gotcha · Memory · Conventions"
233
+ tmux select-pane -t "$PANE_MONITOR" -T "Monitor"
234
+ tmux select-pane -t "$PANE_DASH"
230
235
 
231
236
  tmux set-option -t "$SESSION_NAME" pane-border-status top 2>/dev/null || true
232
237
  tmux set-option -t "$SESSION_NAME" pane-border-format " #{pane_title} " 2>/dev/null || true