# graph/broken-internal-links

No internal link points to a missing page. Reglen graph/broken-internal-links kører i site-scope med severity 'error' og indgår i linkgraf-domænet sammen med 3 andre kontrakter i frameworket.

## Hvorfor broken-internal-links findes

Broken internal links leak link equity, waste crawl budget and break user/agent journeys. Gold standard: zero broken internal links — trivially achievable when links are generated from the same dataset as the pages.

## Sådan håndhæves broken-internal-links

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

## Relaterede regler

- [graph/click-depth](https://pseo.mikkelkrogsholm.dk/regler/graph/click-depth/)
- [graph/url-pattern-per-type](https://pseo.mikkelkrogsholm.dk/regler/graph/url-pattern-per-type/)
- [graph/orphan-pages](https://pseo.mikkelkrogsholm.dk/regler/graph/orphan-pages/)
