Checks one area of the codebase for structural improvements, such as shallow modules, leaky seams, and code that is hard to change or test, and writes them to a dated report. Runs unattended and changes no code.
Turns an agreed spec, or a small, obvious change, into working, reviewed code. Agrees the technical design with an engineer, then plans, builds, and reviews the change without a human watching. Leaves the changes uncommitted.
Turns an issue, an idea, or the current conversation into an agreed product spec in the issue: the desired outcome, requirements with acceptance examples, and scope. Asks the human until nothing is assumed, and splits work too big for one pull request into…