VFX-D-1211¶
Title¶
MetadataIncomplete
Explanation¶
The suite declares no metadata.owner, no metadata.tags, or neither. Both fields are optional in
the schema and nothing about how the suite runs changes without them — which is why this is the only
semantic diagnostic with severity info.
What changes is what happens after the suite fails. The composed schema's own field descriptions
say it plainly: owner is "the team or individual responsible for this test; used by the runner's
selection language", and tags are "labels used to select subsets of tests during a CI run". An
unowned, untagged suite cannot be routed to anyone when it breaks, and cannot be selected into (or
out of) a CI slice.
An empty tags: [] counts as missing: it declares the field without declaring a single selector, so
the selection language still cannot address the suite.
One finding per suite rather than one per field — the two are the same omission with the same
one-line fix — with the message naming whichever of the two is actually absent. Where a metadata
block exists, the finding points at it; where none exists there is nothing to point at, so the
finding carries no path or location rather than naming a node that is not there.
Common causes¶
- A suite scaffolded quickly and never given a metadata block.
metadatapresent with only anameanddescription, which are for reporting rather than for routing or selection.tagsdeclared as an empty list while a tagging convention was being decided.
Fixes¶
- Add
metadata.owner— the team or individual who should be paged when this suite fails. - Add at least one entry under
metadata.tags— the labelsrun_suite's owntagsargument and your CI selection filter both match against. - Call
get_schemawithsection: "metadata"for the block's full field contract.