Okamžik
Schopný inženýr, nebo schopný worker, dostane repozitář a úkol změnit něco malého. Změna zabere deset minut. Zjistit, co je tu normální — rozvržení, konvence, věci, které vypadají špatně a jsou záměrné — zabere zbytek dopoledne.
Proč k tomu dochází
Konvence se zapisují jako poslední, protože pro lidi, kteří je mají, nejsou znalostí, jsou prostě tím, jak věci jsou. Zapíše se README o produktu. Rozdíl mezi obojím je přesně ta mezera, do které nováček spadne.
Proč to lepší model nevyřeší
Neznámý repozitář je problém informací, ne uvažování. Silnější worker odvodí konvence rychleji a odvodí tytéž špatné, protože důkaz v kódu je skutečně nejednoznačný — právě proto musela být konvence konvencí.
Co to stojí
Hodina až den na každý příchod, násobeno tím, jak často příchody nastávají — což je s jednorázovými relacemi dnes několikrát denně, ne několikrát ročně. A odvození, která byla chybná, se platí podruhé, při review.
Co Majordomus dělá
Vrstva je jeden adresář s manifestem, který jmenuje každou sekci a který přečte člověk bez nainstalovaného nástroje. Její protokol je uveden jednou: přečti manifest, načti sekce, které úloha potřebuje, rozřeš pravidla a jejich závislosti, nikdy nenačítej lokální polovinu. Každý adresář nese kontextový dokument, který se přidává k předkům, takže to, co cestu řídí, se pro ni skládá, místo aby se hledalo. Převzetí existujícího repozitáře je podporovaný výchozí bod: stávající instrukční soubory jsou vstupem první politiky, ne něčím, co se nahrazuje.
Před a po
before "read the README, then ask me"
after $ majordomus context resolve lib/payments
.ai/README.md the protocol of the layer
.ai/repo/README.md what is canonical here
lib/payments/README.md amounts are integers in minor units, and whyCo nedělá
Nepíše konvence za vás a prázdná vrstva nevysvětluje nic. Činí zřejmým místo, kam patří, a jejich nalezení deterministickým.