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

file:plan.py
               state = STATIC
              digest = e9a2826e 1262a2a9 8b01a7e8 cc5a1e13 b1fd2bb7 5233efc6 14ad6e42 5f4c9ff2
                     = d79dc863 ccd12e12 e7aa11a3 93d037fc a5cec13f 44f7e0ce 70381bfb 8eb624f6
          created by   root:
            consumes   file:./
            supplies   step:./plan.py

file:./
               state = STATIC
          created by   root:
            supplies   file:foo.txt
            supplies   file:plan.py
            supplies   step:./plan.py
            supplies   step:cat foo.txt

step:./plan.py
               state = RUNNING
          created by   root:
            consumes   file:./
            consumes   file:plan.py
             creates   dg:*.txt
             creates   step:cat foo.txt

dg:*.txt
          created by   step:./plan.py
             creates   file:foo.txt

file:foo.txt
               state = STATIC
              digest = 0c64fa0d 9b93cfe0 46d049cd 30640438 385cec99 cf27db48 ad87ebb0 0f9d727d
                     = 646e46e6 ded92d12 458876d7 ba4f147d 6401a78e ffb2f12d 0595392c 89cf2784
          created by   dg:*.txt
            consumes   file:./
            supplies   step:cat foo.txt

step:cat foo.txt
               state = QUEUED
          created by   step:./plan.py
            consumes   file:./
            consumes   file:foo.txt
