Sometimes old style is a solution .... :)
You can also use a Sync Object if you don't have too many external dependencies to manage.
Set the Sync Object (with a Script Object i.e. that doesn't takes time or resources) to "Sunday_Run" status on Sundays before any of your 2 jobs (daily and Sunday) is scheduled. The Sunday job will set the status to "Daily" at normal end. You daily job is just checking if the status is "Daily" to start and doesn't changes the status of the Sync Object. So every day it runs without waiting for the Sunday job to complete, on Sundays it waits until it ends.
Sync Object Status
Actions performed
- "Check_Sunday" changes status from "Sunday_Run" to "Sunday_Run"(does nothing on the status) to allow Sunday job to run first
- "Ending_Sunday" changes status from "Sunday_Run" to "Daily" when Sundays job ends normally and free Daily job that is waiting
- "Check_Daily" changes status from "Daily" to "Daily" (does nothing on the status) to allow daily job to run, after Sunday's job on Sundays, immediately the other days
- "Set_Sunday" changes status from "Daily" to "Sunday_Run", used in the Script object on Sundays before starting any of the jobs to create the dependency.
You can add other statuses and actions to block the dependencies, in case of error in a job, etc ... but basically you just need this.
OK, looks a bit complicated initially but is less confusing than the external dependency with all the statuses, time frame, etc .... The external dependency for me is more dedicated to fill a functionality that is issued from the conversion from other schedulers rather than a really usable functionality in a logical and usual scheduling in AE.
Hope this can give another point of view on a solution to your problem.