D-012 The init and lastmod timestamps are integer milliseconds since the epoch in AdCOM, and ISO 8601 strings in the protocol buffer definitions IAB Tech Lab hosts. Which does the schema follow?
What the schemas do
Until AdCOM's objects are mapped, the schemas say nothing about these attributes; when they are, they follow the text, integer milliseconds.
Options
Why
The text is the normative artifact, and it writes "integer … Unix format (i.e., milliseconds since the epoch)". The protocol buffer definitions were written three months after the text changed to integers, kept the earlier strings, and were never regenerated. The objects aren't mapped yet, so the schema says nothing about these attributes until the objects phase, which types them as the text writes them.
What we ask the specification to state
Regenerate the protocol buffer definitions from the specification, so that init and lastmod are integer milliseconds in both, or say which artifact a receiver follows. Today the two IAB-hosted artifacts encode one field two incompatible ways.
The specification lines it rests on
Each line is quoted as the record pins it. Expand an item to read the quote.
main
Object: Ad, the
Ad.initkey row L283 at 26c59bainit| Timestamp of the original instantiation of this ad (i.e., this object or any of its children) in Unix format (i.e., milliseconds since the epoch).Object: Ad, the
Ad.lastmodkey row L288 at 26c59balastmod| Timestamp of most recent modification to this ad (i.e., this object or any of its children other than theAuditobject) in Unix format (i.e., milliseconds since the epoch).Object: Audit, the
Audit.initkey row L853 at 26c59bainit| Timestamp of the original instantiation of this object in Unix format (i.e., milliseconds since the epoch).Object: Audit, the
Audit.lastmodkey row L858 at 26c59balastmod| Timestamp of most recent modification to this object in Unix format (i.e., milliseconds since the epoch).
Tag AdCOM1.0-202607
Object: Ad, the
Ad.initkey row L283 at d67a6a8init| Timestamp of the original instantiation of this ad (i.e., this object or any of its children) in Unix format (i.e., milliseconds since the epoch).Object: Ad, the
Ad.lastmodkey row L288 at d67a6a8lastmod| Timestamp of most recent modification to this ad (i.e., this object or any of its children other than theAuditobject) in Unix format (i.e., milliseconds since the epoch).Object: Audit, the
Audit.initkey row L853 at d67a6a8init| Timestamp of the original instantiation of this object in Unix format (i.e., milliseconds since the epoch).Object: Audit, the
Audit.lastmodkey row L858 at d67a6a8lastmod| Timestamp of most recent modification to this object in Unix format (i.e., milliseconds since the epoch).