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:provide.py
             product   file:sub.py
             product   file:work.py
             product   step:./provide.py
             product   step:./work.py

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

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

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

step:./provide.py
               state = SUCCEEDED
                need = DEFAULT
           using_env = STEPUP_PATH_FILTER [dynamic]
             creator   step:./plan.py
              source   file:provide.py
             product   file:provided.txt
                sink   file:provided.txt [dynamic]

step:./work.py
               state = SUCCEEDED
                need = DEFAULT
           using_env = STEPUP_PATH_FILTER [dynamic]
             creator   step:./plan.py
              source   file:provided.txt [dynamic]
              source   file:work.py
             product   step:./sub.py

step:./sub.py
               state = SUCCEEDED
                need = DEFAULT
           using_env = STEPUP_PATH_FILTER [dynamic]
             creator   step:./work.py
              source   file:sub.py

file:provided.txt
               state = BUILT
             creator   step:./provide.py
              source   step:./provide.py
                sink   step:./work.py
