hi
@Evan Curtin - you may already know this, but just as a disclaimer, prefect (post prefect 1.x anyways) discovers the graph, so in most cases you shouldn't need a static dag representation, as python control flow can typically represent the same work
but there's different ways to do this, here's
one. but IME these rely on at least
• defining some task registry (mapping of tasks you can run)
• making up some DSL to define that downstream tasks should get inputs from an upstream result that you don't know yet