Dokumentation

Vad Coroid beslutar och vad du ansvarar för

Vilka beslut Coroid fattar på egen hand, vilka som alltid ligger hos en människa och hur Coroid granskar sitt eget omdöme utan att agera på det.

Coroid fattar många beslut medan det arbetar med en uppgift: om en förfrågan över huvud taget ska bli ett arbete, hur det ska byggas och om resultatet är tillräckligt bra för att visa dig. Några beslut ligger alltid kvar i människors händer. Att slå samman är det tydligaste exemplet.

Beslut som Coroid fattar

  • Om en förfrågan ska bli ett arbete. Kvalificering kontrollerar om det finns dubbletter, sådant som redan har åtgärdats och sådant som inte går att återskapa. För förfrågningar som kommer in utan att en person har skickat dem avgör antagningen sedan, enligt dina mandat om arbetet får starta nu, senare eller inte alls.
  • Hur arbetet byggs och verifieras. Planen, koden, testerna, kvalitetsgrindarna, QA och granskningsrundan. Se Så verifierar Coroid sitt eget arbete.
  • Vad det skulle ha gjort med sammanslagningen. Coroid dokumenterar ett omdöme om varje pull request som det granskar, och gör ingenting med det. Se Så granskar Coroid sitt eget omdöme.

Beslut som ligger kvar hos människor

BeslutVem fattar det
Slå samman en pull request till din branchEn person, i GitHub eller GitLab, eller med Godkänn och slå samman i Coroid
Släpp och driftsättEn person, via din pipeline eller en release i Coroid
Ange syftet med obevakat arbete och dess budgetEn ägare eller administratör, genom att publicera ett mandat
Ange vad som räknas som klart för ett arbetePersonen som beställde det, i dess resultatkontrakt
Skapa arbete trots att kvalificeringen stoppadesEn person med behörighet, med Skapa arbete ändå och en motivering

Coroid slår aldrig samman på egen hand, och det finns ingen inställning som ändrar på det. Se Sammanslagning.

Mandat ändrar inte vem som slår samman

Ett mandat gör att arbetet kan starta utan att någon behöver be om varje enskild uppgift. Det innebär inte att resultatet kan levereras utan att någon fattar ett beslut. Arbete som godkänts enligt ett mandat genomgår samma verifiering som alla andra uppgifter och avslutas på samma sätt: med en pull request som väntar på en person.

Ett mandat tillför ansvar för obevakat arbete: vilka projekt det får påverka, hur mycket det får kosta och en dokumentation av varje beslut om arbetet.

Så granskar Coroid sitt eget omdöme

För varje pull request som Coroid granskar och varje uppgift som blir redo att slås samman dokumenterar Coroid vad det skulle ha beslutat om det hade fått slå samman:

  • Skulle godkänna. Allt som behövs finns på plats och har godkänts: kvalitetskontrollerna av det senaste commitet i pull request, granskningen av Coroid, leverantörens kontroller, en konfliktfri sammanslagning och, för en uppgift, utlåtandena från QA och granskaren.
  • Skulle blockera. Minst en av kontrollerna blockerar.
  • Kunde inte avgöra. Något som behövs saknades. Saknade bevis räknas aldrig som ett godkännande.

Omdömet publiceras aldrig på pull request, ändrar aldrig en uppgift och leder aldrig till att något slås samman. Det visas inte i Coroid ännu.

Coroid jämför sedan varje omdöme med vad som hände efter sammanslagningen:

  • en senare pull request med titeln Återställ … markerar det tidigare som återställt;
  • en senare pull request som innehåller Fixes #n markerar pull request n som åtgärdat i efterhand;
  • på uppgiftens granskningsvy, under Vad som hände efter sammanslagningen, kan alla i organisationen markera en sammanslagen pull request som återställd, åtgärdad i efterhand eller rapporterat fel.

Ett godkännande av en pull request som senare återställdes eller åtgärdades räknas som ett felaktigt godkännande. I sitt eget repo använder Coroid även samma omdöme på medvetet felaktiga kopior av verkliga ändringar för att mäta vad det upptäcker.

Varför dokumentera detta

Då kan frågan ”går det att lita på att Coroid slår samman den här typen av ändring?” besvaras med belägg – hur ofta dess godkännanden visade sig vara fel, för vilka typer av ändringar och baserat på hur många exempel – i stället för med självsäkerhet. I dag används dokumentationen inte till något. Om det någonsin ändras blir det ett val som en ägare fattar uttryckligen, och beslutet kommer då att bygga på den här dokumentationen.