Files
paperclip-harness/.pi/memory-vault/packs/paperclip-harness/80-sessions/paperclip-harness-tui-rebuild-refresh-keys-author-repair-pan.md

3.9 KiB

type: session id: session.paperclip-harness.paperclip-harness-tui-rebuild-refresh-keys-author-repair-pan title: paperclip-harness TUI: Rebuild/Refresh keys + Author/Repair panel expansion status: active source_of_truth: false freshness: current last_reviewed: 2026-11-10 tags: - pack/paperclip-harness - agent-memory/session - paperclip-harness - tui - go - bubbles-tea - keybindings - rebuild - layout - author

paperclip-harness TUI: Rebuild/Refresh keys + Author/Repair panel expansion

Repository: paperclip-harness, TUI component in tui/ (Go, bubbles/tea).

Key bindings established

  • r — refresh/re-read data in the current panel only (nothing closes or moves).
  • R — full rebuild of every workspace/pane from the project file.
  • R is bound on board, work, conversation, project, and repair screens — NOT on the new-task form (letters are text there).

Rebuild implementation detail

R shells out to bin/board --replace, run detached in its own session, because the pane you press R in is itself being replaced (a rebuild that dies with its caller is not a rebuild).

  • bin/board --replace rebuilds all panes; plain bin/board adds only missing panes without touching existing ones.
  • Panes are rebuilt by name and adopted if already present.
  • Rebuild log written to /tmp/paperclip-harness-rebuild.log.

Verified behavior

Sample rebuild log lines: rebuild started <ts>, board: <uuid> (session paperclip-harness, folder /tmp/pc-sandbox-2026-11-10), watching: AUD-162, then closed <name> for all 7 panes and created workspace N for each. Post-rebuild: exactly 7 panes, all drawing, 177x53 each:

ws 1 shell   ws 2 board   ws 3 work   ws 4 reply
ws 5 new     ws 6 project ws 7 repair

Layout (fixed order)

1 shell 2 board 3 work 4 reply 5 new 6 project 7 repair

Panel changes this turn

  • Author now has three sub-panels: the form; what a task needs (one thing, a command, a boundary, a blocker — each with a why); and what will be sent (renders the exact description the agent receives, incl. verify command and blocker). At 177 columns: form left, other two stacked right; narrower: tabs under ctrl+n.
  • Repair now has three tabs: health, layout, rebuild log.
  • Conversation task header is rendered as a line, not a panel (deliberately — a panel for one line wastes the border).

Build/toolchain note

Initial build failed in newtask.go:141 with undefined: tea.KeyCtrlBracketLeft / tea.KeyCtrlBracketRight (those tea constants don't exist in the installed bubbles version); resolved and build=0. Tests: ok paperclip-harness/tui 0.479s.

Artifacts

  • Commit 972d4c0: "R rebuilds every pane detached; r refreshes data; Author gains guidance and preview; Repair gains the rebuild log".
  • Screenshots refreshed: /tmp/mockups/{board,work,reply,new,project,repair}-live.png.

Suggested next tests

R on the repair screen; conversation follow when picking a task on the board; costs tab vs what Paperclip reports; icon rendering now that the font is installed.

Evidence

  • Confidence: 85%
  • Reason: Rich multi-file discovery and implementation turn with concrete pane layout, key bindings, rebuild mechanics, file paths, and commit hash; durable for future agents working in this repo.