AdCOM 1.0 JSON Schema Unofficial

Decision records ·

D-001 Which sentences of AdCOM state a requirement, when the text adopts no RFC 2119 convention and writes its keywords in either case?

Gap Cited on main and at the tag AdCOM1.0-202607.

What the schemas do

A sentence with an RFC 2119 keyword in any case, such as "must", "should", "may", "required", or "recommended", is a statement with that keyword's level.

Options

  • any-case Chosen

    A sentence with an RFC 2119 keyword in any case, such as "must", "should", "may", "required", or "recommended", is a statement with that keyword's level.

  • uppercase

    Only a keyword in capitals makes a statement, as in a text that adopts RFC 2119; AdCOM's text then states nothing.

Why

AdCOM writes its requirements in lowercase, "must accept these types of changes", "should be interpreted as unknown", and adopts no convention that reserves capitals for them, so an uppercase-only reading would find no statement at all. Reading every keyword, in any case, keeps each requirement as an element that a decision can cite. Some sentences use a keyword in its ordinary sense, as "required by an ad" does; each such statement is mapped to what it says, and none becomes a rule without a decision. The statements of the SPECIFICATION part's opening say how an attribute's presence and default are read. They bind AdCOM's objects, which a later phase maps, so they are informative until then.

What we ask the specification to state

State which words carry requirements: adopt RFC 2119 and BCP 14, and write its keywords in capitals where a sentence states a requirement. Today "must", "should", and "may" appear in lowercase both as requirements and in their ordinary sense, so a reader can't tell which sentences an implementation must meet.

The specification lines it rests on

Each line is quoted as the record pins it. Expand an item to read the quote.

main

  • SPECIFICATION, a requirement L197 at 26c59ba
    Unless explicitly specified otherwise, annotated as optional, or called out as a best practice, all material aspects of this section are required for AdCOM compliance.
  • SPECIFICATION, a requirement L199 at 26c59ba
    Throughout the object specifications, attributes may be indicated as “Required” or “Recommended”.
  • SPECIFICATION, a requirement L199 at 26c59ba
    Attributes are deemed required only if their omission would break the technical meaning of the object and is not necessarily an indicator of business value otherwise.
  • SPECIFICATION, a requirement L199 at 26c59ba
    Attributes are recommended when their omission would not break the object, but would dramatically diminish its value.
  • SPECIFICATION, a requirement L199 at 26c59ba
    Transaction layers in which AdCOM is used may provide additional required and/or recommended guidance specific to the application.
  • SPECIFICATION, a requirement L201 at 26c59ba
    From a specification compliance perspective, any attribute not denoted required is optional, whether recommended or not.
  • SPECIFICATION, a requirement L201 at 26c59ba
    An optional attribute may have a default value to be assumed if omitted.
  • SPECIFICATION, a requirement L201 at 26c59ba
    If no default is indicated, then by convention its absence should be interpreted as unknown, unless otherwise specified.
  • SPECIFICATION, a requirement L201 at 26c59ba
    Empty strings or null values should be interpreted the same as omitted (i.e., the default if one is specified or unknown otherwise).

Tag AdCOM1.0-202607

  • SPECIFICATION, a requirement L197 at d67a6a8
    Unless explicitly specified otherwise, annotated as optional, or called out as a best practice, all material aspects of this section are required for AdCOM compliance.
  • SPECIFICATION, a requirement L199 at d67a6a8
    Throughout the object specifications, attributes may be indicated as “Required” or “Recommended”.
  • SPECIFICATION, a requirement L199 at d67a6a8
    Attributes are deemed required only if their omission would break the technical meaning of the object and is not necessarily an indicator of business value otherwise.
  • SPECIFICATION, a requirement L199 at d67a6a8
    Attributes are recommended when their omission would not break the object, but would dramatically diminish its value.
  • SPECIFICATION, a requirement L199 at d67a6a8
    Transaction layers in which AdCOM is used may provide additional required and/or recommended guidance specific to the application.
  • SPECIFICATION, a requirement L201 at d67a6a8
    From a specification compliance perspective, any attribute not denoted required is optional, whether recommended or not.
  • SPECIFICATION, a requirement L201 at d67a6a8
    An optional attribute may have a default value to be assumed if omitted.
  • SPECIFICATION, a requirement L201 at d67a6a8
    If no default is indicated, then by convention its absence should be interpreted as unknown, unless otherwise specified.
  • SPECIFICATION, a requirement L201 at d67a6a8
    Empty strings or null values should be interpreted the same as omitted (i.e., the default if one is specified or unknown otherwise).

The record's YAML file