root:
             creates   file:./
             creates   file:plan.py
             creates   step:runpy ./plan.py

file:./
               state = STATIC
          created by   root:
            supplies   (file:sub/)
            supplies   file:plan.py
            supplies   step:runpy ./plan.py
            supplies   step:runsh echo hello > sub/dir/nested/hello.txt

file:plan.py
               state = STATIC
          created by   root:
            consumes   file:./
            supplies   step:runpy ./plan.py

step:runpy ./plan.py
               state = SUCCEEDED
             env_var = STEPUP_PATH_FILTER [amended]
          created by   root:
            consumes   file:./
            consumes   file:plan.py
             creates   step:runsh echo hello > sub/dir/nested/hello.txt

step:runsh echo hello > sub/dir/nested/hello.txt
               state = PENDING
          created by   step:runpy ./plan.py
            consumes   (file:sub/dir/nested/)
            consumes   file:./
             creates   file:sub/dir/nested/hello.txt
            supplies   file:sub/dir/nested/hello.txt

(file:sub/dir/nested/)
               state = AWAITED
            consumes   (file:sub/dir/)
            supplies   file:sub/dir/nested/hello.txt
            supplies   step:runsh echo hello > sub/dir/nested/hello.txt

(file:sub/dir/)
               state = AWAITED
            consumes   (file:sub/)
            supplies   (file:sub/dir/nested/)

(file:sub/)
               state = AWAITED
            consumes   file:./
            supplies   (file:sub/dir/)

file:sub/dir/nested/hello.txt
               state = AWAITED
          created by   step:runsh echo hello > sub/dir/nested/hello.txt
            consumes   (file:sub/dir/nested/)
            consumes   step:runsh echo hello > sub/dir/nested/hello.txt
