Files
paperclip-harness/CHECKLIST.md
sam 73c40fbdfe Environment facts: ids, archived sandbox, Go missing, and the exact heartbeat test
Measured: six Pi agents and their ids, the user key rule, blocker endpoint, sandbox
archived (DELETE returned 500), scratch repo removed, Go not installed, repo has no
remote. The wake step is named as unproven with the endpoint that should trigger it.
2026-11-10 09:56:11 +11:00

2.7 KiB

Checklist for the next session

Tick each line. Nothing after the first unchecked line should be started early.

Before you start

  • Paperclip answers: curl -s -H "Authorization: Bearer $PAPERCLIP_BOARD_KEY" http://127.0.0.1:3100/api/health
  • Go is installed: go version
  • You are using the user key (PAPERCLIP_BOARD_KEY), not the agent key.

Milestone 1 — one task, really run (no interface)

  • Read docs/ENVIRONMENT-FACTS.md for the company id, agent ids and toolchain facts.
  • Make a sandbox project (payload in docs/PAPERCLIP-API-NOTES.md) with two tasks, the second blocked by the first.
  • Assign the first task to Builder and force a wake with POST /api/agents/{id}/heartbeat/invoke. Unproven — if no run appears, record the response and stop.
  • Watch: the task goes todo → in_progress → done.
  • Confirm a comment written by Pi holds what it did.
  • Confirm the cost appears: GET /api/issues/{id}/cost-summary.
  • Confirm Paperclip made a git worktree for the task, and where it put it.

Stop here if any line fails. Write down what you saw. Do not start the screens.

Milestone 2 — task tree and reply box

  • Create the Go module in tui/.
  • Screen 1 reads tasks for one project; blockers read per task (/api/issues/{id}/diagnostics/blockers), never from the list.
  • Screen 4 shows the thread and posts a reply with the user key.
  • Pass: move a blocked task forward from the terminal, no browser, no shell.

Milestone 3 — add a task, watch it work

  • Screen 2 creates a task with a blocker and the command that decides it is done.
  • Screen 3 shows the running log and the diff from the task's worktree.
  • Pass: a two-task plan is created, ordered and finished from the terminal alone.

Milestone 4 — the project layer

  • Adopt a folder as a project; remember which host it is on.
  • Build the page layout; repair it; reset it.
  • Pass: a project on another machine can be opened and used from here.

Milestone 5 — review and merge

  • ocr runs over the diff; a failing review refuses the task.
  • Merges are one at a time, re-checked after each.
  • Pass: the next task cannot merge until the first is settled.

Interface rules that are not optional

  • Handle the window-size message; never hardcode sizes; show "too small" instead of a broken layout.
  • Run in the alternate screen.
  • In TUIOS window mode, h j k l, z, n belong to TUIOS: use Tab, Shift-Tab, arrows, Space, Enter inside the app, and keep a bare Esc free to close a box.
  • Create the click-zone manager once and wrap the whole view.
  • No network or git work inside update or view — use commands that return messages.