This companion specification alone does not define a formal notion of conformance. However, there are three levels of obligation with regards to conformance in the core xAPI specification identified by the terms MUST, SHOULD, and MAY. Those same levels of obligation apply to this companion specification. A system or application that fails to implement a MUST requirement is non-conformant. Failing to meet a SHOULD requirement is not a violation of conformity, but goes against the recommendations of the specification. MAY indicates an option, to be decided by the developer with no consequences for conformity. Usage of these terms outside of requirement language does not designate a requirement and is avoided whenever possible. Complete definitions of MUST, SHOULD, MAY, MUST NOT, and SHOULD NOT are found in RFC 2119. Refer to Vocabulary Implementation Requirements for a list of implementation requirements for this specification.