Here would be my proposal with ansible structure:
try to avoid /vars folder, then it’s harder to manage that.
Each role should have owners file, so we know who wrote it, and later we use that for PR reviewer/approver selection.
Each role as first task should be check.yml which would do assert of variables provided if they match needed format.
Also as first CI tasks, there should be ansible-lint, from begining we need to ensure we have standarts.