Investigate behavior of tag cleanup policies on "keep" regexp match

Context

Related to this thread on Slack where it was reported that the image registry.gitlab.com/gitlab-org/gitlab/gitlab-ee-qa:16.8.8-rc42-ee was missing.

This image tag was created on May 17th. According to the registry logs (about to expire), it was the deleted on June 1st:

image

The cleanup policies settings on the respective project were the following at the time of this discussion:

image

Problem

The tag was deleted by cleanup policies after ~14 days of creation, which matches the "remove tags older than" criteria. However, the "keep tags matching" pattern ((?:v.+|master|main|\d+\.\d+\.\d+(-ee)?)) seems to produce a match against the tag name (source). We should determine what happened in this specific case.