AI vs reality: Why GitLab pipelines confuse LLMs
The model gave me perfectly valid YAML. The pipeline failed. I asked the model to fix it. It gave me more perfectly valid YAML. The pipeline failed again. After the fourth iteration I just opened t...

Source: DEV Community
The model gave me perfectly valid YAML. The pipeline failed. I asked the model to fix it. It gave me more perfectly valid YAML. The pipeline failed again. After the fourth iteration I just opened the GitLab docs, found the issue in two minutes, and fixed it myself. This is one of the most common frustrations I have seen with LLMs in DevOps work. The .gitlab-ci.yml file I am working with has 242 commits. 73 of them contain the word "fix". The theme across most of them: the YAML is valid. GitLab disagrees. GitLab pipelines are not just YAML GitLab CI/CD pipelines are defined in a .gitlab-ci.yml file, and yes, the format is YAML. But GitLab has its own specific implementation on top of that, with its own keywords, its own scoping rules, and its own runtime semantics. Generic YAML parsers will happily accept a file that GitLab's pipeline linter will reject. And sometimes it does not reject it at all. It just runs differently than you expected. That gap between "valid YAML" and "valid GitLa