inverse globbing in .gitlab-ci.yml does not pick up changes

Summary

I have a job which needs to be executed when any file, in any directory is modified EXCEPT for files in special_dir. We should ignore all changes made inside the special_dir, except we will allow changes to anything inside special_dir/allowed_folder

The following syntax is picked up correctly

  only:
    changes:
      - "*"
      - special_dir/allowed_folder/**/*
      - "./!(special_dir)/**/*"

Example directory structure, with file extensions indicating if a file should trigger the pipeline or not. The yellow files should be picked up by the globbing above, but are not

Screen_Shot_2019-11-07_at_4.49.53_PM

Steps to reproduce

In the directory structure above, modifications to a_folder and its subdirectories are not picked up by the pipeline, even though they should be

Example Project

https://gitlab.com/sgrimes-stackod/example-inverse-glob-failure

What is the current bug behavior?

Modifying a_folder/file.allowed does not trigger the job

What is the expected correct behavior?

Modifying a_folder/file.allowed triggers the job

Relevant logs and/or screenshots

a_folder/file.allowed should be picked up by the glob "!(special_dir)/**/*"

Output of checks

This bug happens on GitLab.com

(If you can, link to the line of code that might be responsible for the problem)