OpenProposal 3.0 JSON Schema Unofficial

Decision records

Generating the schemas took 45 recorded decisions: 39 gaps, where the text leaves a point open, and 6 proposals, where we propose a change to what the text or its examples settle. They are grouped and numbered as on the supporting page of issue #121.

Value formats 12

How a value such as a timestamp, a domain, a hash, a URL, or a rate is written.

  1. 1D-001Which written form does an ISO 8601 point in time or duration take?Gap
  2. 2D-002How is a domain spelled, so that two parties compare domains and namespaced terms by string equality?Gap
  3. 3D-003How is a SHA-256 hash written, and does the value name its algorithm?Gap
  4. 4D-004How is a daypart time window written, with its days and its start and end times?Gap
  5. 5D-005Is a rate metric such as viewable_rate, completion_rate, or match_rate_expected a fraction from 0 to 1 or a percentage?Gap
  6. 6D-006Which URL schemes may a URL field carry?Gap
  7. 7D-009Which characters may each part of a catalog_ref hold?Gap
  8. 8D-010Is the § 3.1 delta_pct a percentage or a fraction, and how far below zero may it go?Gap
  9. 9D-019What is the option type of each selectable or settable field whose options the specification describes only in prose?Gap
  10. 10D-036Where is the currency of a money value, and must it be present with the value?Gap
  11. 11D-038In which time zone are a line item's calendar values read, its daypart windows, its frequency cap's period, and the days of its flight?Gap
  12. 12D-045May a daypart window's days[] be empty, or name one day twice?Gap

Selectable and settable fields 4

What names an option, what a bare value is, and what a range allows.

  1. 13D-007Must each included[] entry and each pricing key of a selectable field name an option in available[], and what names an option?Gap
  2. 14D-008What is the bare value that a selectable or settable field may carry in place of its full form?Gap
  3. 15D-011What makes a min / max pair a range? May it give one bound only, or none, and must min be at most max?Gap
  4. 16D-046What names an object option in included[] and the pricing keys, and must a property's or an audience option's id be present?Gap

Types the tables leave open 15

The names, members, and types of the objects and value lists that only prose describes.

  1. 17D-012Is mixed an eighth marker, and may an implementation add markers of its own?Gap
  2. 18D-013What is each vocabulary called, where the specification names a value list only by the field that holds it?Gap
  3. 19D-014Which vocabularies are open, a core list that implementations extend with namespaced terms, and which are closed?Gap
  4. 20D-016What does an object field hold when the specification gives it no structure?Gap
  5. 21D-017What does a field typed with two types joined by a slash, such as Timestamp/Offset, hold?Gap
  6. 22D-018Which selectable and settable fields take a bare value in place of their full form?Gap
  7. 23D-020Which fields may carry a catalog_ref in place of an inline value?Gap
  8. 24D-021What type does a settable field take when its bounds aren't in the field itself?Gap
  9. 25D-022What type does geo take when § 5.5 lets it declare either the selectable structure or allowed[]?Gap
  10. 26D-024What type does each member of the § 5.2 and § 5.3 objects take, and each key of the § 5.2 tables that no rule types?Gap
  11. 27D-025What type does each member of the § 5.4 and § 5.5 objects take?Gap
  12. 28D-026What type does each § 5.6 field, key, and member take where the specification gives no format?Gap
  13. 29D-027What type does each member of the § 4.1 and § 5.7 to § 5.10 objects take?Gap
  14. 30D-028What do the § 2.1 Summary Representation and the § 2.3 manifest hold?Gap
  15. 31D-044What values does a frequency cap's period take, and is a period a calendar period or a length of time?Gap

Where each statement is checked 6

Whether a statement constrains a payload or binds a party.

  1. 32D-023Which schema type expresses each § 2.2 and § 3 element that more than one schema type rests on, or that none does?Gap
  2. 33D-029How is each § 2 and § 3 statement checked, as a schema, a rule on payloads, or an obligation on a party's behavior?Gap
  3. 34D-030How is each § 4 and § 5 field statement checked, as a schema, a rule on payloads, or an obligation on a party's behavior?Gap
  4. 35D-031How are the § 5.6.1 commitment-attempt and § 5.6.3 dependency statements checked?Gap
  5. 36D-032How are the creative inspection statements of § 5.4 checked?Gap
  6. 37D-033What do the specification's code blocks other than the § 2.2 grammar map to?Gap

What each rule accepts 2

Which payloads and changes a rule stated only in prose allows.

  1. 38D-034What change does each mutability rule allow, between two versions and the party that made it, where the specification states the rule only in prose?Gap
  2. 39D-035Which payloads does each rule on one line item accept, and what does a receiver do, where the specification states the rule only in prose?Gap

Changes we propose 6

Where the text or its examples settle a point, and we propose to write it differently.

  1. 40D-037How is the ID of a record a party mints written, so that every party compares it the same way?Proposal
  2. 41D-039How is a two-valued flag written where § 5.2.2 copies an AdCOM 0 | 1 integer?Proposal
  3. 42D-040How is a length of time written where the specification or its examples write it as prose, a word, or a count of seconds?Proposal
  4. 43D-041What does a field hold whose values are terms that the specification doesn't list?Proposal
  5. 44D-042Is a commitment's flight start and end a calendar date, as the examples write them, or a point in time?Proposal
  6. 45D-047Do the production, measurement source, and reporting options carry an id that included[] and the pricing keys name them by?Proposal