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

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

file:./
               state = STATIC
          created by   root:
            supplies   file:built.txt
            supplies   file:inventory.txt
            supplies   file:plan.py
            supplies   file:static.txt
            supplies   file:upload.zip
            supplies   step:./plan.py
            supplies   step:echo hello > built.txt
            supplies   step:rr-make-inventory static.txt built.txt -o inventory.txt
            supplies   step:rr-zip-inventory inventory.txt upload.zip

step:./plan.py
               state = SUCCEEDED
          inp_digest = same
          created by   root:
            consumes   file:./
            consumes   file:plan.py
             creates   file:static.txt
             creates   step:echo hello > built.txt
             creates   step:rr-make-inventory static.txt built.txt -o inventory.txt
             creates   step:rr-zip-inventory inventory.txt upload.zip

file:static.txt
               state = STATIC
          created by   step:./plan.py
            consumes   file:./
            supplies   step:rr-make-inventory static.txt built.txt -o inventory.txt

step:echo hello > built.txt
               state = SUCCEEDED
          created by   step:./plan.py
            consumes   file:./
             creates   file:built.txt
            supplies   file:built.txt

file:built.txt
               state = BUILT
          created by   step:echo hello > built.txt
            consumes   file:./
            consumes   step:echo hello > built.txt
            supplies   step:rr-make-inventory static.txt built.txt -o inventory.txt

step:rr-make-inventory static.txt built.txt -o inventory.txt
               state = SUCCEEDED
          created by   step:./plan.py
            consumes   file:./
            consumes   file:built.txt
            consumes   file:static.txt
             creates   file:inventory.txt
            supplies   file:inventory.txt

file:inventory.txt
               state = BUILT
          created by   step:rr-make-inventory static.txt built.txt -o inventory.txt
            consumes   file:./
            consumes   step:rr-make-inventory static.txt built.txt -o inventory.txt
            supplies   step:rr-zip-inventory inventory.txt upload.zip

step:rr-zip-inventory inventory.txt upload.zip
               state = SUCCEEDED
          created by   step:./plan.py
            consumes   file:./
            consumes   file:inventory.txt
             creates   file:upload.zip
            supplies   file:upload.zip

file:upload.zip
               state = BUILT
          created by   step:rr-zip-inventory inventory.txt upload.zip
            consumes   file:./
            consumes   step:rr-zip-inventory inventory.txt upload.zip
