# Bygde repoets kontrollmotor — 268 registrerte commit‑kontroller, 277 lint‑regler og 15 egne ESLint‑regler — pluss 146 tester av selve kontrollene, slik at det er bygget, ikke gjennomgangen, som holder standarden.

2025

**Situasjon.** Standarder som er skrevet ned i en bidragsveiledning, er forslag. Alle er enige i dem, og så er det fredag, endringen er liten, og veiledningen taper. Kravet om null advarsler kom aldri til å holde med mindre noe annet enn velvilje holdt det oppe — og linterne som følger med hvert språk, stopper et godt stykke før de prosjektspesifikke reglene som faktisk betyr noe, de som handler om hvordan akkurat denne kodebasen er ment å fungere.

**Oppgave.** Reglene prosjektet brydde seg om, måtte være kjørbare, slik at et brudd på én av dem fikk en commit til å feile i stedet for å vente på en kodegjennomgåer med tid og hukommelse nok til å oppdage det.

**Handling.** Ut av dette vokste det frem en vaktmotor. Det finnes 274 kontrollskript, 268 av dem registrert i commit‑hookene, sammen med 277 JavaScript‑lintere og 96 shell- og 17 Python‑validatorer som dekker det ferdigverktøy ikke har noen mening om — at en migrering kan rulles tilbake, at en oversettelsesnøkkel finnes i begge språkversjonene, at en registrert rute står i OpenAPI‑beskrivelsen, at ingen i det stille har lagt inn en inline‑undertrykkelse. Femten egne ESLint‑regler holder husets mønstre på plass i TypeScript. Én regel fortjener å nevnes for seg: enhver commit med prefikset fix: må ha med en test som feiler uten den, slik at en feil som er rettet, forblir rettet. Og fordi en ødelagt vakt er verre enn ingen vakt i det hele tatt — den slipper alt gjennom og ingen finner det ut — har vaktene 146 egne tester.

**Resultat.** Gjennomgangstiden flyttet seg fra mekanikk til design, fordi de mekaniske innvendingene allerede var gjort av en maskin før grenen ble pushet. Avveiningen er reell og verdt å si høyt: det går tregt å committe, og en dårlig skrevet vakt er virkelig irriterende å jobbe seg rundt. De 146 testene finnes fordi nettopp det skjedde.

---

- Rolle: Utviklingssjef
- Kategorier: [DevOps](https://platform.engineer.company/nb/categories/devops/), [Automatisering og CI/CD](https://platform.engineer.company/nb/categories/automation/), [Testing og kvalitetssikring](https://platform.engineer.company/nb/categories/testing/), [Teknisk ledelse](https://platform.engineer.company/nb/categories/technical-leadership/), [Dokumentasjon](https://platform.engineer.company/nb/categories/documentation/)
- Tjenester: [DevOps og CI/CD‑automatisering](https://platform.engineer.company/nb/services/devops-cicd/), [Teknisk ledelse og rådgivning](https://platform.engineer.company/nb/services/technical-leadership/), [Teknisk dokumentasjon](https://platform.engineer.company/nb/services/technical-documentation/)

<https://platform.engineer.company/nb/portfolio/built-the-repository-s-guard-engine-of-268-checks-95/>
