Start: console “+ New run” (+ 新运行) · Slack /myorch · Claude Code tools · myorch run · myorch scheduleClient: read the flow → pick parameters by presets → trim by project (if:) → expand fragments → fill in project values → check → sync knowledge sources · label the issue → submit the fully expanded YAML
start_run
Temporal starts FlowWorkflow (run_id = workflow ID, e.g. development-38b24c5b)init_run: creates runs/<run_id>/ on the volume, writes the flow snapshot and the mandate. If a local clone is registered, first copies the repository into repo/
Loop: RunState.plan() finds the instances that can run now and handles each
Run an instancecreate directories → start sandbox → run harness → read manifest → delete sandbox
Host actionthe worker runs it directly, no sandbox
Approval needed → waiting_approvalApprove, reject, or request changes (back to the loop before). Reminders and timeouts can be set
Agent asks → waiting_inputThe sandbox is deleted. After you reply, a new sandbox resumes the same session
Loop runs out of rounds, until still not metReflects first, then asks you: one more round, accept, or stop
Step fails with on_failed: askAsks you: start over, continue the session with a hint, skip, or stop
On every state change the worker writes new events to myorch-data/events.db. Outlined boxes are where you are needed.
Endedsucceeded · failed · rejected · cancelled. A failed or cancelled run can be resumed with the same run_id (myorch resume, or the console's “Re-run failed steps” (重新执行失败的步骤))