Decision records · Types the tables leave open
D-020 Which fields may carry a catalog_ref in place of an inline value?
What the schemas do
Each option in audiences.available[] and properties.available[] is an inline value or a catalog reference.
Options
Why
§ 2.2 allows a reference for "any field whose value is drawn from a seller-maintained catalog" but never says which fields those are. The only reference in the specification and the examples is an audience in audiences.available[], and § 2.3 says that large property lists use catalog_ref. Audiences and properties are the catalog-backed objects a seller maintains; formats, environments, and the other options are codes and terms, not catalog entries. So CatalogRefOr wraps exactly those two option types, which are closed objects, as its parameter requires.
What we ask the specification to state
List the fields, or the options, that may carry a catalog_ref. Say whether a reference replaces one option or a whole field, as § 2.3's "large lists use catalog_ref" suggests.
The specification lines it rests on
Each line is quoted as the record pins it. Expand an item to read the quote.
main
§ 5.2, the
propertiesrow L225 at 44dfaafproperties| Object | selectable |available[]of{ id, name, domains, supported_formats },included[],pricing,max_select§ 5.3, the
audiencesrow L233 at 44dfaafaudiences| Object | selectable |available[]of{ id, name, taxonomy_ref, provenance, addressable_scale },included[],pricingasdelta_cpmper option,max_select§ 2.2, a requirement L94 at 44dfaaf
Any field whose value is drawn from a seller-maintained catalog MAY carry a reference in place of an inline value:
§ 2.2, code block 1 L97-L100 at 44dfaaf
catalog_ref: "<seller_namespace>/<collection>/<entry_id>@<version>" example: "examplepub/audiences/smb-decision-makers@3"
With the open PRs
§ 5.2, the
propertiesrow L225 in #17properties| Object | selectable |available[]of{ id, name, domains, apps, supported_formats },included[],pricing,max_select. Each property MUST carrydomains,appsor both§ 5.3, the
audiencesrow L226 on main at 981a74eaudiences| Object | selectable |available[]of{ id, name, taxonomy_ref, provenance, addressable_scale },included[],pricingasdelta_cpmper option,max_select§ 2.2, a requirement L87 on main at 981a74e
Any field whose value is drawn from a seller-maintained catalog MAY carry a reference in place of an inline value:
§ 2.2, code block 1 L90-L91 on main at 981a74e, L99 on main at c448618, L93 on main at 981a74e
catalog_ref: "<seller_namespace>/<collection>/<entry_id>@<version>" example: "examplepub/audiences/smb-decision-makers@3"
What it shapes
main: LineItem.audiences, LineItem.properties
With the open PRs: LineItem.audiences, LineItem.properties