# Facts about this machine, checked 2026-11-09 Everything here was measured with a command. Anything not measured is marked unproven. ## Paperclip - Running locally: `http://127.0.0.1:3100`. Public UI: `https://paperclip.lab.audasmedia.com.au`. - Company: `d4921013-e5da-4d88-8016-57d5746e2d03` - Agents, all running the Pi adapter (`pi_local`), all idle: - `Hub` — `108c6220-c9e1-4b62-9e0a-6a763e0d28fd` (this is the identity of `PAPERCLIP_API_KEY`) - `Builder` — `403de1f7-645c-4d35-bc7e-19b01d77bacc` - `Chief of Staff` — `232f1f9e-bac0-4185-8a0e-eddbead33e04` - `Documenter` — `706ffc88-120f-46c4-a5d9-ffa12e2ad5f0` - `researcher` — `a6a2c0ee-570e-4f89-a977-83136b534a2f` - `System` — `fe7a1881-1df9-481b-af74-87292fef288c` - Writes need the user key: `PAPERCLIP_BOARD_KEY`. The agent key `PAPERCLIP_API_KEY` is refused with 403 outside a heartbeat run. - Blockers live at `GET /api/issues/{id}/diagnostics/blockers`, **not** on the task list. ## The sandbox project - `spike-2026-11-09` is **archived**: status `cancelled`, renamed `spike-2026-11-09 (deleted)`, id `9e3f61f6-cce9-49b1-8083-3130345a04a5`. - `DELETE /api/projects/{id}` returned 500, so it was archived instead. Its two tasks (`AUD-157`, `AUD-158`) remain inside the archived project. **Deleting an archived project is still untested.** - Its scratch repo `/tmp/pc-sandbox` was removed. - To make a fresh sandbox, use the payload recorded in `PAPERCLIP-API-NOTES.md`: `POST /api/companies/{companyId}/projects` with `name`, `status: "backlog"` and `workspace: { name, sourceType: "git_repo", cwd, isPrimary: true }`. ## The unproven step: does a heartbeat wake an agent? Measured: a task can be created, given a blocker, and commented on. **Not** measured: that assigning a task causes Pi to wake and work. The endpoint that should start it exists: ``` POST /api/agents/{id}/heartbeat/invoke (empty body) ``` Test in this order, and write down the response at each step: 1. Assign a task: `PATCH /api/issues/{id}` with `{"assigneeAgentId":""}`. 2. Either wait for a scheduled heartbeat, or force one: `POST /api/agents/{agentId}/heartbeat/invoke`. 3. Read `GET /api/issues/{id}/runs` and `GET /api/issues/{id}/activity` to see whether a run started. 4. If no run appears, the wake needs something we have not configured (a routine, a schedule, or a wake trigger). Record the facts; do not build a workaround. ## Toolchain - **Go is not installed on this machine.** `go version` → not found. The terminal program needs it. Under Nix, add `go` to `/etc/nixos/configuration.nix` and rebuild; do not install it by hand. ## The new repository - Local git repo only, one commit, no remote. It is not on Gitea. Push it somewhere before relying on it, or accept that only this machine has it.