I like the idea, but I have used Azure Pipelines, and the key differentiating it from GitLab.ci is its "service connection" that enables seamless integration with third-party services and a wide range of tasks (PowerShell, pscore, az, docker, etc).
I wish your dependency semantics yaml could be converted to Azure pipeline task, job, and stage similar to how typescript converts to javascript.
I am saying this because there are very complicated infrastructural problems that hundreds of people work on at big companies when creating a ci/cd I see you are not focusing on them yet but that DAG logic could be applied to existing azure pipeline yaml.