Profily
jeden balíček na třídu úloh, každý nastavuje třídu schopností, úsilí uvažování, rozvláčnost, prezentaci, přepínače kontextu, ověřování a interval checkpointů nezávisle
jeden balíček na třídu úloh, každý nastavuje třídu schopností, úsilí uvažování, rozvláčnost, prezentaci, přepínače kontextu, ověřování a interval checkpointů nezávisle
Kde to žije
Stav, který vlastní
Co to implementuje
Specifikováno v
Příkaz, který na to působí
majordomus check
Je aktuální úloha stále konzistentní se svou politikou, rozsahem a tímto checkoutem?
- jen pro čtení
- vyžadována aktivní úloha
- --json
majordomus check [--explain] [--overlap] [--checkpoint] [--rule <id>] [--json]
Podívat se, jak odmítá a jak přijímá
check je jen pro čtení a odpovídá na tři otázky najednou: popisuje záznam stále tento checkout, je práce uvnitř nárokovaného rozsahu a blokuje něco přijetí.
Pro tento repozitář platí
# ... and an active task scoped to lib, with work done inside that scope. . "$FIXTURE_SETUP/installed.sh" "$MJ" start "narrow the parser" --scope lib >/dev/null echo work >> lib/a
Spustit
$ majordomus check
Výstup obsahuje
- OK rozsah
- 0 selhávajících
ukončení
0
Vytiskne se každý nález, nejen selhání, takže report říká, co bylo zkontrolováno, a ne jen co se pokazilo.
Pro tento repozitář platí
# An active task scoped to lib, with a change under docs that the task never claimed. . "$FIXTURE_SETUP/active-task.sh" echo stray >> docs/d
Spustit
$ majordomus check
Výstup obsahuje
- SELHÁNÍ rozsahu
- docs/d
ukončení
10
check jmenuje jednotlivý soubor, protože užitečná otázka je, kterou změnu přesunout nebo nárokovat, ne pouze to, že je něco špatně.
Co to vynucuje
- majordomus.checkpoint-freshness doporučení vynucuje check, watch Úloha, jejíž poslední checkpoint je starší než interval jejího profilu, je nahlášena, ne zastavena.
- majordomus.policy-integrity blokující vynucuje doctor, watch Politika a každý profil se naparsují, deklarují verzi 1 a nenesou žádný klíč, který schéma nedefinuje.
- majordomus.profile-requirements blokující vynucuje finish Profil smí žádat víc než sdílená smlouva — regresní test, záznam rozhodnutí — a finish bez toho odmítne.
Co je zaručeno
- zaručeno Každý profil je parsován, jeho neznámé klíče odmítnuty a výchozí profil dokázán jako existujícídokázáno test/cases/02_doctor_basic.sh
- doporučení Třída schopností, úsilí při uvažování, podrobnost výstupu, kontext a ověření jsou pět nezávislých osdokázáno test/cases/03_update.sh
- doporučení Profil pojmenovává třídu schopností, ne konkrétní model dodavateledokázáno test/cases/03_update.sh
- poradní Profil deklaruje, který kontext má pracovník načíst, a nic vícdokázáno test/cases/04_start_check.sh
- poradní Stupňování úsilí uvažování po opakovaných zablokovaných pokusech se zaznamenává, nepředpokládádokázáno test/cases/03_update.sh
- poradní Profil nastavuje, jak často má pracovník dělat checkpoint, a zastaralá úloha se hlásídokázáno test/cases/04_start_check.sh
- zaručeno Kontext, který pracovník dostane, se skládá z trvalého stavu v pořadí autority a to, co profil vylučuje, je vyloučenodokázáno test/cases/23_context.sh
- zaručeno Sestavený kontext dodržuje řádkový rozpočet a každá sekce, kterou vypustí, je pojmenována s důvodemdokázáno test/cases/23_context.sh
Pravidla, která tento příkaz spouští
Doktríny, jejichž enforced_by jmenuje check. Vynucovat pravidlo a být jím řízen jsou různé vztahy, proto se uvádějí zvlášť.
- majordomus.knowledge-integrity
- majordomus.checkpoint-freshness
- majordomus.ledger-integrity
- majordomus.blocker-resolution
- majordomus.decision-records
- majordomus.scope-integrity
- majordomus.state-consistency
- majordomus.task-on-the-mesh
- majordomus.use-case-coverage
- majordomus.obligation-closure
- majordomus.completion-gates
Okamžiky, na které to odpovídá
- viděli nejsilnější model na maximální úsilí přejmenovávat proměnnou Schopnost, hloubka uvažování, velikost kontextu a výřečnost se slijí v jediný zvyk — vše zapnuto — protože je nikdy nikdo nepojmenoval zvlášť.
- našel úlohu "in progress", které se tři týdny nikdo nedotkl Stav, který byl napsán, a ne spočítán, platí v okamžiku zápisu a odtud tiše zastarává.
- našel pravidlo pro adresář v README, které žádná relace nikdy nenačetla Lokální pravidlo je buď v vždy načítaném souboru, kde za něj platí každá relace, nebo vedle kódu, kde ho nic nesvazuje s upravovanou cestou.
- strávil hodinu zjišťováním něčeho, co repozitář už věděl, a to dvakrát Worker zjistí něco nákladného o kódové bázi, jednou to použije a s relací to zaniká, protože to nikdo nepřevedl na trvalý záznam.
- sledoval, jak vždy načítaný instrukční soubor přerostl tisíc řádků Vše důležité se přidává do vždy načítaného souboru, takže každá relace platí za každé pravidlo a žádné z nich nečte pořádně.
- nechali rychlou a levnou relaci udělat rozhodnutí, se kterým teď žije celá kódová základna Schopnost se snižuje kvůli nákladům a nic neodlišuje úlohy, kde je to rozumné, od těch, kde je to drahé.
- nedokázal říct, proč byl pro tuto práci použit jeden poskytovatel a pro jinou druhý Výběr poskytovatele a modelu se dělá implicitně, pro každou relaci zvlášť, a nikde se nezaznamenává, takže ho nelze zrevidovat ani zopakovat.
- přišel o selhání, které pracovník už reprodukoval, protože relace skončila Selhání pozorované uvnitř relace je popsáno v této relaci a nikde jinde, takže další začíná od hlášení, ne od důkazu.