Symptom
Every generated spec shows today's date in its header, whatever the branch — including /spec/main, the frozen DPROD 1.0 Beta approved by OMG. The date changes every morning.
Cause
respec/template.html never sets publishDate, and ReSpec runs client-side (respec-w3c.js is loaded in the reader's browser). With no publishDate, ReSpec defaults to new Date() — the date the page is viewed, not the date the document was published. The frozen archive at site/public/spec/archive/1.0/index.html has the same omission, so an immutable standard reports a new publication date on every visit.
Why not the commit date
Deriving it from git history is the obvious fix and is wrong. A maintenance commit — #236 retired the ekgf.github.io/dprod URLs and touched main — would silently republish the standard under a new date. Issuing a version is a decision, and the artifact should record it as one.
Fix
Author the date as a triple:
dprod:
dct:issued "2026-06-01"^^xsd:date ;
dct:issued is DCTERMS' "date of formal issuance", which is exactly this. The generator reads it and pins publishDate; if the triple is missing the build fails rather than falling back to today.
The frozen 1.0 archive gets a hard-coded publishDate: "2025-01-01", matching OMG's recorded date of January 2025 for DPROD 1.0 Beta 1. It is a static snapshot, so its date must never be derived from anything.
Verified in a real browser: the generated spec renders "01 June 2026" and the archive "01 January 2025", where both previously rendered the current date.
Symptom
Every generated spec shows today's date in its header, whatever the branch — including
/spec/main, the frozen DPROD 1.0 Beta approved by OMG. The date changes every morning.Cause
respec/template.htmlnever setspublishDate, and ReSpec runs client-side (respec-w3c.jsis loaded in the reader's browser). With nopublishDate, ReSpec defaults tonew Date()— the date the page is viewed, not the date the document was published. The frozen archive atsite/public/spec/archive/1.0/index.htmlhas the same omission, so an immutable standard reports a new publication date on every visit.Why not the commit date
Deriving it from git history is the obvious fix and is wrong. A maintenance commit — #236 retired the
ekgf.github.io/dprodURLs and touchedmain— would silently republish the standard under a new date. Issuing a version is a decision, and the artifact should record it as one.Fix
Author the date as a triple:
dprod: dct:issued "2026-06-01"^^xsd:date ;dct:issuedis DCTERMS' "date of formal issuance", which is exactly this. The generator reads it and pinspublishDate; if the triple is missing the build fails rather than falling back to today.The frozen 1.0 archive gets a hard-coded
publishDate: "2025-01-01", matching OMG's recorded date of January 2025 for DPROD 1.0 Beta 1. It is a static snapshot, so its date must never be derived from anything.Verified in a real browser: the generated spec renders "01 June 2026" and the archive "01 January 2025", where both previously rendered the current date.