Gitlab CodeOwners file with multiple groups. What are we doing wrong?

We currently have a codeowners.gitlab file that looks like this:

.gitlab/CODEOWNERS @martijnpolak @pascal.lubbers.dyflexis @dyflexis_buckchen @KevinDyflexis

[Ansible Playbooks] @dyflexis/dyflexis-devs/team-platform
/ansible/

[Dyflexis core] @dyflexis/dyflexis-devs/team-platform @dyflexis/dyflexis-devs/team-refactor @martijnpolak
/legacy/Component/System/
/legacy/Core/

[Development environment setup] @dyflexis/dyflexis-devs/team-platform @dyflexis/dyflexis-devs/team-refactor @martijnpolak
/.editor/
/clockd-mock/
/nginx-proxy/
/.env.dist
/.env.j2
/.editorconfig
/docker-compose.yml
/init-dev.yml
/test_runner.sh

[Build scripts] @dyflexis/dyflexis-devs/team-platform @dyflexis/dyflexis-devs/team-refactor @martijnpolak
/.build/
/bin/
/update-mobile-api-docs.sh
/update-shared-api-docs.sh
/update-view-api-docs.sh

[Database anonymizer] @dyflexis/dyflexis-devs/team-platform @dyflexis/dyflexis-devs/team-refactor @martijnpolak
/database-anonymizer/

[Mobile app] @dyflexis/dyflexis-devs/team-balboa @dyflexis/dyflexis-devs/team-refactor @martijnpolak
/app/
/docker-compose-mobile-test.yml

[Frontend] @dyflexis/dyflexis-devs/frontend-devs @dyflexis/dyflexis-devs/team-refactor @martijnpolak
/frontend/config/
/frontend/docker/
/frontend/.browserslistrc
/frontend/.dockerignore
/frontend/.eslintignore
/frontend/.eslintrc.js
/frontend/.gitignore
/frontend/.npmrc
/frontend/.prettierrc
/frontend/babel.config.js
/frontend/Dockerfile
/frontend/jest.config.js
/frontend/jest.setup.js
/frontend/jsconfig.json
/frontend/package.json
/frontend/package-lock.json
/frontend/postcss.config.js
/frontend/vue.config.js
/frontend-components/.storybook/
/frontend-components/scripts/
/frontend-components/.eslintignore
/frontend-components/.eslintrc.js
/frontend-components/.gitignore
/frontend-components/.npmrc
/frontend-components/.nycrc.json
/frontend-components/.prettierignore
/frontend-components/.prettierrc
/frontend-components/index.html
/frontend-components/package.json
/frontend-components/package-lock.json
/frontend-components/README.md
/frontend-components/rollup.config.js
/frontend-components/tsconfig.config.json
/frontend-components/tsconfig.json
/frontend-components/tsconfig.lib.json
/frontend-components/vite.config.ts
/.prettierignore

[Config] @dyflexis/dyflexis-devs/team-platform @dyflexis/dyflexis-devs/team-refactor @martijnpolak
/.poeditor
/renovate.json5

[Ansible] @dyflexis/dyflexis-devs/team-platform @dyflexis/dyflexis-devs/team-refactor @martijnpolak
/ansible/

[Docker] @dyflexis/dyflexis-devs/team-platform @dyflexis/dyflexis-devs/team-refactor @martijnpolak
/.docker/
/.dockerignore

[Kubernetes] @dyflexis/dyflexis-devs/team-platform @dyflexis/dyflexis-devs/quality-assurance @dyflexis/dyflexis-devs/team-refactor @martijnpolak
/.k8s/

[Gitlab] @dyflexis/dyflexis-devs/team-platform @dyflexis/dyflexis-devs/team-refactor @martijnpolak
/.gitlab/
/.gitlab-ci.yml

[Git] @dyflexis/dyflexis-devs/team-platform @dyflexis/dyflexis-devs/team-refactor @martijnpolak
/.git-hooks/
/.gitignore
/.gitattributes

[Management system] @dyflexis/dyflexis-devs/team-platform @dyflexis/dyflexis-devs/tech-management @dyflexis/dyflexis-devs/team-refactor @martijnpolak
/manage/

[Management system features] @dyflexis/dyflexis-devs @dyflexis/dyflexis-devs/team-refactor @martijnpolak
/manage/features.yml

[Noa provision] @dyflexis/dyflexis-devs/team-ipa @dyflexis/dyflexis-devs/team-refactor @martijnpolak
/noa-provision/

[Onboarding] @dyflexis/dyflexis-devs/team-salesforce @dyflexis/dyflexis-devs/team-refactor @martijnpolak
/onboarding/

[Point of Sale (POS)] @dyflexis/dyflexis-devs/team-ipa @dyflexis/dyflexis-devs/team-refactor @martijnpolak
/pos/

[Support SSO] @dyflexis/dyflexis-devs/team-platform @dyflexis/dyflexis-devs/team-refactor @martijnpolak
/support-sso/

[Syncsource] @dyflexis/dyflexis-devs/team-ipa @dyflexis/dyflexis-devs/team-refactor @martijnpolak
/syncsource/

[Tools] @dyflexis/dyflexis-devs/team-platform @dyflexis/dyflexis-devs/team-refactor @martijnpolak
/tools/

[Feature metrics sink] @dyflexis/dyflexis-devs/team-platform @dyflexis/dyflexis-devs/tech-management @dyflexis/dyflexis-devs/team-refactor @martijnpolak
/feature-metrics-sink/cnf/
/feature-metrics-sink/src/Command/
/feature-metrics-sink/src/CustomerSystem/
/feature-metrics-sink/src/Database/
/feature-metrics-sink/src/Metric/
/feature-metrics-sink/src/Service/
/feature-metrics-sink/.build-exclude
/feature-metrics-sink/.gitignore
/feature-metrics-sink/composer.json
/feature-metrics-sink/composer.lock
/feature-metrics-sink/README.md

[Feature metrics sink analyzer] @dyflexis/dyflexis-devs @dyflexis/dyflexis-devs/team-refactor @martijnpolak
/feature-metrics-sink/bin/
/feature-metrics-sink/src/Analyzer/

[QA] @dyflexis/dyflexis-devs/quality-assurance @dyflexis/dyflexis-devs/team-refactor @martijnpolak
/.e2e/

[RabbitMQ] @dyflexis/dyflexis-devs/team-platform @dyflexis/dyflexis-devs/team-refactor @martijnpolak
/rabbitmq/

[Ticket automation] @dyflexis/dyflexis-devs/tech-management @dyflexis/dyflexis-devs/team-refactor @martijnpolak
/ticket-automation/

[Legacy test setup] @dyflexis/dyflexis-devs/team-platform @dyflexis/dyflexis-devs/tech-management @dyflexis/dyflexis-devs/team-refactor @dyflexis/dyflexis-devs @martijnpolak
/legacy/tests/_support/Extension/
/legacy/tests/_support/Helper/
/legacy/tests/_support/Module/
/legacy/tests/_support/AcceptanceTester.php
/legacy/tests/_support/ApiTester.php
/legacy/tests/_support/DyflexisApiTest.php
/legacy/tests/_support/DyflexisIntegrationTest.php
/legacy/tests/_support/FailOnIncompleteTestsExtension.php
/legacy/tests/_support/Features.php
/legacy/tests/_support/IntegrationTester.php
/legacy/tests/_support/PauseOnFailureExtension.php
/legacy/tests/_support/UnitLegacyTest.php
/legacy/tests/_support/UnitTester.php
/legacy/tests/webserver/
/legacy/tests/_bootstrap.php
/legacy/tests/acceptance.suite.yml
/legacy/tests/api.suite.yml
/legacy/tests/integration.suite.yml
/legacy/tests/mobile.suite.yml
/legacy/tests/smoke.suite.yml
/legacy/tests/unit.suite.yml

[Test config] @dyflexis/dyflexis-devs/team-platform @dyflexis/dyflexis-devs/tech-management @dyflexis/dyflexis-devs/team-refactor @martijnpolak
/legacy/codeception.app.yml
/legacy/codeception.yml
/legacy/phpunit.xml.dist
/legacy/RoboFile.php

[Absence] @dyflexis/dyflexis-devs/team-balboa @dyflexis/dyflexis-devs/team-refactor
/legacy/Component/Absence/

[AccessControl] @dyflexis/dyflexis-devs/team-cerberus @dyflexis/dyflexis-devs/team-refactor
/legacy/Component/AccessControl/
/legacy/src/controllers/components/auth.php
/legacy/src/vendors/dor/
/legacy/Core/PermissionEngine/

[AttendanceRegistration] @dyflexis/dyflexis-devs/team-balboa @dyflexis/dyflexis-devs/team-refactor
/legacy/Component/AttendanceRegistration/

[Authentication] @dyflexis/dyflexis-devs/team-cerberus @dyflexis/dyflexis-devs/team-refactor
/legacy/Component/Authentication/

[Autoscheduling] @dyflexis/dyflexis-devs/team-a @dyflexis/dyflexis-devs/team-refactor
/legacy/Component/Autoscheduling/

[Balance] @dyflexis/dyflexis-devs/team-balboa @dyflexis/dyflexis-devs/team-refactor
/legacy/Component/Balance/

[CommunicationCenter] @dyflexis/dyflexis-devs/team-balboa @dyflexis/dyflexis-devs/team-refactor
/legacy/Component/CommunicationCenter/

[Dashboard] @dyflexis/dyflexis-devs/team-balboa @dyflexis/dyflexis-devs/team-refactor
/legacy/Component/Dashboard/

[DepartmentManagement] @dyflexis/dyflexis-devs/team-cerberus @dyflexis/dyflexis-devs/team-refactor
/legacy/Component/DepartmentManagement/

[EmployeeBalance] @dyflexis/dyflexis-devs/team-balboa @dyflexis/dyflexis-devs/team-refactor
/legacy/Component/EmployeeBalance/

[EmployeeManagement] @dyflexis/dyflexis-devs/team-a @dyflexis/dyflexis-devs/team-refactor
/legacy/Component/Colleague/
/legacy/Component/EmployeeManagement/
/legacy/Component/MyProfile/

[HourRegistration] @dyflexis/dyflexis-devs/team-balboa @dyflexis/dyflexis-devs/team-refactor
/legacy/Component/HourRegistration/

[Leave] @dyflexis/dyflexis-devs/team-balboa @dyflexis/dyflexis-devs/team-refactor
/legacy/Component/Leave/

[LeavePrediction] @dyflexis/dyflexis-devs/team-balboa @dyflexis/dyflexis-devs/team-refactor
/legacy/Component/LeavePrediction/

[Scheduling] @dyflexis/dyflexis-devs/team-a @dyflexis/dyflexis-devs/team-refactor
/legacy/Component/MySchedule/
/legacy/Component/Scheduling/

[Payment] @dyflexis/dyflexis-devs/team-a @dyflexis/dyflexis-devs/team-refactor
/legacy/Component/Payment/

[Payroll] @dyflexis/dyflexis-devs/team-ipa @dyflexis/dyflexis-devs/team-refactor
/legacy/Component/Payroll/

[Reporting] @dyflexis/dyflexis-devs/team-ipa @dyflexis/dyflexis-devs/team-refactor
/legacy/Component/Reporting/

According to what I understand from the documation, it should work correctly, however what we’re often seeings is that it does not work correctly:

For instance, a file needed to be approved by a person in our team, but there should have been several people that would be allowed to approve.

[Ticket automation] @dyflexis/dyflexis-devs/tech-management @dyflexis/dyflexis-devs/team-refactor @martijnpolak
/ticket-automation/

MicrosoftTeams-image

Is there a problem with the format? Or are we doing something else wrong?

Are all the groups mentioned in Codeowners direct members of the Project?
For group handles to work with Codeowners you have to invite/share that project in each group. You can do it in “Members” page.

That gives me something to try. I’ll give it a go, and get back to you! Thanks