# ledger/url-permanence

No previously published URL disappears without a redirect. Reglen ledger/url-permanence kører i site-scope med severity 'error' og indgår i build-ledger-domænet sammen med 3 andre kontrakter i frameworket.

## Hvorfor url-permanence findes

Silent URL churn between dataset regenerations is the deadliest pSEO failure mode: every vanished URL bleeds link equity, breaks citations (including AI citations from training data), and resets the page's history. Every URL in the previous build must either still exist or have an entry in the redirects manifest (_redirects).

## Sådan håndhæves url-permanence

Reglen url-permanence 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 url-permanence er formuleret som en konkret arbejdsordre med filnavne og målbare krav — aldrig et vagt råd. Severity 'error' betyder at et brud på url-permanence 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/url-permanence 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 url-permanence sammen med de øvrige 85 regler, og denne demoside er selv underlagt hele kontrakten.

## Relaterede regler

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