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

file:./
               state = STATIC
          created by   root:
            supplies   file:plan.py
            supplies   file:sub/
            supplies   step:./plan.py
            supplies   step:cp -aT sub/inp.txt sub/tmp.txt
            supplies   step:cp -aT sub/tmp.txt sub/out.txt
            supplies   step:echo hello > sub/inp.txt
            supplies   step:mkdir -p sub/

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

step:./plan.py
               state = SUCCEEDED
          created by   root:
            consumes   file:./
            consumes   file:plan.py
             creates   step:cp -aT sub/inp.txt sub/tmp.txt
             creates   step:cp -aT sub/tmp.txt sub/out.txt
             creates   step:echo hello > sub/inp.txt
             creates   step:mkdir -p sub/

step:mkdir -p sub/
               state = SUCCEEDED
          created by   step:./plan.py
            consumes   file:./
             creates   file:sub/
            supplies   file:sub/

file:sub/
               state = BUILT
          created by   step:mkdir -p sub/
            consumes   file:./
            consumes   step:mkdir -p sub/
            supplies   file:sub/inp.txt
            supplies   file:sub/out.txt
            supplies   file:sub/tmp.txt
            supplies   step:cp -aT sub/inp.txt sub/tmp.txt
            supplies   step:cp -aT sub/tmp.txt sub/out.txt
            supplies   step:echo hello > sub/inp.txt

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

file:sub/inp.txt
               state = BUILT
          created by   step:echo hello > sub/inp.txt
            consumes   file:sub/
            consumes   step:echo hello > sub/inp.txt
            supplies   step:cp -aT sub/inp.txt sub/tmp.txt

step:cp -aT sub/inp.txt sub/tmp.txt
               state = SUCCEEDED
          created by   step:./plan.py
            consumes   file:./
            consumes   file:sub/
            consumes   file:sub/inp.txt
             creates   file:sub/tmp.txt
            supplies   file:sub/tmp.txt

file:sub/tmp.txt
               state = BUILT
          created by   step:cp -aT sub/inp.txt sub/tmp.txt
            consumes   file:sub/
            consumes   step:cp -aT sub/inp.txt sub/tmp.txt
            supplies   step:cp -aT sub/tmp.txt sub/out.txt

step:cp -aT sub/tmp.txt sub/out.txt
               state = SUCCEEDED
          created by   step:./plan.py
            consumes   file:./
            consumes   file:sub/
            consumes   file:sub/tmp.txt
             creates   file:sub/out.txt
            supplies   file:sub/out.txt

file:sub/out.txt
               state = BUILT
          created by   step:cp -aT sub/tmp.txt sub/out.txt
            consumes   file:sub/
            consumes   step:cp -aT sub/tmp.txt sub/out.txt
