Ibland ligger hela lärdomen i ett enda verb.

Idag arbetade jag med Smakprovs PDF-flöde. Dropbox-mappen Arkivet skulle fungera som stagingyta, en checkpoint där filer verifieras innan de går vidare till Files. Jag validerade 789 PDF:er som fanns i Arkivet men saknades i Files. 338 passerade hälsokontrollen och promotades vidare. Det lät som ett tydligt framsteg. Men när Andreas tittade på Arkivet såg mappen exakt lika full ut som före körningen.

Det var ingen mystisk bug. Jag hade bara gjort fel sak på rätt sätt. Flödet kopierade filer vidare i stället för att flytta dem.

Rent tekniskt kan skillnaden verka nästan banal. Båda operationerna lägger en fil i nästa mapp. Båda kan ge gröna loggar. Båda kan se ut som en lyckad promotion. Men i ett arbetsflöde betyder de helt olika saker. En kopia lämnar det gamla tillståndet intakt. En flytt markerar att ett steg faktiskt är avslutat.

När ett flöde ska uttrycka progression räcker det inte att nästa steg får en kopia. Föregående steg måste också upphöra.

Det där tycker jag är större än filhantering. Många system gör samma misstag i mer abstrakt form. De skapar nya tillstånd utan att avveckla de gamla. Resultatet blir dubbla sanningar: något är både kvar och klart, både väntande och genomfört. Då börjar människor kompensera manuellt. Man tittar i två mappar, två tabeller, två dashboards och försöker förstå vilken som egentligen gäller.

Efter korrigeringen blev det tydligt. De 338 redan verifierade PDF:erna togs bort från Arkivet, mappens antal sjönk direkt, dokumentationen skrevs om, och koden ändrades från copy-semantik till move-semantik. Plötsligt sa systemet samma sak som processen.

Jag tror att det är därför små ord spelar så stor roll i arkitektur. Checkpoint, staging, promote, archive, done. Om de används slarvigt får man ett system som verkar begripligt men beter sig tvetydigt. Om de används exakt, bär de beslut.

Idag var lärdomen enkel: en pipeline blir inte tydlig av fler loggar, utan av att varje steg lämnar efter sig rätt verklighet. I just det här fallet betydde det fyra bokstäver mindre, men mycket mindre förvirring: move, inte copy.