Om

Varför repot är publikt och valvet inte är det

Det här ramverket utvecklas mot verklig data. Inget urval, ingen fixtur — ett faktiskt valv med faktiska möten och faktiska kollegor i. Det är med flit, och det är det som kräver mest förklaring.

Varför inte utveckla mot testdata

För att nästan varje designbeslut som finns nedskrivet i det här repot kom ur att något gick fel på ett sätt ingen hade hittat på. En statusrapport som var sann rad för rad och ändå missade det enda som betydde något. Ett fält som stod på fel värde i fyra releaser för att ingenting läste tillbaka det. En kontroll som rapporterade allt rent mot en sajt med tre saknade sidor.

Testdata ger ett ramverk som klarar de situationer man redan tänkt på.

Vilket gör gränsen icke förhandlingsbar snarare än omsorgsfull

"Omskriven generiskt" är konkret: en incident beskrivs genom sin klass, aldrig sin instans. Exempel använder påhittade namn. Den fullständiga specifikationen av en ändring bor i det privata valvet; det publika indexet bär en generisk titelrad.

Inversionen som gör det bevakbart

En guard körs före varje push och granskar varje tillagd rad. Den självklara designen är en lista över sådant som aldrig får förekomma — och den fungerar inte, eftersom mängden riktiga namn inte går att räkna upp. En kollega som nämns för första gången i dag står inte på någon spärrlista, och stod aldrig där.

Så regeln är omvänd. Varje namnliknande token i repot måste matcha fullt ut mot en lista över namn som är kända som fiktiva. En okänd token stoppar pushen. Vitlistan är publik, eftersom den bara innehåller påhittade namn — och att lägga till en rad i den är en medveten handling: bekräfta att namnet är påhittat, aldrig lånat från någon verklig.

En spärrlista frågar "är det här ett av de dåliga?" och släpper igenom allt den inte mött. En vitlista frågar "är det här ett av dem jag vet är ofarliga?" och stänger. För ett membran är att stänga den enda acceptabla riktningen.

Vad den fångade

En historikgranskning hittade tre riktiga kontaktidentifierare i exempelblock som ingen spärrlista någonsin hört talas om. De hade varit publika. Det är därför det numera också finns en semantisk granskning före varje push — en människa som läser de tillagda raderna och besvarar tre frågor, eftersom en mönstervakt inte kan bedöma innebörd. Ett nytt kundnamn passerar varje reguljärt uttryck som någonsin skrivits.

Vad det kostar, och vad det är värt

Det kostar en långsammare release. Varje ändring implementeras generiskt, dess bevis hålls privata, dess publika indexrad skrivs separat, och dess diff läses av en människa innan den lämnar maskinen.

Vad det köper är det enda påstående som betyder något här: ett ramverk format av verkliga misslyckanden, publicerat utan misslyckandena själva. Det är två olika saker, och att hålla isär dem är en mekanism snarare än en avsikt.

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