Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

Dogfooding

jediné pravidlo: Majordomus nemůže doporučit vývojovou disciplínu, kterou sám nepoužívá — a co stojí její dodržování

Vykresleno z docs/DOGFOODING.md — stejný Markdown, který ukazuje GitHub.

Majordomus nemůže doporučovat vývojovou disciplínu, kterou sám nepoužívá.

To je celé pravidlo. Všechno níže je cena za jeho dodržování.

Co to znamená zde

Tento repozitář je pod dohledem nástroje, který dodává. majordomus doctor běží při každém commitu přes .githooks/pre-commit; majordomus finish --check běží při každém pushi. Instrukční soubory poskytovatelů v kořeni se generují z .ai/repo/policy.yaml a regenerují, když se změní. Nyní je pod stejným pravidlem i plán: netriviální práce zde patří k milníku a jednomu úkolu, s pozicí v grafu závislostí, kritérii přijetí, validačním příkazem a důkazy.

Konkrétně netriviální práce nezačíná rozhodnutím, co dělat. Začíná:

majordomus plan next

Co se počítá za triviální

Výjimka existuje a je záměrně malá:

  • překlep, rozbitý odkaz, oprava formátování
  • změna vynucená něčím mimo repozitář — verzí akce, přesunutým URL
  • nouzová oprava něčeho, co je rozbité právě teď

Vše ostatní — nové chování, nové pravidlo, změna toho, co příkaz dělá, dokument, který něco tvrdí, refaktoring — potřebuje úkol. Pokud si nejste jistí, potřebuje úkol: cena jeho napsání je pár minut a cena změny, kterou nikdo nedokáže dohledat, je celý důvod, proč tato vrstva existuje.

I výjimky jsou auditovatelné: jsou to commity, se zprávami, v repozitáři, jehož stav plan lze přečíst v kterémkoli commitu.

Proč to není ceremonie

Bez toho se rozbijí tři věci a všechny tři se tu rozbily, než to existovalo.

Práce se vybírá z paměti. Relace s celým kontextem před sebou vybere to, co vypadá jako další. Relace, která zdědí repozitář, takový pohled nemá, takže vybere to, co zmínila poslední předávka, což není totéž jako to, co je odblokované.

„Hotovo“ se jen tvrdí. Model, který hlásí o vlastní práci, nemá žádný důvod říct, že se validace nespustila. Kontrola důkazů to mění na příkaz, který buď existuje, nebo ne.

Plány se množí. V okamžiku, kdy plán rozvoje existuje v odstavci README, v milníku GitHubu i v konverzaci, je jeden z nich špatně a nikdo neví který. Odvození všech z jednoho souboru otázku odstraní.

Co dogfooding stojí

Stojí za to být upřímný ohledně tření, protože disciplína, kterou nikdo nedodržuje, je horší než žádná.

Napsat úkol před zahájením práce je pomalejší než práci zahájit. Brána důkazů odmítá dokončení, dokud neexistuje test, což znamená, že test je první, ať se to relaci hodilo, nebo ne. Bootstrap tohoto modelu se musel zčásti provést mimo něj, protože nástroje ještě neexistovaly — M000 to zaznamenává a jeho úkoly byly importovány a uzavřeny přes systém, jakmile plan validate běželo.

A model se může mýlit. Hrana závislosti, kterou nikdo nepotřeboval, serializuje práci, která mohla běžet paralelně; nástroj si toho nevšimne, protože nerozezná nutnou hranu od opatrné.

Pravidlo pro pracovníka

majordomus context                 # what the last session left
majordomus plan status             # where the outcome stands
majordomus plan next               # the one issue that is ready
majordomus plan show <id>          # the whole contract
majordomus plan start <id>         # refused unless it is READY
majordomus start "<id>: <title>" --scope <the issue's declared scope>
# ... execute, only inside that scope ...
majordomus plan evidence <id> --covers <token> --type test --command "<cmd>" --result "<what it showed>"
majordomus plan done <id>          # refused while evidence is missing
majordomus plan next               # derived, not decided

Worker smí vzít něco jiného než úkol, který graf nabízí, pokud je blokátorem, pokud zneplatňuje předpoklad, na kterém milník stojí, nebo pokud osoba změnila priority. To jsou tři důvody. „Zdálo se to užitečnější“ mezi nimi není.

Viz také

Prohledává názvy a popisy všech stránek, které tento web publikuje.