Co to znamená
.ai/local/state/open-questions.md čte kontrola, která odmítne dokončení, dokud je cokoli nevyřešeno. Pokud se položka v něm nezparsuje, kontrola ji nevidí — takže poškozená položka se považuje za blokující selhání, a ne za formátovací problém.
Princip
mj_question_malformed v lib/question.sh vrací čísla řádků záznamů, které neodpovídají tvaru záznamu. mj_validate_blockers kontroluje úložiště dřív, než hledá nevyřešené záznamy pro aktuální úlohu, a selhání parsování hlásí pod stejnou kategorií blockers, protože je to totéž pravidlo: na tuto kontrolu se lze spolehnout. mj_validate_questions_store spouští stejnou kontrolu z doctor a watch, které nemají aktivní úlohu, proti které by kontrolovaly, ale přesto potřebují vědět, že úložiště je v pořádku. Obě doktríny jsou deklarovány jako blokující.
Jak to vidět
printf -- '- [unresolved] no separator and no date\n' >> .ai/local/state/open-questions.md
majordomus check # FAIL blockers open-questions.md — line(s) 4 do not parse
majordomus doctor # FAIL records open-questions.md
majordomus watch # DRIFT records open-questions.mdCo nepokrývá
Kontrola dokazuje, že úložiště je čitelné, ne že otázky v něm jsou ty správné. Nic nezjistí blokátor, který nebyl nikdy zapsán, což je častější selhání a takové, na které validátor nedosáhne.
Proč existuje
Kontrola, jejíž vstup lze překlepem učinit neviditelným, je horší než žádná, protože hlásí úspěch. Zacházet s nečitelným záznamem jako s otevřeným odstraňuje motivaci obcházet kontrolu jeho poškozením, záměrným či ne.