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

file:./
               state = STATIC
          created by   root:
            supplies   file:config.json
            supplies   file:copy.txt
            supplies   file:other.log
            supplies   file:output.txt
            supplies   file:plan.py
            supplies   file:report.txt
            supplies   file:use_config.py
            supplies   step:copy report.txt copy.txt
            supplies   step:runpy ./plan.py
            supplies   step:runpy ./use_config.py
            supplies   step:runsh echo All is fine. > other.log
            supplies   step:runsh echo log written to other.log. > report.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   file:config.json
             creates   file:use_config.py
             creates   step:copy report.txt copy.txt
             creates   step:runpy ./use_config.py

file:config.json
               state = STATIC
          created by   step:runpy ./plan.py
            consumes   file:./
            supplies   step:runpy ./use_config.py

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

step:runpy ./use_config.py
               state = SUCCEEDED
             env_var = STEPUP_PATH_FILTER [amended]
          created by   step:runpy ./plan.py
            consumes   file:./
            consumes   file:config.json
            consumes   file:use_config.py
             creates   file:output.txt
             creates   step:runsh echo All is fine. > other.log
             creates   step:runsh echo log written to other.log. > report.txt
            supplies   file:output.txt

file:output.txt
               state = BUILT
          created by   step:runpy ./use_config.py
            consumes   file:./
            consumes   step:runpy ./use_config.py

step:copy report.txt copy.txt
               state = SUCCEEDED
          created by   step:runpy ./plan.py
            consumes   file:./
            consumes   file:report.txt
             creates   file:copy.txt
            supplies   file:copy.txt

file:report.txt
               state = BUILT
          created by   step:runsh echo log written to other.log. > report.txt
            consumes   file:./
            consumes   step:runsh echo log written to other.log. > report.txt
            supplies   step:copy report.txt copy.txt

file:copy.txt
               state = BUILT
          created by   step:copy report.txt copy.txt
            consumes   file:./
            consumes   step:copy report.txt copy.txt

step:runsh echo All is fine. > other.log
               state = SUCCEEDED
          created by   step:runpy ./use_config.py
            consumes   file:./
             creates   file:other.log
            supplies   file:other.log

file:other.log
               state = BUILT
          created by   step:runsh echo All is fine. > other.log
            consumes   file:./
            consumes   step:runsh echo All is fine. > other.log

step:runsh echo log written to other.log. > report.txt
               state = SUCCEEDED
          created by   step:runpy ./use_config.py
            consumes   file:./
             creates   file:report.txt
            supplies   file:report.txt
