Zdůvodnění
Zadání je jediný záznam toho, o co se žádalo. Repozitář zaznamenává, o čem rozhodl — ve svých pravidlech, rozhodnutích a testech — a dlouho nezaznamenával nic z toho, co mu bylo řečeno udělat. Každý pack, který tu řídil kampaň, žil v jednom ~/Downloads nebo pod vlastním ignorovaným tmp/ repozitáře, tedy přežíval na jednom disku, v adresáři, který git dostal pokyn nevidět.
To je mezera zvláštního druhu. Repozitář dokáže doložit, co dělá; nedokázal ukázat, proč bylo cokoli z toho zahájeno. Čtenář, který chce vědět, zda subsystém odpovídá tomu, co se skutečně žádalo, nemá s čím porovnávat, a člověk, který by si napůl zodpovězeného zadání nejlépe všiml, je ten, kdo už zadání nemůže najít.
Uchovávání balíčků to napraví, jen pokud jsou uchovávány poctivě, a existují přesně dva způsoby, jak adresář provenience přestane být proveniencí:
- Zadání se upraví. Ne ze zlého úmyslu: balík se uklidí, aby odpovídal tomu, co repozitář později udělal, a záznam chybné odbočky se stane záznamem té správné. Historii činilo hodnotnou to, že se s výsledkem rozcházela.
- Balíček je neúplný. Přerušené kopírování, soubor přidaný později, fáze potichu vypuštěná. Pořád vypadá jako balíček a nic na jeho čtení neříká, která polovina chybí.
campaigns/MANIFEST.sha256 je to, co umožňuje jedno či druhé ověřit, a manifest, který nic neověřuje, je jen soubor. scripts/ci/campaigns-check rozhoduje o množině v obou směrech — každý deklarovaný soubor je přítomen se svými bajty a každý přítomný soubor je deklarován — protože kontrola, která prochází jen manifest, propustí strom, do něhož někdo soubor přidal, což je jednostranný tvar, který tento repozitář objevil víc než jednou. test/cases/340_a_brief_is_kept_as_received.sh zasadí všechno: upravený brief, nedeklarovaný soubor, ztracený soubor, nevypsaný balíček, index, který slibuje balíček, jejž strom nedrží, a manifest, který zcela chybí.
Co toto pravidlo neříká
Neříká nic o tom, co balíček obsahuje, zda byly dokončeny jeho fáze nebo zda byl jeho plán dobrý. Balíček není důkaz, že existuje to, oč žádal — to jsou kontroly. Kde se brief a strom rozcházejí, má pravdu strom a brief je důvodem, proč si někdo kdysi myslel něco jiného.