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.

Stránka Registr webu se vykresluje ze site/data/registry/registry.json, datové sady, kterou majordomus generate site odvozuje z registru a indexu s jejich otisky, a generate --check zastaralou odmítne v CI

GitHub Pages nemají pro registr žádný vlastní obsahový model. /registry/ čte site/data/registry/registry.json; spustitelný soubor v Rustu zapisuje tento soubor z registru schopností a z indexu (majordomus generate site) a majordomus generate --check, který CI spouští při každém pushi, jej odvodí znovu a skončí kódem 10, když se commitnutý soubor liší. Číslo na té stránce, které se neshoduje se spustitelným souborem, je zastaralý generovaný soubor a build ho odmítne.

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

Každý vestavěný deskriptor celý se souborem, v němž byl složen, každý modul s jeho id, každý objekt vrstvy bez jeho obsahu, každý druh se schématem, deklarované projekce poskytovatelů, příkazový řádek tak, jak jej deklaruje clap, nástroje a zdroje MCP, cesty HTTP, cíle měření výkonu, pokrytí, politika a přijaté základní hodnoty a otisky registru a indexu (majordomus-site-registry/v2); žádné vlastní časové značky, žádné absolutní cesty, žádný stav gitu. Adresář patří výhradně spustitelnému souboru v Rustu, shellový generátor webu vlastní site/data/generated/ celý, takže žádný adresář nemá dva zapisovatele. Kanonický objekt přidaný do vrstvy změní otisk a datovou sadu a bootstrapy nechá být; expozice odebraná z deskriptoru posune cesty a pokrytí a nic jiného; test sleduje každou mutaci přesně k projekci, které se týká.

Co to znamená

GitHub Pages nemá pro registr žádný vlastní obsahový model. /registry/ čte site/data/registry/registry.json; tento soubor zapisuje Rust spustitelný soubor z registru schopností a z indexu (majordomus generate site) a majordomus generate --check, který CI spouští při každém pushi, jej odvodí znovu a skončí s exit 10, když se commitnutý soubor liší. Číslo na té stránce, které se se spustitelným souborem rozchází, je zastaralý vygenerovaný soubor a build jej odmítne.

Princip

apps/majordomus-cli/src/site.rs sestaví jednu datovou sadu (majordomus-site-registry/v1): identitu a verzi generátoru; otisk registru a počty se shrnutím každé vestavěné schopnosti (id, druh, vystavení, stabilita, politika měření výkonu a cache, provenience) a každý modul s tím, co skládá; otisk indexu, stav, sekce, počty podle druhu a každý objekt bez obsahu (URI, druh, identita, titulek, cesta, sekce, třída zdroje, velikost, štítky); každý druh, který program čte, s formátem, pravidlem front matter, schématem a poli identity; a projekce poskytovatelů, které politika deklaruje. Vše je seřazeno, nic nenese časové razítko, absolutní cestu ani commit (vlastní source.json webu nese commit a zapisuje se při sestavení).

Adresář patří samotnému spustitelnému souboru v Rustu. Shellový generátor webu (scripts/generate-site-data) nahrazuje site/data/generated/ celý a soubor, který nezapsal, hlásí jako osiřelý, takže dataset registru žije vedle něj, ne uvnitř: žádný adresář nemá dva zapisovatele.

Jak to vidět

apps/majordomus-cli/target/debug/majordomus generate site --check      # OK generated site/data/registry/registry.json
jq '.registry.fingerprint, .registry.summary.total, .index.by_kind' site/data/registry/registry.json
printf '\n' >> site/data/registry/registry.json
apps/majordomus-cli/target/debug/majordomus generate --check           # exit 10: site/data/registry/registry.json (differs)
git checkout site/data/registry/registry.json

Co nepokrývá

Dataset vypisuje vestavěné schopnosti v plném znění a deklarativní jako objekty, jejichž jsou zdroji; neobsahuje obsah, schémata ani výsledky měření výkonu. Zbytek webu (tvrzení, plán, plán rozvoje, dokumenty) stále odvozuje scripts/generate-site-data ze souborů, které ty fakty vlastní; tento dataset je výřez z registru, ne náhrada tohoto generátoru.

Proč existuje

Pravidlo repozitáře, že rozhraní jsou projekce registru (project.interfaces-are-projections), aplikované na web: dříve stránky z registru neukazovaly nic a stránka, která by ukazovala, by musela ručně udržovat druhý seznam operací a druhů. apps/majordomus-cli/tests/projections.rs sestaví celý plán dvakrát nad fixture a porovná, odmítne cestu checkoutu v jakémkoli artefaktu, přidá jedno pravidlo do vrstvy a uvidí, že se otisk datasetu pohne a bootstrapy zůstanou, změní politiku a uvidí opak, a uvidí, že check jmenuje přesně artefakt, kterého se každá změna týká.

Detail vykreslen z docs/claims/site-registry-dataset.md.

Od tvrzení k důkazu

  1. 1 · veřejné tvrzení

    Stránka Registr webu se vykresluje ze site/data/registry/registry.json, datové sady, kterou majordomus generate site odvozuje z registru a indexu s jejich otisky, a generate --check zastaralou odmítne v CI

    Vytvořeno na Declare once.

  2. 2 · kanonické tvrzení

    site-registry-datasetdeklarovaný 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/site.rs

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

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

  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/projections.rs

Kde se toto tvrzení používá

Související tvrzení stejná implementace

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

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