Hello @ChristianRRL !
You are totally righy. With the current DBKS dependency semantics, a downstream task cannot run when all of its direct upstream dependencies are excluded regardless of the run_if option. If you check the doc it explicitly says (I am quoting here) "if all task dependencies are excluded, the task is also excluded, regardless of its run if condition." It also says excluded upstream tasks are treated as successful only when evaluating run_if but that rule does not help when all dependencies are excluded.
IMHO, your workaround is correct and you can add a second upstream dependency that is not excluded for example the condition task like Should_Run_Silver.
However, I would suggest using None failed instead of At least one succeeded for the curated tasks.
Why ? because if silver succeeds the curated runs and if it is excluded but Should_Run_Silver succeeded you will also have curated running and if silver fails the curated does not run.
With At least one succeeded, the curated task could still run even if the silver task failed because Should_Run_Silver succeeded.is common branching pattern.
If this answer resolves your question, could you please mark it as “Accept as Solution”? It will help other users quickly find the correct fix.
Senior BI/Data Engineer | Microsoft MVP Data Platform | Microsoft MVP Power BI | Power BI Super User | C# Corner MVP