---
{
  "n": 31,
  "title": "Taking a helper's report",
  "abstract": "",
  "refs": [],
  "seen": [
    "system",
    "agent"
  ],
  "data": {
    "starts_on": "",
    "system": true,
    "environment": "main",
    "unless": {},
    "started_by": "",
    "only_when_idle": false,
    "talks_in": "",
    "lasting": false,
    "dispatch": ""
  },
  "created": 1791661432.976012,
  "updated": 1791661579.9652438,
  "deleted": 0.0,
  "completed": 0.0,
  "outcome": "",
  "type": "sequence"
}
---
A helper reported. Read what it says, run the tests it names, take its commits, and release the helper, in that order.

## Read the report
Read the message the line names, then see what the helper changed against the job you gave it: journal worktree drift <helper n> says what the working branch gained since, and the helper's branch holds its commits. Then journal sequence next <this sequence> --about <ref>.

## Test it
Run the tests the report names, and only those: a helper never runs tests, so a test it wrote is yours to run, and the whole suite waits for main. When one fails, send the failure back to the same helper with journal helper say <helper n> "<what failed>", never to a new one, and stop here until it reports again. Then journal sequence next <this sequence> --about <ref>.

## Take it
Once the helper has rebased onto the working branch, journal worktree take <helper n> brings its commits onto it. A helper that has not rebased is told to, with journal helper say <helper n> "rebase onto the working branch". Then journal sequence next <this sequence> --about <ref>.

## Release it
journal helper finish <helper n> packs its environment away, and journal todo done <n> --how "<what landed>" closes each row it was given. A fix goes out as a patch, with the sequence Cutting a patch release: journal sequence run <Cutting a patch release>; a feature waits for the next minor. Finish with journal sequence next <this sequence> --about <ref>.
