66. Vstup hlásí verdikt na tvrzení a důkazy za ním
Kontext
Mandát z 2026-09-15 žádal, aby vstup do repozitáře prokázal, zda Majordomus skutečně platí: governance, kontext relace, MCP, Cockpit, peers, testy, pokrytí, dokumentace a nasazení. Navrhoval nový kanonický snímek, tenké .envrc a povrchy na příkazové řádce, v API, MCP a Cockpitu.
Změřeno dřív, než bylo cokoli postaveno:
.envrcuž bylo jedním volánímmajordomus env enter(ADR 0043,project.envrc-is-an-adapter) a vstup v debug buildu trval asi 190 ms.environment::RepositoryEnvironmentuž bylo kanonickým snapshotem toho, čím checkout je, s proveniencí na pole, servírovaným na každém povrchu.- Banner vykresloval
✓vedle Cockpitu, dokumentace, Swagger, API, událostí a MCP, zatímco sdílený server byloutdated(0.6.1 servírující spustitelný soubor 0.7.0). Značka pocházela zServiceAvailability::Available, spojení TCP. - Důkazy k tomu, aby to šlo lépe, už existovaly a nebyly nikde na vstupní cestě:
standing_ofzserver.status, vlastníGET /serveru uvádějící každý povrch sready,rules.report(137 pravidel, 0 se zaznamenaným úspěšným během), kniha důkazů (6 provedení, žádné na HEAD), posouzení čerstvosti zcontinuity.statea commitygh-pages, z nichž každý jmenuje svůj commitsource:.
Rozhodnutí
- Druhá hodnota, ne širší snímek.
environment::preflight::Preflightodpovídá, co je prokázáno;RepositoryEnvironmentdál odpovídá, co checkout je. Rozšíření snímku by změnilo jeho digest a schéma a každý banner by vypadal jako novinka. - Devět verdiktů, ne booleanů:
verified,active,fresh,stale,degraded,unavailable,failed,unknown,not_applicable. Tři, které tvrdí sílu, nelze sestrojit bez důkazů (Check::new). - Pozorovat, pak odvodit.
observečte;deriveje čisté. Každý verdikt je test nad hodnotou. - Znovu použít, nikdy znovu neodvozovat. Stav serveru je
standing_ofnad jednímGET /(lease::probe_reply, vlastní rozhodnutí sondy). Čerstvost předávky je resolver kontinuity. Aktuálnost testu jechanged_sincemodulu důkazů. Součet pravidel jerules::report. Žádný detektor nebyl napsán dvakrát. - Vstup zůstává v rozpočtu tím, co nečte. Součet pravidel potřebuje index, který vstup nikdy nesestavuje. Proto ho
env preflight --fullpočítá a cachuje s commitem, v němž byl spočítán, a vstup ho hlásí jakostalena jakémkoli jiném commitu. Nástěnka peerů stojí asi 90 ms, protože sbírá každý checkout, takže se jí vstup neptá a říká to.env preflightse ptá. - Banner už neoznačuje službu za odpovídající, pokud server není ověřen. Přiřazení stále exportují
MAJORDOMUS_URLjako vyřešené, protože klient se k němu stále může dostat. - Jedna schopnost,
environment.preflight, promítnutá do HTTP, nástroje a zdroje MCP. Přehled v Cockpitu ji vykresluje s každým verdiktem jako daty. Obsloužený požadavek, který drží lease, je vlastním důkazem pro server a čte vlastní nástěnku. - Co nic nezaznamenává, se řekne, neskryje. Pokrytí je
unavailable, protožescripts/rust-coveragenezanechává záznam. Generovaná dokumentace jeunknown, protože se nezaznamenává žádná kontrola generování. Relevance ADR se netvrdí, protože nic nepropojuje ADR s úlohou.
Důsledky
- Vstupní řádek je poctivý a v tomto repozitáři dnes většinou není zelený. O to jde: 0 ze 107 pravidel dlužících důkaz je dokázáno proti stromu a zaznamenané běhy testů se týkají jiných commitů.
- Tvar
.envrc, který poslání navrhlo (samostatné voláníenv preflight --compact), nebyl přijat. Byl by to druhýgit statusna každémcd, cožproject.envrc-is-an-adapterzakazuje.env enterkreslí kompaktní preflight ze stejného snapshotu. - Připojení důkazů o pokrytí a zaznamenané kontroly generování k preflightu je budoucí práce a každé je jedno pozorování a jedna kontrola, až záznam existuje.
- GitHub Pages nedostávají stav runtime. Verdikt nasazení se týká lokálního refu
gh-pagestak, jak byl naposledy načten, ascripts/pages verifyzůstává autoritou v tom, co se servíruje.