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.

Každá schopnost Rust executable je definována jednou a registr odmítne duplicitní id nebo kolidující název projekce, přičemž pojmenuje obě strany

Spustitelný soubor v Rustu má jedno místo, kde schopnost existuje: registr složený v apps/majordomus-cli/src/app.rs ze spustitelných souborů vypsaných v capability/builtin.rs a z každého objektu vrstvy repozitáře. Dvě definice nárokující jedno kanonické id, dvě schopnosti nárokující jedno jméno nástroje MCP nebo URI zdroje, jednu metodu a cestu HTTP nebo jednu cestu CLI, trasa mimo /api/v1/, jméno nástroje mimo [a-z0-9_]+ nebo spustitelné vystavení na plánované schopnosti: registr se nesestaví, každé porušení je vypsáno s původem obou stran a žádné rozhraní se neposkytuje.

deklarovaný stavdeklarovaný stav: zaručeno Deklarováno jako deterministické a blokující, implementováno a s uvedeným behaviorálním testem, který to má dokázat. Zda to zaznamenaný běh podporuje, říká verdikt důkazů zobrazený vedle.

zaznamenané důkazyzaznamenané důkazy: nespuštěno Deklarováno jako zaručené, ale nepodložené zaznamenaným během: test je pojmenován, ale žádný úspěšný běh nad současnými vstupy zaznamenán není. jak se zaznamenávají důkazy

Dva zdroje, vestavěné spustitelné soubory a objekty vrstvy, se setkávají v jednom registru sestaveném na jednom místě; id, názvy a URI MCP, HTTP routes a cesty CLI jsou každé jedinečné, jinak se registr nesestaví. Testy crate v tests/registry.rs pokrývají každou kolizi.

Co to znamená

Rust executable má jedno místo, kde schopnost existuje: registr složený v apps/majordomus-cli/src/app.rs z executables uvedených v capability/builtin.rs a z každého objektu vrstvy repozitáře. Dvě definice nárokující jedno kanonické id, dvě schopnosti nárokující jedno jméno nástroje MCP nebo URI zdroje, jednu metodu a cestu HTTP nebo jednu cestu CLI, trasa mimo /api/v1/, jméno nástroje mimo [a-z0-9_]+ nebo spustitelná expozice u plánované schopnosti: registr se nesestaví, každé porušení je vypsáno s proveniencí obou stran a žádné rozhraní se neservíruje.

Princip

capability/registry.rs seřadí čekající deskriptory podle id a provenience, každý validuje proti tomu, co už drží, shromáždí všechny chyby a vrátí buď registr, nebo seznam. majordomus capabilities validate spustí stejný build a vytiskne jeden řádek OK na invariant, nebo skončí 10 se seznamem; mcp, serve a generate odmítnou nastartovat při týchž chybách.

Jak to vidět

majordomus init && git add -A && git commit -qm install
apps/majordomus-cli/target/debug/majordomus capabilities validate

vypíše řádky registru, MCP, HTTP a OpenAPI, každý OK. Duplicitu ukazuje vlastní sada testů crate (cargo test --test registry), která sestaví registry se stejným id ze dvou zdrojů v Rustu a z Rustu a vrstvy a obě provenience přečte z chyby.

Co nepokrývá

Jedinečnost platí pro registr, tedy pro repozitář a proces: dva repozitáře mohou každý deklarovat rule.project.alpha@1. Registr kontroluje názvy a tvary, ne pravdivost popisu.

Proč existuje

Čtyři rozhraní nad jedním chováním, každé s vlastní tabulkou, driftují při první úpravě; registr, který odmítne sestavení při kolizi, činí drift nemožným, ne jen zjistitelným. test/cases/76_capabilities_projections.sh validuje registr nad repozitářem, který zapsal init shellového nástroje; apps/majordomus-cli/tests/registry.rs pokrývá každou kolizi a odmítnutí.

Detail vykreslený z docs/claims/capability-registry.md.

Od tvrzení k důkazu

  1. 1 · veřejné tvrzení

    Každá schopnost Rust executable je definována jednou a registr odmítne duplicitní id nebo kolidující název projekce, přičemž pojmenuje obě strany

    Vytvořeno na Declare once.

  2. 2 · kanonické tvrzení

    capability-registrydeklarovaný stav: zaručeno v docs/CLAIMS.yaml

    Definováno v přečtěte si to na tomto webu · docs/CAPABILITIES.md

  3. 3 · implementace

    apps/majordomus-cli/src/capability/registry.rs

  4. 4 · test a scénáře

    Test: apps/majordomus-cli/tests/registry.rs

    Provedeno v Podívejte se, co repozitář obsahuje, a spusťte jednu z jeho schopností, aniž byste četli soubor, Rozšiřte, co spustitelný soubor poskytuje, přidáním souboru, nikdy jeho přebuilděním.

  5. 5 · zaznamenané běhy

    zaznamenané důkazy: nespuštěno jak se zaznamenávají důkazy

Ověřte si to sami

Test běží v jednorázovém dočasném repozitáři a ověřuje chování, ne řetězec ve zdrojovém kódu.

z klonu repozitáře
bash test/run.sh apps/majordomus-cli/tests/registry.rs

Kde se toto tvrzení používá

Okamžiky, na které to odpovídá

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