Skip to content

Pipeline Plan 247

Seth Ford edited this page Mar 10, 2026 · 1 revision

Plan written to .claude/plan.md. Here's a summary:

Plan: Build Loop Iteration Progress Metrics Dashboard Widget

Design Decision

File-based approach — write build_loop_status.json after each loop iteration (alongside existing progress.md and error-summary.json). Consistent with existing patterns, minimal blast radius, works across worktrees.

Files to Change (8 total)

File Action Purpose
scripts/lib/loop-progress.sh Modify Add write_build_loop_status() function
scripts/sw-loop.sh Modify Call new function + route status subcommand
scripts/sw-loop-status.sh New CLI command: shipwright loop status
dashboard/types/index.ts Modify Add BuildLoopStatus interface
dashboard/server.ts Modify Read build_loop_status.json in pipeline data
dashboard/src/views/build-loop.ts New Dashboard widget component
scripts/sw-loop-status-test.sh New Bash test suite (7 tests)
dashboard/src/views/build-loop.test.ts New Vitest tests (5 tests)

Key Design Choices

  • context_usage_percentiteration_budget_pct (iteration/max * 100) since actual context window usage isn't accessible from bash
  • Trend indicators derived from convergence history scores (already tracked)
  • Auto-refresh via existing WebSocket (2s push cycle > 10s requirement)
  • Staleness detection — widget marks data stale if updated_at > 60s old
  • Optional field on Pipeline type (buildLoopStatus?) — non-breaking change

11 Implementation Tasks

Tasks 1-2 (bash write), Task 3-4 (CLI command), Tasks 5-8 (dashboard), Tasks 9-11 (tests + verification). Dependencies documented in plan.

Clone this wiki locally