Co to znamená
Deriver zapisuje kandidáty a nic jiného. Záznam se stane verified přes majordomus knowledge promote <id> s důkazy na standardním vstupu, což ho přesune do curated/, nebo úpravou souboru člověkem. majordomus knowledge reject <id> --reason "<why>" ho odloží jako superseded na místě se zaznamenaným důvodem. Každý akt zanechá řádek v ledgeru, knowledge.promoted nebo knowledge.rejected, a deriver při další hranici přeskočí povýšené nebo nahrazené id, aby ani jeden akt nebyl vrácen.
Princip
promote přečte kandidáta, odmítne (10), když je stdin prázdný — akt bez důkazů je tvrzení — nebo nese značku přepisu, nebo když stav záznamu není candidate, nebo když je --class mimo výčet; skončí s kódem 12, když žádný kandidát id nenese. Přepíše front matter pomocí status: verified, třídy zvolené člověkem pomocí --class, když je zadána, dnešního data a derived_from beze změny plus povyšující epizody, je-li nějaká otevřená; připojí důkazy pod # Evidence; zapíše curated/<id>.md přes dočasný soubor a přejmenování; odstraní kandidáta; připojí knowledge.promoted s id a cestou; a jako poslední vypíše cestu k vybranému záznamu. reject přepíše kandidáta na místě jako superseded, vloží superseded_by, když --by <id> jmenuje existující záznam, připojí důvod pod # Rejected, připojí knowledge.rejected a jako poslední vypíše cestu. --reason je povinné a neprázdné (2).
Jak to vidět
majordomus knowledge candidates # the queue: id, class, date, branch, title
printf '' | majordomus knowledge promote <id>; echo "exit $?" # 10: no evidence
printf 'Verified by running test/cases/64_knowledge_discovery.sh.\n' \
| majordomus knowledge promote <id> --class convention # last line: .ai/repo/knowledge/curated/<id>.md
majordomus history --event knowledge.promoted
majordomus knowledge reject <other-id> --reason "restates ADR 0010" # last line: the rewritten candidate's path
majordomus knowledge derive # skipped ... (promoted), skipped ... (superseded)Co nepokrývá
Nerozhoduje, kteří kandidáti si povýšení zaslouží; poradní pravidlo činí frontu viditelnou a člověk ji vyprázdní. Člověk, který ručně upraví stav kandidáta, vykoná ten druhý úkon a nebude odmítnut, ačkoli kontrola integrity stále vyžaduje provenienci vedle verified. Povýšení nestaguje ani necommituje kurátorský záznam.
Proč existuje
Nástroj, který umí zapsat verified, může ze své vlastní domněnky udělat pravdu repozitáře a čtenář o měsíce později nepozná, k čemu došlo. Stejný argument dal adr propose žádný příznak pro accepted. .ai/repo/adrs/0091-knowledge-is-derived-at-the-episode-boundary-and-a-person-promotes-it.md stanoví, že deriver zapisuje jen kandidáty, že třídu při povýšení nastavuje člověk a že důkazy jsou povinné, protože čin bez nich je jen tvrzení.