ledger/lastmod-truthfulness

Af content-framework-redaktionen · Opdateret
Build-ledger · scope: site · severity: error

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.

Domænet: build-ledger

Ledger-domænet er frameworkets hukommelse på tværs af builds: en committet manifest af URL'er, content-hashes og ankre. Den gør ærlighed maskinelt verificerbar — ingen URL forsvinder lydløst, lastmod må kun rykke sig når indholdet faktisk ændrede sig, og udgivelsestakten holdes under abuse-tærsklen. Netop derfor hører lastmod-truthfulness hjemme her: kravet kan afgøres maskinelt, og dermed kan det håndhæves i stedet for blot at blive anbefalet.

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

Tilbage til oversigten over alle 86 regler.