---
layout: rule
id: GORULE:0000058
title: "Object extensions should conform to the extensions-patterns.yaml file in metadata"
type: repair
fail_mode: hard
status: implemented
tags: [context-import]
contact: "go-quality@lists.stanford.edu"
---
Rules are in the `extensions-constraints.yaml` file (https://github.com/geneontology/go-site/blob/master/metadata/extensions-constraints.yaml). This is
a list of allowed extension Relation, Filler (the ID inside the parentheses), and
the acceptable GO Term roots used with this relation. A cardinality constraint may also be
applied.

Extensions in annotations should conform to these constraints. If an element of a 
disjunction in the extensions does not follow one of the constraints as listed in
the above file, that element is dropped from the extensions with a warning, and the remaining annotation is kept.

Note that in the GO Central pipeline, this is only implmented upon imports of external annotations into Noctua.
