Kontraktet

Kontrollerna, och vad de inte kan se

Två skript håller kontraktet ärligt, och båda finns för att något redan hade driftat. Det värda att skriva ner är inte att de går igenom — det är den del av problemet de inte kan se.

Vad de gör

Alignment-checken jämför versionsreferenser mellan ramverket, dess README, kompanjonpanelen och den här sajten. Den finns för att tre writers- och readers-rader hann bli inaktuella samma dag de skrevs.

Komponentchecken verifierar att varje sökväg en komponent påstår sig skriva är deklarerad, och att inget beroende bildar en cykel. Den finns för att komponentgrafen, första gången den skrevs ut, hittade två valvfiler som ingenting alls hade deklarerat.

En SKIP är inte ett godkänt

Alignment-checken skriver [OK], [DRIFT] och [SKIP], och dess eget huvud säger att en [SKIP] betyder overifierad, inte ren. Den skillnaden måste stå nedskriven, för utdata läser som framgång i båda fallen, och en rad som rullar förbi är en rad ingen läser om.

Vad de inte kan se, rakt ut

Den 24 september 2026 rapporterade alignment-checken 4 aligned, 0 drifted mot den här sajten — en sajt som i det ögonblicket hade tre skills deklarerade i kontraktet och närvarande på ingen sida alls, på något språk, och en "nytt i"-panel som var trettionio minor-releaser gammal.

Ingenting var trasigt i checken. Den jämför versionssträngar, och den här sajtens versionsreferens är parameteriserad — upplöst ur kontraktet vid rendering. Ett parameteriserat värde kan inte drifta, alltså rapporterar checken det rent, korrekt, för alltid. Den mätte aldrig innehåll.

Det är den användbara formen på felet, och den återkommer. En kontroll rapporterar om det den kan jämföra, och det den kan jämföra är inte alltid det du menade. Fyra gånger under den här sajtens ombyggnad blev en check grön av fel skäl: substrängmatchning som räknade ett vanligt ord som en komponent, dubblettitlar jämförda över språkgränsen där en delad titel är korrekt, noll bilder räknat som godkänt, och en komponent betraktad som dokumenterad för att dess namn stod i en lista på en indexsida.

Var och en hittades genom att läsa siffran och inte tro på den. Ingen hade hittats genom att köra checken igen.

Så sajten bär med sig en egen

Den här manualen byggs bakom en grind på sjutton lokala checkar som jämför den renderade utdatan mot kontraktet: varje deklarerad komponent har en sida, varje anropbar skill renderas, ingen räkning motsäger kontraktet, varje sida paras med sin motsvarighet, varje redirect-mål finns. Bygget failar i stället för att skeppa.

Det är ingen bättre kontroll. Det är en kontroll av något annat, som står bredvid den första — vilket är det enda ärliga sättet att täcka det en versionsjämförelse strukturellt inte kan.

Ur ecosystem.yaml, kontrakt 41 · core-skills 1.89.4 · läst vid bygge 2026-10-08