I0812 — Validovat graf a nechat doctor i watch ptát se stejného validátoru
Implementovat `knowledge validate`, který detekuje duplicitní id uzlů, visící explicitní odkazy, cesty zdrojů, které už neexistují, neshody hashů, hrany s chybějícím koncem, hrany bez původu a zastaralý generovaný index, každý se závažností a příkazem k reprodukci, a deklarovat pravidlo v registru doktríny, aby doctor a watch spouštěly týž validátor, místo aby jej reimplementovaly.
HOTOVO vlna 5 · p1 · profil implementation · běží samostatně
Součást M003 — Relace je trvalá obálka a znalost se kompiluje z toho, co už je kanonické.
Cíl
Implementovat `knowledge validate`, který detekuje duplicitní id uzlů, visící explicitní odkazy, cesty zdrojů, které už neexistují, neshody hashů, hrany s chybějícím koncem, hrany bez původu a zastaralý generovaný index, každý se závažností a příkazem k reprodukci, a deklarovat pravidlo v registru doktríny, aby doctor a watch spouštěly týž validátor, místo aby jej reimplementovaly.
Proč
Validační logika, která existuje dvakrát, se rozejde a druhá kopie je ta, která se přestane spouštět. Registr je mechanismus, který dokazatelně činí doctor, watch a samotný příkaz tímtéž pravidlem.
Aktuální stav
Doktríny jsou deklarovány s validátorem, příkazy, které ji vynucují, a jejím testem; doctor prokazuje každý článek tohoto řetězce ze zdroje, ne z deklarace.
Cílový stav
knowledge_integrity je deklarována a spouští se z doctor a watch. Zjištění rozlišují rozbitý odkaz vlastněný Majordomus, což je selhání, od rozbitého odkazu na záměrně externí zdroj, což selhání není. Doctor také odpovídá, zda lze v tomto checkoutu index vůbec sestavit.
Rozsah
- lib/knowledge.sh
- share/standard/majordomus/rules/knowledge-graph.v1.md
- lib/doctor.sh
- lib/watch.sh
- test/cases
Mimo rozsah
- Automatická oprava čehokoli
- Selhání na odkazu na zdroj mimo repozitář
Závislosti
Co na tom čeká
Kritéria přijetí
- Každou uvedenou podmínku zachytí případ, který zavádí právě tu chybu
- Doktrína se objeví v doctrine list, doctor dokáže, že dosáhne obou příkazů, a její test je pojmenován
- Závažnost rozlišuje vlastní referenci od externí a pravidlo, která je která, je uvedeno
- Zastaralý index je drift pod dohledem a selhání pod příkazem a ani jedno ho nepřestaví
- doctor hlásí, zda lze index zde sestavit, aniž by jeden zanechal
Validace
- bash test/run.sh 3075_knowledge_validate_judges_the_graph
- bin/majordomus knowledge validate
- bin/majordomus doctor
- bin/majordomus watch
Požadované důkazy
- validation_detects
- doctrines_wired
Důkazy
| pokrývá | typ | command | výsledek | u commitu |
|---|---|---|---|---|
| validation_detects | test | bash test/run.sh --no-skips 3075_knowledge_validate_judges_the_graph; bin/majordomus knowledge validate | případ 3075 v pořádku, 0 přeskočeno; knowledge validate: 2263 uzlů, 2803 hran, 0 selhání (kód na masteru od c5aec68c9a6; znovu spuštěno na masteru 01227a0) | 01227a0 |
| doctrines_wired | test | bash test/run.sh --no-skips 3075_knowledge_validate_judges_the_graph | případ 3075 ok: doctor a watch směrují pravidlo majordomus.knowledge-graph (knowledge-graph.v1) na stejný validátor (kód na master od c5aec68c9a6; znovu spuštěno na master 01227a0) | 01227a0 |
Riziko
Validátor, který uvnitř doctoru provede plnou extrakci, zpomalí doctor natolik, že se bude přeskakovat, a kontrola, kterou nikdo nespouští, je přesně to selhání, které tento projekt měří. Musí porovnávat hashe, ne znovu stavět.
Časová osa
- zahájeno
- 2026-10-17T12:03:09Z
- ověřeno
- 2026-10-17T12:03:31Z
- dokončeno
- 2026-10-17T12:03:55Z
Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.
Kanonický záznam: .ai/repo/project/issues/I0812.yaml. Přečtěte ho zpět pomocí majordomus plan show I0812.