Cleanup confirms and refreshes; projects switch sessions in place; explain verify.sh, headroom and Mouse-1

This commit is contained in:
Sam
2026-11-11 15:57:42 +11:00
parent 36abdc1f84
commit e02b39943d
13 changed files with 662 additions and 7 deletions

View File

@@ -575,3 +575,53 @@ minutes of work and neither invents anything.
A transcript tab inside `Agents>agents` is the integration option: read the JSONL, draw the
messages, no second process. Worth doing only if the file browser feels like a detour after a
week of use. Recommendation: do the cheap one now, decide later.
## verify.sh, plainly
`.harness/verify.sh` is a shell script in the project folder. Its only job is to answer one
question: **is this project's work finished?** It exits 0 when the answer is yes.
- It is **not** Paperclip's. Paperclip has no such concept; an agent sets a task's status.
- It is **our** convention, from the old project, and `bin/office` now writes a template:
```sh
#!/bin/sh
echo "no verify command agreed for this project"
exit 0
```
As it stands it says yes to everything, which is honest: there is no agreed check. Replace
the body with the project's real tests when they exist:
```sh
exec go test ./...
```
- `bin/merge` runs it in the task's worktree, and again on the base branch after merging.
- A task may carry its own command in its description; that one wins for that task only.
So: a per-project default, a per-task override, both optional. If neither exists, the merge
says so and lets the `ocr` review decide.
## Headroom, and whether it is good for a project
Headroom is a **compression proxy**: requests pass through it and long prompts are shortened
before they reach the model. It is running here at `192.168.20.13:8787` (v0.24.0, healthy,
memory backend disabled, compression on).
It is good where prompts are long and repetitive — a big repository, a long thread, many tool
results. It is pointless for a small task whose prompt is already short, and it adds a hop and a
failure mode.
The lever is per **agent**, not per project, because a Paperclip agent's provider is configured
on the agent. `adapterConfig.env` accepts variables, so an agent can be pointed at the proxy
without touching anything else. That is why the interface offers a read-out first: until one
agent has run both ways and you have compared cost and quality, "good for some projects" stays
a hypothesis rather than a setting.
## Mouse-1, corrected
Earlier notes in this file said "software is not installed". That was wrong: Mouse-1 is a
**hosted API**, not a program. What exists here is `MOUSE_API_KEY`; what is missing is a client
integration — an HTTP call like any other. No install is needed, and nothing has to run locally.
The old project's policy still applies: triage only, never a gate, never a permit.