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.
This commit is contained in:
sam
2026-11-10 09:56:11 +11:00
parent 8ce2ca85b1
commit 73c40fbdfe
4 changed files with 79 additions and 10 deletions

62
docs/ENVIRONMENT-FACTS.md Normal file
View File

@@ -0,0 +1,62 @@
# 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":"<agent id>"}`.
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.