  DIRECTOR │ Launched worker 0
     PHASE │ run
     START │ ./plan.py
   SUCCESS │ ./plan.py
     START │ cp -aT initial.txt input.txt
   SUCCESS │ cp -aT initial.txt input.txt
   WARNING │ 2 steps remain pending due to blocked steps
──────────────────────────────── Blocked steps ─────────────────────────────────
step:./expensive.py
────────────────────────────────────────────────────────────────────────────────
   WARNING │ Skipping cleanup due to incomplete build.
  WORKFLOW │ Dumped to .stepup/workflow.mpk.xz
     PHASE │ watch
   UPDATED │ plan.py
     PHASE │ run
     START │ ./plan.py
   SUCCESS │ ./plan.py
      SKIP │ cp -aT initial.txt input.txt
     START │ ./expensive.py
   SUCCESS │ ./expensive.py
─────────────────────────────── Standard output ────────────────────────────────
The initial file.
────────────────────────────────────────────────────────────────────────────────
     START │ cp -aT output.txt final.txt
   SUCCESS │ cp -aT output.txt final.txt
  WORKFLOW │ Dumped to .stepup/workflow.mpk.xz
     PHASE │ watch
  DIRECTOR │ Stopping workers.
  DIRECTOR │ See you!
