Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

I1002 — Vztahy jsou typované, odvozené ze stabilních identit a nikdy nevisí do prázdna

Dát grafu typované vztahy — implements, documents, exposes, generated from, enforced by, tested by, benchmarked by, depends on, projects to, served at — odvozované tam, kde existuje stabilní konvence, deklarované tam, kde ne, a vyřešené, nebo odmítnuté.

HOTOVO vlna 1 · p0 · profil deep-work · bezpečné paralelně

Součást capability-graph — Jeden graf schopností, dvě projekce a žádný druhý inventář toho, co tento repozitář umí.

Cíl

Dát grafu typované vztahy — implements, documents, exposes, generated from, enforced by, tested by, benchmarked by, depends on, projects to, served at — odvozované tam, kde existuje stabilní konvence, deklarované tam, kde ne, a vyřešené, nebo odmítnuté.

Proč

Seznam schopností je inventář; jejich graf je architektura, po které se člověk dokáže pohybovat. Hodnota je celá v hranách a hrana, která nikam neukazuje, je horší než chybějící, protože se vykreslí jako prázdná sekce místo chyby.

Aktuální stav

Relace existují implicitně v odkazech ve frontmatter, tazích schopností, metadatech pravidel a seznamech related v ADR. Nic je nepřevádí na společný typ hrany a nic neselže, když se některá nevyřeší.

Cílový stav

Každá hrana má typ, oba konce se vyřeší na uzel a nevyřešitelná hrana shodí generování zprávou jmenující deklaraci, chybějící konec a nápravu.

Rozsah

  • apps/majordomus-cli/src/graph.rs

Mimo rozsah

  • Odvozování podle podřetězce nebo shody titulku, kde existuje stabilní identita
  • Vyžadovat po přispěvateli, aby znovu uvedl relaci, kterou metadata už implikují

Závislosti

Co na tom čeká

Kritéria přijetí

  • Každý typ vztahu je výslovný a směr je součástí jeho významu
  • Odvozování používá jen stabilní identity a nejednoznačný případ vyžaduje výslovnou deklaraci místo odhadu
  • Vztah, jehož cíl neexistuje, způsobí selhání generování, které jmenuje, kde byl deklarován a co chybí
  • Testy pokrývají špatně utvořená metadata, duplicitní identity a visící relace

Validace

  • cargo test --workspace --all-features
  • majordomus generate --check

Požadované důkazy

  • relations_resolve
  • dangling_refused

Důkazy

pokrývátypcommandvýsledeku commitu
relations_resolvetestcargo test --lib graph (apps/majordomus-cli) a unresolved_relations nad tímto repozitářemvrstva se řeší čistě: 778 objektů, 0 nevyřešených referencí; hrany pokrývají depends_on, supersedes, put_in_force, related_to, runs, exercises, evidences, tracks a documents, každou přes stabilní identitu, deklarované id nebo cestu relativní k repozitářic5ecfa1
dangling_refusedtestcargo test --lib graph::tests::a_reference_to_a_kind_we_hold_that_names_nothing_is_a_finding a a_finding_is_never_drawn_as_an_edgeodkaz jmenující druh, který tento repozitář drží a který se nikam nerozřeší, vyvolá nález se souborem, klíčem, odkazem a opravou a nekreslí se pro něj žádný uzel ani hrana; soubor nebo test mimo vrstvu se rozřeší na externí uzel a není nálezc5ecfa1

Riziko

Striktní řešení může způsobit, že nesouvisející úprava dokumentace shodí sestavení. Zpráva musí být dost dobrá, aby selhání byla oprava na pět vteřin, ne vyšetřování.

Časová osa

zahájeno
2026-09-06T15:54:48Z
ověřeno
—
dokončeno
2026-09-06T16:19:14Z

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/I1002.yaml. Načtěte jej zpět pomocí majordomus plan show I1002.

Prohledává názvy a popisy všech stránek, které tento web publikuje.