@walwal-harness/cli 3.6.1 → 3.6.2

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": "3.6.1",
3
+ "version": "3.6.2",
4
4
  "description": "Production harness for AI agent engineering — Planner, Generator(BE/FE), Evaluator(Func/Visual), optional Brainstormer (requirements refinement). Supports React and Flutter FE stacks.",
5
5
  "bin": {
6
6
  "walwal-harness": "bin/init.js"
@@ -156,9 +156,8 @@ render_failure_info() {
156
156
  fi
157
157
  }
158
158
 
159
- # ── Main Loop ──
160
- while true; do
161
- clear
159
+ # ── Render to buffer, then overwrite screen in one shot ──
160
+ render_all() {
162
161
  render_header
163
162
  render_sprint_overview
164
163
  render_build_status
@@ -175,5 +174,26 @@ while true; do
175
174
  echo ""
176
175
 
177
176
  echo -e " ${DIM}Refreshing every 2s | Ctrl+C to exit${RESET}"
177
+ }
178
+
179
+ # ── Main Loop ──
180
+ # Hide cursor during refresh to reduce flicker
181
+ tput civis 2>/dev/null # hide cursor
182
+ trap 'tput cnorm 2>/dev/null; exit 0' EXIT INT TERM
183
+
184
+ # Initial clear
185
+ clear
186
+
187
+ while true; do
188
+ # Capture full output into buffer
189
+ buf=$(render_all 2>/dev/null)
190
+
191
+ # Move cursor to top-left and overwrite (no clear = no flicker)
192
+ tput cup 0 0 2>/dev/null
193
+ echo "$buf"
194
+
195
+ # Clear any leftover lines from previous render
196
+ tput ed 2>/dev/null
197
+
178
198
  sleep 2
179
199
  done
@@ -215,12 +215,10 @@ while true; do
215
215
 
216
216
  # Check agent status for eval-related transitions
217
217
  if [ -f "$PROGRESS" ]; then
218
- local agent
219
- agent=$(jq -r '.current_agent // "none"' "$PROGRESS" 2>/dev/null)
220
- local status
221
- status=$(jq -r '.agent_status // "pending"' "$PROGRESS" 2>/dev/null)
218
+ _agent=$(jq -r '.current_agent // "none"' "$PROGRESS" 2>/dev/null)
219
+ _status=$(jq -r '.agent_status // "pending"' "$PROGRESS" 2>/dev/null)
222
220
 
223
- if [[ "$agent" == evaluator-* ]] && [ "$status" = "running" ]; then
221
+ if [[ "$_agent" == evaluator-* ]] && [ "$_status" = "running" ]; then
224
222
  # Show that evaluator is active
225
223
  :
226
224
  fi