This is a problem that @lukpueh points out in the in-toto/layout-web-tool#49 (comment):
Here is an example of a material rule:
[
['MATCH', 'foo.txt', 'WITH', 'PRODUCTS', 'FROM', 'previous_step'],
['DELETE', 'foo.txt'],
['DISALLOW', '*']
]
Because we apply both MATCH rule and DELETE rule on the artifact, foo.txt, the first MATCH rule makes the subsequent DELETE rule moot. However, both MATCH rule and DELETE rule here are meaningful. We need MATCH rule to guarantee the integrity of artifacts between steps. We also need DELETE rule to guarantee that deleted artifacts don't appear as products of this step.
This is a problem that @lukpueh points out in the in-toto/layout-web-tool#49 (comment):
Here is an example of a material rule:
Because we apply both
MATCHrule andDELETErule on the artifact,foo.txt, the firstMATCHrule makes the subsequentDELETErule moot. However, bothMATCHrule andDELETErule here are meaningful. We needMATCHrule to guarantee the integrity of artifacts between steps. We also needDELETErule to guarantee that deleted artifacts don't appear as products of this step.