Co to znamená
Úloha končí právě jedním z completed, partial, blocked, no_match, failed (plus handed_over, když pokračuje jinde, a active, dokud běží). no_match znamená, že práce byla provedena a hledaná věc neexistuje; failed znamená, že práci nebylo možné provést. V chatu vypadají podobně — „nic jsme nenašli“ versus „nemohli jsme hledat“ — a jsou to různé fakty, které musí dozor rozlišit, aby rozhodl, zda opakovat, eskalovat, nebo přijmout.
Princip
lib/finish.sh odmítne jakoukoli jinou hodnotu --outcome s chybou použití. Každý výsledek má vlastní kontrakt: completed vyžaduje ověření a úplnou poznámku; partial a blocked vyžadují poznámku s # Next Action; no_match a failed vyžadují # Reason; blocked přeskočí řádek otevřených otázek, protože otevřené otázky se očekávají. Hodnota se zapíše do záznamu úlohy a ledgeru, kde ji watch kontroluje proti událostem task.finished ledgeru.
Jak to vidět
majordomus finish --outcome done
# majordomus: finish: unknown outcome 'done'
majordomus finish --outcome no_match --note n.md
# … lacks section(s): Reason (until the note explains what was not there)Co nepokrývá
Slovník je pevný; přidání výsledku je změna smlouvy finish, ne konfigurační volba.
Proč existuje
Sto padesát sedm z dvou set devadesáti osmi poznámek relací ve zdrojovém prostředí neslo řádek Status:; hodnoty byly volný text ve dvou jazycích, včetně jedné, která zněla „velmi nízká pravděpodobnost, kritický dopad“. Próza nikdy nenahradí typované pole.