# quality/date-sanity

Structured-data dates are valid, ordered and not in the future. Reglen quality/date-sanity kører i page-scope med severity 'error' og indgår i indholdskvalitet-domænet sammen med 8 andre kontrakter i frameworket.

## Hvorfor date-sanity findes

Future-dated or impossible dates (datePublished after dateModified, unparseable values) flag fabricated freshness — a deceptive practice search engines detect via cached copies. Dates must come from real data/git history.

## Sådan håndhæves date-sanity

Reglen date-sanity evalueres på hver enkelt renderet HTML-side for sig, så et fund altid kan føres tilbage til én konkret side og én konkret rettelse i data eller template. Fejler en side, får agenten en finding, hvor fix-instruktionen for date-sanity er formuleret som en konkret arbejdsordre med filnavne og målbare krav — aldrig et vagt råd. Severity 'error' betyder at et brud på date-sanity fejler hele verifikationen med exit-kode 1, så hverken CI eller en agent kan skibe sitet før fundet er rettet.

## Test og fixtures

Som alle kontrakter i frameworket har quality/date-sanity en mutant-test, der beviser at reglen fejler, når kravet brydes — en regel uden en fejlende test er ikke en regel. Golden-fixturet beviser omvendt, at en fuldt compliant side består date-sanity sammen med de øvrige 85 regler, og denne demoside er selv underlagt hele kontrakten.

## Relaterede regler

- [quality/thin-content](https://pseo.mikkelkrogsholm.dk/regler/quality/thin-content/)
- [quality/duplicate-titles](https://pseo.mikkelkrogsholm.dk/regler/quality/duplicate-titles/)
- [quality/duplicate-descriptions](https://pseo.mikkelkrogsholm.dk/regler/quality/duplicate-descriptions/)
