Files
paperclip-harness/.pi/memory-vault/packs/paperclip-harness/80-sessions/rich-discovery-agents-2026-11-11-00-28-33.md

4.8 KiB

type: session id: session.paperclip-harness.rich-discovery-agents-2026-11-11-00-28-33 title: Rich discovery: agents 2026-11-11 00:28:33 status: active source_of_truth: false freshness: current last_reviewed: 2026-11-11 tags: - pack/paperclip-harness - agent-memory/session - autolearn - rich-discovery - repo/agents

Rich discovery: agents 2026-11-11 00:28:33

Sanitized rich discovery snapshot captured automatically from the completed turn.

Source paths observed

  • ../bin/harness
  • agents/heartbeats/routines

Final answer snapshot

You are right on both counts, and I will be precise about what was invented and whose rule it was.

Where the shell command came from — and why I was wrong to force it

It is not a Paperclip rule. It is your own project rule, written in docs/OPERATING-RULES.md before this attempt:

How a task is judged finished. The test is a command, kept with the project, and agreed before the work starts.

That came out of the old project, along with .harness/verify.sh. Paperclip has no such field. An agent sets a task's status itself; the reviewer or a review stage checks it. I took a project convention and turned it into a mandatory form field and a shell prompt in a test plan, which made the agent look like a dumb executor. That is my error, and the rule is now marked in OPERATING-RULES.md as ours, not Paperclip's.

What changed in the program:

  • The field is now called "A command that proves it (optional)", and its hint says: "leave empty and the agent decides how to check its own work."
  • The guidance panel no longer asks you to write shell prompts; it says most tasks need nothing there and to fill it only for a gate no agent can talk its way past.
  • bin/merge already worked without one — it says "no verify command: this would pass on the agent's word" and continues to the review.

What Paperclip actually does, and what you actually write

You write a task in your own words. Pi reads it, works out how to do it, runs the project's own tests, comments with evidence, and sets the status. Paperclip adds the parts you do not want to run by hand: blockers as links between tasks, review stages (in_review with a participant), approvals, run history, cost, and a worktree per task.

So the autonomy is in the work, not in your instructions. My test plan asked for a file name and an exact line, which is why it read like dictating a patch.

The error you saw was a real bug, not your mistake

AUD-167 was created and completed — ADd a file named STATUS.md, status done, assigned to Builder. The "[The program exited with status 0.]" was the pane dying: the New task pane ran the form alone, so when the form quit after creating, nothing was left to run. Two fixes:

  • the form now stays open and shows created AUD-1xx, handed to an agent which will start on its own, with the fields cleared for the next one;
  • every pane now falls back to a shell, so a program that exits returns to a prompt instead of leaving a dead pane.

I proved both by creating AUD-168 — "Tidy the README introduction", assigned, no verify command. It shows in_progress with Builder working, and the form stayed usable.

On "have you fully read and understood Paperclip"

No, and I should have said so earlier. I have read the agent skill, the API specification, the agents/heartbeats/routines documentation, and I have probed the API extensively. What I got wrong was mixing your old project's conventions with Paperclip's model and presenting the mixture as if it were Paperclip's. Where I am unsure — review stages, execution policy, approvals — I will read before advising, and say when I have not.

The test plan, corrected

docs/TEST-PLAN.md no longer asks for a shell command anywhere. Step 1 is now: title, plain-language description, no blocker, no command, yes to assign — and expect the agent to pick it up within seconds and decide for itself how to check the work. Step 4 keeps bin/merge but explains that "no verify command" is a normal outcome, not a failure.

Committed as 678c497. AUD-168 is running now if you want to watch it in Agents>agents — that is the honest demonstration of autonomy: you said what you wanted, it is working out how.

Evidence

  • Confidence: 86%
  • Reason: Preserve full sanitized discovery detail from a rich investigation turn