# ledger/lastmod-truthfulness

lastmod advances exactly when content actually changed. Reglen ledger/lastmod-truthfulness kører i site-scope med severity 'error' og indgår i build-ledger-domænet sammen med 3 andre kontrakter i frameworket.

## Hvorfor lastmod-truthfulness findes

Google explicitly ignores lastmod from sites that lie about it, and fake freshness reads as deceptive. Comparing the sitemap lastmod against the ledger's content hash makes honesty mechanical: hash unchanged → lastmod must not advance; hash changed → lastmod must advance.

## Sådan håndhæves lastmod-truthfulness

Reglen lastmod-truthfulness evalueres på hele sitets fakta-indeks på én gang, fordi kravet kun giver mening på tværs af sider — den enkelte side kan se perfekt ud, mens mønsteret er problemet. Fejler en side, får agenten en finding, hvor fix-instruktionen for lastmod-truthfulness er formuleret som en konkret arbejdsordre med filnavne og målbare krav — aldrig et vagt råd. Severity 'error' betyder at et brud på lastmod-truthfulness 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 ledger/lastmod-truthfulness 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 lastmod-truthfulness sammen med de øvrige 85 regler, og denne demoside er selv underlagt hele kontrakten.

## Relaterede regler

- [ledger/launch-rate](https://pseo.mikkelkrogsholm.dk/regler/ledger/launch-rate/)
- [ledger/url-permanence](https://pseo.mikkelkrogsholm.dk/regler/ledger/url-permanence/)
- [ledger/anchor-stability](https://pseo.mikkelkrogsholm.dk/regler/ledger/anchor-stability/)
