Doctor
dokazuje, že instalace je skutečná: politika se parsuje, každé deklarované vynucování skutečně vyvolá hook, který pojmenovává, bez spolknutého exit kódu, každá projekce odpovídá vlastnímu razítku, vždy načítaný soubor je pod rozpočtem
dokazuje, že instalace je skutečná: politika se parsuje, každé deklarované vynucování skutečně vyvolá hook, který pojmenovává, bez spolknutého exit kódu, každá projekce odpovídá vlastnímu razítku, vždy načítaný soubor je pod rozpočtem
Kde to žije
Stav, který vlastní
Příkaz, který na to působí
majordomus doctor
Kontroluje pouze správu: je samotný Majordomus v pořádku a je každé vynucování, které deklaruje, skutečně zapojeno i tady?
- jen pro čtení
- aktivní úloha volitelná
- --json
majordomus doctor [--json]
Podívat se, jak odmítá a jak přijímá
Primární záruka doctor je smíření: pro každé vynucování, které politika deklaruje, musí cesta existovat, být spustitelná a být vyvolána artefaktem pojmenovaným ve wired_by, aniž by byl jeho exit kód spolknut. Vše ostatní, co hlásí, je sekundární.
Pro tento repozitář platí
# A repository with Majordomus installed and projections generated, and one commit of work. "$MJ" init >/dev/null "$MJ" update >/dev/null mkdir -p lib docs echo a > lib/a echo d > docs/d git add . && git commit -qm base
Spustit
$ majordomus doctor
Výstup obsahuje
- FAIL wiring
- doctor-on-commit
ukončení
10
Tohle je selhání, které má nástroj zachytit. Politika říká, že kontrola běží při každém commitu; nic ji nespouští. Deklarováno a nezapojeno je horší než chybějící, protože to vypadá jako ochrana.
Pro tento repozitář platí
# Installed, and the two enforcements the policy declares are actually in place as hooks. . "$FIXTURE_SETUP/installed.sh" mkdir -p .githooks printf '#!/bin/sh\n%s doctor || exit $?\n' "$MJ" > .githooks/pre-commit printf '#!/bin/sh\n%s finish --check || exit $?\n' "$MJ" > .githooks/pre-push chmod +x .githooks/pre-commit .githooks/pre-push git config core.hooksPath .githooks
Spustit
$ majordomus doctor
Výstup obsahuje
- OK zapojení
- doctor: 0 failure
ukončení
0
doctor pojmenovává soubor, který provádí zapojení, takže zpráva je ověřitelná, ne jen uklidňující. Hook, který příkaz vyvolal a zahodil jeho návratový kód, by se stejně hlásil jako nezapojený.
Co to vynucuje
- majordomus.knowledge-integrity blokující vynucuje check, doctor Každý záznam znalosti je jedno doložené, správně utvořené tvrzení. Je platný vůči svému schématu bez neznámého klíče, jeho identita je jedinečná a rovná se názvu souboru, ověřený záznam nese provenienci, každý odkaz, který jmenuje, se vyřeší, nahrazený záznam říká, co ho nahradilo nebo proč byl zamítnut, kandidát nikdy netvrdí, že je ověřený, a žádný záznam nenese konverzaci.
- majordomus.candidates-reviewed doporučující vynucuje doctor Fronta revizí, která roste bez mezí, se nerevidouje. Více kandidátů, než dovoluje strop politiky, kandidát čekající déle, než dovoluje stáří z politiky, nebo kandidát, kterého strom nesleduje, se hlásí, ne zastavuje; obě čísla jsou deklarována jednou v politice.
- majordomus.ai-layout-integrity blokující vynucuje doctor, watch Vrstva AI repozitáře je skutečná: manifest deklaruje formát, který tento spustitelný soubor čte, a každá sekce, kterou jmenuje, existuje, lokální polovina checkoutu je ignorována gitem a nic pod ní není sledováno a pod cestou .majordomus/ z doby před .ai nezůstala žádná data projektu.
- majordomus.layout-integrity poradní vynucuje doctor Adresáře, do kterých zapisují trvalé příkazy, se instalují, a nevytvářejí se při prvním použití.
- majordomus.catalogue-integrity blokující vynucuje doctor, watch Každý případ užití a každá aplikace popisuje nástroj pojmy, které nástroj má: každý příkaz, doktrína a tvrzení, které uvádí, existuje, a oba katalogy na sebe odkazují v obou směrech.
- majordomus.command-surface blokující vynucuje doctor, watch Každý příkaz, který binárka dispatchuje, je popsán dodaným registrem, každý příkaz, který registr deklaruje jako veřejný, je dispatchován, a příkaz je veřejný přesně tehdy, když ho uvádí text usage.
- majordomus.doctrine-wiring-integrity blokující vynucuje doctor Každá doktrína v tomto registru se převede na validátor, který existuje, je dosažen z každého příkazu, který jej jmenuje, šíří selhání, je dokázán testem a běží v CI — a každý validátor ve zdrojovém kódu je zde deklarován.
- majordomus.enforcement-wiring blokující vynucuje doctor Každé vynucování, které politika deklaruje, vyvolává hook, který jmenuje, ze souboru, který dispatcher skutečně spustí, bez spolknutí návratového kódu.
- majordomus.command-coverage blokující vynucuje doctor, watch Každý veřejný příkaz má behaviorální a negativní test, počítané z registru a z pokrytí, které každý případ deklaruje o sobě, ne ze seznamu, který někdo udržuje.
- majordomus.knowledge-observed blokující vynucuje doctor, watch Dokud se epizody uzavírají, musí se dál odvozovat znalosti, které vytvořily. Uzavřená epizoda, za kterou nenásledovalo žádné odvození a je starší než práh čerstvosti, je zastavený zapisovač; lifecycle, jehož cesta uzavření nikdy nevolá deriver, zatímco je přepínač politiky zapnutý, je zapisovač, který nikdy nebyl spuštěn.
- majordomus.context-budget blokující vynucuje doctor, watch Vždy načtená projekce zůstává v mezích svého rozpočtu řádků, každý odkaz v ní se vyřeší, neuvádí žádný počet, který zastará, a sestavený kontext se vejde do vlastního rozpočtu stavitele.
- majordomus.retention-caps blokující vynucuje doctor, watch Kniha, předávky, checkpointy a záznamy relací zůstávají pod limity, které politika stanoví, takže trvalý stav neroste bez omezení.
- majordomus.rule-package-integrity blokující vynucuje doctor, watch Efektivní sada pravidel repozitáře je skutečná: vendorovaný základ odpovídá svému manifestu soubor po souboru, každé pravidlo se rozliší se svými závislostmi, žádná dvě si nenárokují jednu identitu a žádné pravidlo projektu nepoužívá vendorovaný jmenný prostor.
- majordomus.skill-integrity blokující vynucuje doctor, watch Každá dovednost, kterou repozitář deklaruje, se zpracuje podle smlouvy dovednosti, jmenuje adresář, ve kterém žije, nese své sekce, popisuje se pojmy, které nepoužívá žádná jiná dovednost, a každá dovednost nebo příklad, na který odkazuje, existuje.
- majordomus.use-case-coverage blokující vynucuje doctor, check, finish Každý veřejný příkaz a každé zaručené tvrzení a nástroj MCP, které politika vyžaduje, je pojmenován a spuštěn alespoň jedním aktivním případem užití, jehož scénář se provádí proti skutečnému nástroji; mezera je podle politiky selhání nebo hlášení, nikdy ticho.
Co je zaručeno
- zaručeno Instalátor ověří digest artefaktu a zkontroluje jeho archiv dříve, než se cokoli rozbalí, a jakékoli selhání ponechá předchozí instalaci funkčnídokázáno test/cases/85_installer.sh
- zaručeno Každé vynucování, které politika deklaruje, je sladěno s tím, co skutečně běžídokázáno test/cases/03_update.sh
- zaručeno Zapojení se najde v hooku nebo v kterémkoli podhooku adresáře, na který tento hook odesíláprokázáno test/cases/14_wiring_dispatcher.sh
- zaručeno Každé pravidlo, které nástroj vynucuje, je deklarováno jednou jako objekt pravidla v efektivní množině repozitáře a doctor dokazuje, že každé z nich je dosaženo příkazem, který tvrdí, že ho spouštíprokázáno test/cases/18_doctrine_wiring.sh
- zaručeno Případ užití nebo aplikace nemůže pojmenovat příkaz, doktrínu ani tvrzení, které neexistuje, a oba katalogy se nemohou rozcházet v tom, co se na co vztahujedokázáno test/cases/28_catalogue.sh
- zaručeno Každá reference relativní k repozitáři ve vždy načítaném souboru se dokazatelně rozřešídokázáno test/cases/03_update.sh
- zaručeno Natvrdo zapsaný počet ve vždy načítaném souboru je selhánídokázáno test/cases/03_update.sh
- zaručeno Ledger jen k připojování a úložiště předávek mají limity retence, které se kontrolujídokázáno test/cases/02_doctor_basic.sh
- zaručeno Každé úložiště kontinuity je prokazatelně dosažitelné vlastním příkazem, nejen přítomné na diskudokázáno test/cases/25_continuity_lifecycle.sh
- zaručeno Základ pravidel je vendorován do repozitáře s manifestem jmenujícím každý soubor a jeho hash a ruční úprava je zjištěna a odmítnutadokázáno test/cases/67_rule_dag.sh
- zaručeno Efektivní sada pravidel se řeší jako graf závislostí v deterministickém pořadí a sadu, která se neřeší, neaplikuje nicdokázáno test/cases/67_rule_dag.sh
- zaručeno Nástroj běží jen pro čtení z libovolného umístění a dvě umístění jedné verze se o jednom repozitáři shodnouprokázáno test/cases/65_tool_root_independence.sh
- zaručeno Veřejný povrch příkazů je deklarován a sjednocen s dispatcheremdokázáno test/cases/30_command_registry.sh
- zaručeno Každý veřejný příkaz má behaviorální test a negativní test, počítané, ne pamatovanédokázáno test/cases/31_command_coverage.sh
- zaručeno Veličina o tokenech, kontextu nebo nákladech napsaná do ručně psané prózy je odmítnuta a tvrzení vázané na metriku nemůže být zaručeno, dokud jeho důkazy nestojíprokázáno test/cases/431_economics_claims_gated.sh
- zaručeno Každý veřejný příkaz je jmenován a spouštěn aktivním případem užití, zaručené tvrzení nebo nástroj MCP bez něj je pojmenovaná mezera a politika říká, které mezery selžou v doctor, check a finishdokázáno test/cases/94_use_cases.sh
- zaručeno Scénář případu užití se provádí proti skutečnému nástroji v odhazovacím repozitáři, kód návratu a výstup každého kroku se ověřují a normalizované důkazy jsou to, co web ukazujedokázáno test/cases/94_use_cases.sh
- zaručeno Ze souborů, kterých se změna dotkla, nástroj jmenuje dotčené příkazy, pravidla, případy užití, scénáře a případy chování a vytvoří koncept pro schopnost, kterou žádný případ užití nepokrývádokázáno test/cases/94_use_cases.sh
- zaručeno Živý scénář smí spouštět jen příkazy, které share/commands.yaml deklaruje jako jen pro čtení, nepojmenovává žádnou přípravu a tvrdí povinnost jen tam, kde nějakou něco dluží; každý jiný tvar odmítne usecase validate s exit kódem 10dokázáno test/cases/359_live_scenarios.sh
- zaručeno Živý scénář nevybere holé spuštění usecase, jeho důkazy se zapisují pod ignorovanou lokální polovinu a nikdy nezvedne příkaz na covered; nesplněný závazek se hlásí jako nesplněný, nikdy jako selhánídokázáno test/cases/359_live_scenarios.sh
- zaručeno Každá dovednost se validuje proti seznamu povolených generovanému z jejího schématu, adresáře, sekcí a odkazů, porušení jmenuje soubor a každý důvod a repozitář bez dovedností se hlásí, ne propouštídokázáno test/cases/95_skills.sh
- zaručeno Koncová událost poskytovatele a jeho událost komprimace odvodí znalost, kterou epizoda vytvořila, do záznamů kandidátů pod sledovaným stromem, z ledgeru a gitu a nikdy z konverzace, ať je nějaká úloha aktivní, nebo ne, a zaznamenají do ledgeru, že tak učinilyprokázáno test/cases/563_knowledge_is_derived_at_the_boundary.sh
- zaručeno Vypnutý přepínač politiky nic neodvozuje a řekne to; odvození, které selže uvnitř hooku poskytovatele, se zaznamená jako provider.event.failed a hook přesto skončí s 0dokázáno test/cases/565_knowledge_switch_and_failure_leave_evidence.sh
- zaručeno Každý záznam znalostí je validní vůči schématu bez neznámého klíče, jednoznačně identifikovaný, doložený důkazy, je-li ověřený, řeší každý odkaz, který uvádí, a nenese žádnou konverzaci; check, doctor a `majordomus knowledge check` odmítnou záznam, který takový nenídokázáno test/cases/707_knowledge_check_refuses_malformed_records.sh
- zaručeno Repozitář, ve kterém se epizody uzavírají a do prahu zastaralosti nenásleduje žádné odvození znalostí, je doctorem i watchem hlášen jako zastavený zapisovač a nález zmizí, jakmile je odvození zapsánodokázáno test/cases/708_health_sees_a_stopped_knowledge_writer.sh
- zaručeno Více kandidátů, než je strop politiky, nebo kandidát starší než stáří dané politikou je poradní nález doctor, který je jmenuje; obě čísla jsou deklarována jednou v politicedokázáno test/cases/711_candidates_are_reviewed_not_accumulated.sh
Pravidla, která tento příkaz spouští
Doktríny, jejichž enforced_by jmenuje doctor. Vynucovat pravidlo a být jím řízen jsou různé vztahy, proto se uvádějí zvlášť.
- majordomus.knowledge-graph
- majordomus.knowledge-integrity
- majordomus.candidates-reviewed
- majordomus.ai-layout-integrity
- majordomus.layout-integrity
- majordomus.ledger-integrity
- majordomus.policy-completeness
- majordomus.bootstrap-integrity
- majordomus.catalogue-integrity
- majordomus.context-integrity
- majordomus.policy-integrity
- majordomus.adr-integrity
- majordomus.decision-records
- majordomus.dag-integrity
- majordomus.command-surface
- majordomus.doctrine-wiring-integrity
- majordomus.enforcement-wiring
- majordomus.command-coverage
- majordomus.handover-integrity
- majordomus.lifecycle-observed
- majordomus.knowledge-observed
- majordomus.project-integrity
- majordomus.projection-integrity
- majordomus.context-budget
- majordomus.deployment-contract
- majordomus.prompt-capture
- majordomus.prompt-continuity
- majordomus.prompt-integrity
- majordomus.questions-store-integrity
- majordomus.retention-caps
- majordomus.roadmap-integrity
- majordomus.rule-package-integrity
- majordomus.schema-integrity
- majordomus.session-records
- majordomus.record-changed-files
- majordomus.session-lifecycle
- majordomus.skill-integrity
- majordomus.use-case-coverage
Okamžiky, na které to odpovídá
- otevřel CLAUDE.md a AGENTS.md a našel dvě různé sbírky pravidel pro jeden repozitář Každý provider čte svůj ručně upravovaný soubor, nic je nepropojuje a to, který kontrakt platí, závisí na tom, který nástroj je právě otevřený.
- se zeptal, co pracovníci dělali včera v noci, a měl jen přepisy k prohledání Log konverzace zaznamenává, co bylo řečeno, ne co se stalo, takže na provozní otázku musí odpovědět člověk čtoucí prózu.
- 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.
- 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ě.
- našel pravidlo, o kterém všichni věřili, že se vynucuje, a nic ho nikdy nevolalo Existují všechny artefakty vynucování — pravidlo, skript, test — a žádná cesta je nespojuje, takže kontrola je fikce.
- našel kód, který odporoval rozhodnutí, jež si repozitář zapsal Rozhodnutí bylo zaznamenáno a implementace šla opačným směrem, protože nic nepropojuje rozhodnutí s cestami, kterým vládne.
- přečetl slib v README, za kterým nestál žádný test Věta popisující, co software dělá, se napíše jednou a nikdy se nepropojí s ničím, co by selhalo, kdyby přestala platit.
- vložil příkaz z dokumentace a sledoval, jak selhal Příklady se píšou jednou, v próze, a nikdy je už nic nespustí.
- 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.
- publikoval stránku, která slíbila víc, než kterýkoli test dokázal podpořit Veřejné materiály vznikají jiným úkonem než kód, takže předbíhají chování a nic je nevrací zpět.
- recenzoval dobře napsaný příspěvek, který porušil konvenci, již neměl jak zjistit Asistenti umožňují komukoli vyrábět věrohodné příspěvky ve velkém; konvence, které z nich dělají správné, jsou stále jen v hlavách správců.