root:
             product   file:plan.py
             product   step:./plan.py

file:plan.py
               state = CONFIRMED
             creator   root:
                sink   step:./plan.py

step:./plan.py
               state = SUCCEEDED
                need = PLAN
           using_env = STEPUP_PATH_FILTER [dynamic]
             creator   root:
              source   file:plan.py
             product   file:generate.py
             product   step:./generate.py plan --optional

file:generate.py
               state = CONFIRMED
             creator   step:./plan.py
                sink   step:./generate.py plan --optional
                sink   step:./generate.py run

step:./generate.py plan --optional
               state = SUCCEEDED
                need = PLAN
           using_env = STEPUP_PATH_FILTER [dynamic]
             creator   step:./plan.py
              source   file:generate.py
             product   step:./generate.py run

step:./generate.py run
               state = PENDING
                need = OPTIONAL
             creator   step:./generate.py plan --optional
              source   file:generate.py
             product   file:runout.txt
                sink   file:runout.txt

file:runout.txt
               state = PLANNED
             creator   step:./generate.py run
              source   step:./generate.py run
