1
prepare_step
Creates the directories on the volume, chown 1000. A new attempt (turn 1) clears out/; later turns delete only the old manifest and question. The session directory and logs/ are kept.
2
run_step
StepRunner: first deletes any leftover sandbox with the same name. profile → image, policy, provider; builds the mounts, assembles the prompt, openshell sandbox create, named <flow>-<step>-<hash>. Polls until it ends, with regular heartbeats. Afterwards saves the supervisor log, then deletes the sandbox.
3
collect_manifest
Reads manifest.json and question.json, and writes a fallback when one is missing. The workflow then turns results into questions according to escalate_when.