Co to znamená
majordomus why diagnose a dotazník na /why/ odpovídají na „jaký je můj provozní problém“ počítáním a každý řádek odpovědi nese okamžiky, které ho vyvolaly.
selected signal ids, or moment ids
resolves to the moments that own them
an area scores how many of those moments name it
a recommendation a capability, command, claim, rule or use case those moments name,
with matched_because listing them
Neexistuje žádné vážení, procento ani model. Čtenář, který s řádkem nesouhlasí, vidí přesně, které z jeho vlastních odpovědí jej vyrobily.
Princip
Signály deklarují okamžiky a nic jiného, takže dotazník jsou metadata samotného katalogu, ne seznam otázek vedený někde jinde. Vybraný název se řeší nejprve jako id signálu a potom jako id okamžiku, takže člověk zaškrtávající příznaky i skript jmenující okamžiky dospějí ke stejné odpovědi. Názvy, které nevyřeší ani jedno, se vrací jako unresolved, ne zahazují.
Web provádí tutéž aritmetiku nad týmiž daty: skript stránky dostane projekci katalogu z doby buildu a spojí signál s okamžikem a metadaty; žádné mapování od příznaku k doporučení není napsáno v JavaScriptu.
Jak to vidět
majordomus why diagnose # the questionnaire, from the moments' own signals
majordomus why diagnose --signal two-agents-one-bug # a diagnosis, with matched_because on every row
majordomus why diagnose --signal nonsense --format json | jq '.unresolved'
cargo test -p majordomus-cli --test why
bash test/run.sh 98_why_catalogue
apps/majordomus-cli/tests/why.rs ověřuje, že signál a jeho okamžik dojdou ke stejné odpovědi, že nerozpoznané jméno se hlásí jako nevyřešené, a nezahazuje se, že prázdný výběr je prázdná diagnóza, a ne chyba, a že každý řádek nese okamžik, který ho vyvolal. test/cases/98_why_catalogue.sh totéž spouští z příkazové řádky, včetně dotazníku sestaveného z vlastních signálů katalogu.
Co nepokrývá
Neřadí podle závažnosti ani četnosti a nerozhoduje, co by čtenář měl dělat. Hlásí, co jejich odpovědi naznačují o tom, za které části provozu platí, a co v tomto repozitáři se těmito částmi zabývá.
Proč existuje
Diagnóza, se kterou nelze polemizovat, je rada a rada od nástroje o cizím provozu má jen malou cenu. Zřejmé implementace — váha na signál, skóre, model natrénovaný na ničem — dávají číslo, které žádný čtenář nezkontroluje a žádný autor neobhájí, a když se takové číslo poprvé mýlí, je také nevyvratitelné.
Počítání je obhajitelné: každý řádek jmenuje odpovědi, které ho vytvořily, takže čtenář, který nesouhlasí, nesouhlasí s něčím konkrétním. Udržuje také web poctivý, protože stránka, která by počítala sama, by byla druhým názorem na tatáž data a oba by se rozešly při první změně kteréhokoli.