Spec expansion currently just pulls in authorized tasks that read from or write to one of the drafted collections. This works fine for most cases, but there's one case that it doesn't cover:
Say there's a series of derivations that source from one another, like derive/a -> derive/b -> derive/c and a test that inserts into a and verifies the output of cwithout inserting or verifying b. Then spec expansion would only pull in a and c if you draft just the test.
Of course the chain of derivations can be arbitrarily long, and so our spec expansion logic would need to be recursive in order to handle that.
Spec expansion currently just pulls in authorized tasks that read from or write to one of the drafted collections. This works fine for most cases, but there's one case that it doesn't cover:
Say there's a series of derivations that source from one another, like
derive/a -> derive/b -> derive/c
and a test that inserts intoa
and verifies the output ofc
without inserting or verifyingb
. Then spec expansion would only pull ina
andc
if you draft just the test.Of course the chain of derivations can be arbitrarily long, and so our spec expansion logic would need to be recursive in order to handle that.