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.

HTTP API: capabilities

Registr viděný sám přes sebe: každá schopnost s jejím druhem, stabilitou, původem, expozicemi, měřením výkonu a politikou cache a jedna schopnost celá.

Vykresleno z docs/generated/openapi.json, který spustitelný soubor generuje ze svého registru schopností a CI jej odmítne, je-li zastaralý. Surový dokument je na /openapi.json; běžící server servíruje stejný dokument na vlastní /openapi.json a Swagger UI na /swagger.

capabilities

Registr viděný sám přes sebe: každá schopnost s jejím druhem, stabilitou, původem, expozicemi, měřením výkonu a politikou cache a jedna schopnost celá.

GET /api/v1/capabilities capabilities.list

Vypsat schopnosti

Každá schopnost tohoto spustitelného souboru a tohoto repozitáře, shrnutá: druh, modul, stabilita, původ, projekce, které deklaruje, její měření výkonu a politika cache; schémata odpovídá capabilities.describe.

  • query
  • behaviorally_verified
  • vyžaduje se měření výkonu
  • cache procesu (max_entries=16)
  • Nástroj MCP majordomus_capabilities
  • $ capabilities list

Parametry dotazu

názevtyppovinnépopispříklady
druh string ne Pouze schopnosti tohoto druhu: `query`, `command` nebo `resource`. dotazy: "query"
exposure string ne Jen schopnosti vystavené touto projekcí: `mcp`, `http` nebo `cli`.

Vyzkoušejte

Port je ten, který server zalogoval; 8741 je ten, o který žádá jako první. Hodnoty jsou první příklad operace.

curl -s "http://127.0.0.1:8741/api/v1/capabilities?kind=query"

Testováno v apps/majordomus-cli/tests/http_serve.rs, který přehrává routu s těmito hodnotami proti serveru na skutečném socketu.

Odpovědi

statustělovýznam
200 CapabilityList Výpis schopností: výsledek.
400 ErrorBody invalid_input: Vstup neodpovídá schématu: parametr špatného typu, neznámý parametr nebo hodnota, kterou schopnost odmítne.
404 ErrorBody not_found: Vstup pojmenovává něco, co repozitář nemá.
500 ErrorBody internal: Schopnost selhala z vlastního důvodu; zpráva ho pojmenovává.
výchozí ErrorBody Jakékoli jiné selhání, které transport hlásí: 405 method_not_allowed pro jinou metodu na této cestě, 400 invalid_input pro tělo, které není objektem JSON.
GET /api/v1/capabilities/projections capabilities.projections

Kde je která schopnost promítnuta

Řádek na schopnost s příkazovou řádkou, trasou HTTP, nástrojem MCP a zdrojem MCP, které dosahuje, zda je každá expozice, kterou deklaruje, zodpovězena tímto povrchem, a spustitelnými příkazy, které si nenárokuje žádná schopnost. Odvozeno z registru a deklarace clap; nic se nepíše ručně.

  • query
  • behaviorally_verified
  • vyžaduje se měření výkonu
  • cache procesu (max_entries=8)
  • Nástroj MCP majordomus_projections
  • $ capabilities projections

Parametry dotazu

názevtyppovinnépopispříklady
modul string ne Jen schopnosti složené v tomto modulu.
nesplněno boolean ne Pouze schopnosti, jejichž deklarovaná vystavení neodpovídají všechna jejich povrchy. Prázdné je uzavření, které pravidlo žádá. all: falseunmet: true

Vyzkoušejte

Port je ten, který server zalogoval; 8741 je ten, o který žádá jako první. Hodnoty jsou první příklad operace.

curl -s "http://127.0.0.1:8741/api/v1/capabilities/projections?unmet=false"

Testováno v apps/majordomus-cli/tests/http_serve.rs, který přehrává routu s těmito hodnotami proti serveru na skutečném socketu.

Odpovědi

statustělovýznam
200 ClosureMatrix Kam se každá schopnost promítá: výsledek.
400 ErrorBody invalid_input: Vstup neodpovídá schématu: parametr špatného typu, neznámý parametr nebo hodnota, kterou schopnost odmítne.
404 ErrorBody not_found: Vstup pojmenovává něco, co repozitář nemá.
500 ErrorBody internal: Schopnost selhala z vlastního důvodu; zpráva ho pojmenovává.
výchozí ErrorBody Jakékoli jiné selhání, které transport hlásí: 405 method_not_allowed pro jinou metodu na této cestě, 400 invalid_input pro tělo, které není objektem JSON.
GET /api/v1/capability capabilities.describe

Popsat jednu schopnost

Jedna schopnost podle kanonického id: její druh, schémata, původ, stabilita, expozice, měření výkonu a politika cache.

  • query
  • behaviorally_verified
  • vyžaduje se měření výkonu
  • proces cache (max_entries=512)
  • Nástroj MCP majordomus_capability
  • $ capabilities describe

Parametry dotazu

názevtyppovinnépopispříklady
id string ano Kanonické id, např. `repository.info` nebo `rule.majordomus.scope-integrity@1`. repository-info: "repository.info"

Vyzkoušejte

Port je ten, který server zalogoval; 8741 je ten, o který žádá jako první. Hodnoty jsou první příklad operace.

curl -s "http://127.0.0.1:8741/api/v1/capability?id=repository.info"

Testováno v apps/majordomus-cli/tests/http_serve.rs, který přehrává routu s těmito hodnotami proti serveru na skutečném socketu.

Odpovědi

statustělovýznam
200 Schopnost Popsat jednu schopnost: výsledek.
400 ErrorBody invalid_input: Vstup neodpovídá schématu: parametr špatného typu, neznámý parametr nebo hodnota, kterou schopnost odmítne.
404 ErrorBody not_found: Vstup pojmenovává něco, co repozitář nemá.
500 ErrorBody internal: Schopnost selhala z vlastního důvodu; zpráva ho pojmenovává.
výchozí ErrorBody Jakékoli jiné selhání, které transport hlásí: 405 method_not_allowed pro jinou metodu na této cestě, 400 invalid_input pro tělo, které není objektem JSON.

Schémata

Komponenty, které používají jen operace tohoto tagu. Každý řádek je pole daného typu, jeho doc komentář je popis; typ vlastněný jinou stránkou na ni odkazuje.

BenchmarkPolicy

jedna ze 3 variant
Zda je schopnost cílem měření výkonu. Required je výchozí a norma: každá spustitelná schopnost se měří přímo i přes každý transport, na němž je vystavena, s případy, které poskytuje její vstupní typ.
variant Měřeno přímo i přes každou expozici; pokrytí bez případu selže.
policy"required"ano
variant Vyžadováno přesně jako Required v repozitáři, kde platí předpoklad, a hlášeno jako nepoužitelné — nikdy pokryté, nikdy prominuté — kde neplatí. Není to prominutí: když je předpoklad splněn a není případ, požadavek chybí.
předpokladBenchmarkPrecondition → BenchmarkPreconditionanoCo musí repozitář obsahovat.
policy"required_when"ano
variant Neměřeno z typovaného důvodu; pokrytí to hlásí jako prominuté, nikdy jako pokryté.
důvodWaiverReason → WaiverReasonanoWhy.
policy"waived"ano

Používá Capability CapabilitySummary

BenchmarkPrecondition

"plan_holds_an_issue"
Co musí repozitář obsahovat, než se na něj vztáhne podmíněný požadavek na benchmark. Typované, jako důvod výjimky, aby podmínka byla přezkoumatelným tvrzením na deskriptoru a nikdy poskytovatelem, který tiše nic nevrátí.

use majordomus_cli::capability::BenchmarkPrecondition;
let p: BenchmarkPrecondition = serde_json::from_str(r#""plan_holds_an_issue""#).unwrap();
assert_eq!(p, BenchmarkPrecondition::PlanHoldsAnIssue);
  • plan_holds_an_issuePlán obsahuje alespoň jeden úkol. Příkaz, jehož každý poctivý případ je odmítnutí zvolené podle stavu úkolu, nemá v plánu bez úkolu žádné takové odmítnutí: jediná odpověď je minutí při vyhledání, které měří chybovou cestu a není operací.

Používá BenchmarkPolicy

CachePolicy

jedna ze 4 variant
Zda a jak executor uchovává výsledky této schopnosti. Cache žije v executoru a nikde jinde, takže MCP, HTTP i příkazová řádka sdílejí jednu; klíčem je kanonické id, normalizovaný vstup a otisk registru, takže změněný repozitář nikdy neodpoví ze staré položky. Dvě užší politiky přidávají ke klíči to, co otisk registru nevidí: vlastní čtení repozitáře kontextem (CachePolicy::Generation) a stav samotného checkoutu (CachePolicy::Checkout).
varianta Každé volání spustí handler.
policy"disabled"ano
variant Výsledky se pro shodné vstupy drží v paměti tohoto procesu, omezené.
max_entriesinteger (uint)anoNejvyšší počet záznamů uchovávaných pro tuto schopnost; nejstarší se vyřadí první.
ttl_secondsinteger | nullneSekundy, po které položka zůstává platná; None po dobu života procesu.
policy"process"ano
varianta Výsledky se uchovávají pro shodné vstupy, dokud je kontext, který je vypočetl, ten, na který se ptáme: u schopnosti, která je funkcí samotného indexu a registru, včetně stavu gitu, ve kterém se index četl, což otisk registru nepokrývá. Znovunačtení repozitáře je nový kontext, a tedy nový klíč.
max_entriesinteger (uint)anoNejvyšší počet záznamů uchovávaných pro tuto schopnost; nejstarší se vyřadí první.
policy"generation"ano
variant Výsledky se uchovávají pro stejné vstupy, dokud je kontext stejný a checkout je takový, jaký byl: HEAD, staging index, refs a každá změněná či nesledovaná cesta pracovního stromu, při každém volání znovu otisknuté (capability::checkout). Pro schopnost, která čte git, index a soubory pracovního stromu, a nic, co ten otisk nevidí: žádný ignorovaný soubor, žádný jiný proces, žádná síť, žádné hodiny. Checkout, který git nedokáže otisknout, se necachuje.
max_entriesinteger (uint)anoNejvyšší počet záznamů uchovávaných pro tuto schopnost; nejstarší se vyřadí první.
policy"checkout"ano

Používá Capability CapabilitySummary

CanonicalSchema

object
JSON Schema se stabilním názvem komponenty (titulkem typu), pokud ho typ má.
vlastnosttyppovinnépopis
název string | null ne Název komponenty, který používají projekce (RepositoryInfo); None pro anonymní schéma, například prázdný vstup.
schema libovolný ano Samotné schéma, bez $schema; vnořené typy jsou pod $defs.

Používá Capability

Schopnost

object
Kanonický deskriptor. Vše, co může projekce o schopnosti říct, je tady.
vlastnosttyppovinnépopis
id CapabilityId → CapabilityId ano Kanonická identita.
modul ModuleId → ModuleId ano Modul, který ji skládá: jmenný prostor id pro vestavěnou, druh pro deklarativní objekt.
druh CapabilityKind → CapabilityKind ano Dotaz, příkaz nebo zdroj.
název string ano Krátké jméno, které ukazuje každá projekce.
popis string ano Popis o jednom odstavci, který ukazuje každá projekce.
vstup CanonicalSchema → CanonicalSchema ano Kanonické schéma vstupu; prázdný objekt pro resource.
výstup CanonicalSchema → CanonicalSchema ano Kanonické schéma výstupu; pohled objektu pro zdroj.
provenance CapabilityProvenance → CapabilityProvenance ano Odkud pochází.
exposure Exposure → Exposure ano Kam se promítá; absence je explicitní.
dostupnost CapabilityAvailability → CapabilityAvailability ano Kde to něco znamená: klasifikováno z druhu a transportů výše, aby projekce četla pole, místo aby si rozhodovala sama.
viditelnost CapabilityVisibility → CapabilityVisibility ano Pro koho je: klasifikováno ze stejných transportů.
stabilita Stability → Stability ano Jak to stojí.
štítky array of string ne Volné tagy z tags deklarativního objektu nebo z deskriptoru.
benchmark BenchmarkPolicy → BenchmarkPolicy ano Zda je cílem měření výkonu; případy pocházejí ze vstupního typu.
cache CachePolicy → CachePolicy ano Zda executor uchovává své výsledky.
provádění ExecutionPolicy → ExecutionPolicy ano Co znamená spustit to jako provedení: klasifikováno podle druhu, aby klient četl fakt, místo aby se rozhodoval sám.
dovednost SkillExposure | null → SkillExposure ne Krátký název, kterým ji člověk vyvolá z promptu agenta, pokud ho má.

Používá capabilities.describe

CapabilityAvailability

"always" | "runtime" | "build_time" | "authenticated"
Kde schopnost něco znamená: prostředí, v němž musí volající být, aby vůbec odpověděla.

Publikovaný web a běžící server jsou skutečně různá místa. Bez toho na modelu si každá šablona vyvine vlastní představu o tom, co kde funguje — a obvyklá podoba je podmínka na vlastní adresu stránky, což je pravidlo schované tam, kde ho nikdo nenajde a nic ho nemůže otestovat. To je jediná věc, na kterou se projekce smí ptát.

Je klasifikováno, ne deklarováno: fakta, která o tom rozhodují — jaký druh věci to je a jakými transporty se promítá — už jsou na deskriptoru a žádat každou deklaraci, aby je opakovala, by znamenalo psát tutéž znalost dvakrát. Availability::classify je jediné místo, kde pravidlo žije.

  • alwaysPlatí v každém prostředí, včetně publikované stránky bez serveru: vlastní obsah vrstvy, který sestavení vykresluje a proces obsluhuje ze stejného indexu.
  • runtimeAby šlo odpovědět, musí běžet proces: vše, co má handler, ať se k němu dostaneme přes HTTP, přes MCP nebo z příkazové řádky.
  • build_timeHodnota zachycená při generování webu, později vykreslená jako zachycená. Zatím se do této třídy nic nezařazuje; deklarovat ji bude statická projekce grafu a je v modelu proto, aby zachycenou hodnotu šlo označit jako zachycenou, místo aby se zobrazovala jako aktuální.
  • authenticatedProces musí běžet a volající musí být ten, kterého ověřil. Nic v tomto repozitáři zatím volajícího neověřuje; povrch, který ano, to řekne zde, ne v šabloně, která vykresluje jeho odkaz.

Používá Capability

CapabilityList

object
Odpověď capabilities.list: odpovídající schopnosti, shrnuté, a spočítaný registr.
vlastnosttyppovinnépopis
počet integer (uint) ano Kolik schopností odpovídalo filtrům.
summary Souhrn → Summary ano Celý registr, spočítaný podle druhu, stability a projekce.
capabilities pole CapabilitySummary → CapabilitySummary ano Odpovídající schopnosti, podle id, bez jejich schémat.

Používá capabilities.list

CapabilitySummary

object
Jedna schopnost, jak ji ukazuje výpis: vše, co deskriptor říká, kromě jejích dvou schémat, na která odpovídá capabilities.describe pro jednu schopnost. Výpis registru repozitáře čítá stovky položek; jejich schémata by byla megabajty téhož objektového pohledu opakovaného dokola.
vlastnosttyppovinnépopis
id CapabilityId → CapabilityId ano Kanonická identita.
modul ModuleId → ModuleId ano Modul, který jej skládá.
druh CapabilityKind → CapabilityKind ano Dotaz, příkaz nebo zdroj.
název string ano Krátký název.
popis string ano Popis o jednom odstavci.
provenance CapabilityProvenance → CapabilityProvenance ano Odkud pochází.
exposure Exposure → Exposure ano Kde se promítá.
stabilita Stability → Stability ano Jak to stojí.
štítky array of string ne Volné štítky.
benchmark BenchmarkPolicy → BenchmarkPolicy ano Zda je cílem měření výkonu.
cache CachePolicy → CachePolicy ano Zda executor uchovává své výsledky.

Používá CapabilityList

CapabilityVisibility

"public" | "developer" | "internal"
Pro koho schopnost je a zda ji něco nabízí.

Internal je výrok, ne opomenutí: schopnost, kterou nic nepromítá, je neviditelná tak či tak a rozdíl mezi záměrným a zapomenutým je přesně to, co tento záznam zachycuje.

  • publicNabízeno každému, kdo se dostane k procesu: trasa HTTP nebo položka MCP.
  • developerNabízeno tomu, kdo spouští spustitelný soubor, a nikomu po síti.
  • internalNepromítáno nikam. Existuje, je uvedeno jako existující a žádný povrch ho nenabízí.

Používá Capability

CliExposure

object
Jak se schopnost zobrazí na příkazové řádce: slova za majordomus.
vlastnosttyppovinnépopis
path array of string ano Slova za majordomus, např. ["capabilities", "list"].

Používá Exposure

ClosureMatrix

object
Celá matice s nálezy a dluhem vedle sebe: jedna hodnota, která odpovídá na "kde se každá schopnost objevuje a je nějaké tvrzení nesplněno".
vlastnosttyppovinnépopis
řádky pole Row → Row ano Jeden řádek na schopnost, v pořadí podle id.
nepodloženo array of string ano Spustitelné příkazy příkazové řádky, které si nenárokuje žádná schopnost, v pořadí příkazů.
nezařazeno array of string ano Z nich ty, které nevysvětluje ani crate::cli::local::LOCAL: příkaz, který není projekcí schopnosti ani deklarovaným příkazem jen pro příkazovou řádku s důvodem. Prázdné je uzavření, které pravidlo žádá; cokoli tu je, je operace, která opustila API omylem, a ne rozhodnutím.

Používá capabilities.projections

ExecutionConcurrency

"unrestricted" | "serial"
Zda se dvě provedení jedné schopnosti smějí překrývat.
  • unrestrictedLibovolný počet najednou. Každé čtení je jedním z nich: index a registr jsou po dobu života procesu neměnné, takže souběžní čtenáři se nemohou rušit.
  • serialPo jednom. Druhé provedení téže schopnosti čeká na první, což je to, co schopnost, která cokoli mění — včetně paměti tohoto procesu — potřebuje, aby se o ní vůbec dalo uvažovat.

Používá ExecutionPolicy

ExecutionPolicy

object
Co znamená spuštění schopnosti jako provedení: co mění, zda žádost o zastavení něčeho dosáhne a zda se dvě z nich smějí překrývat.

Efekt a souběžnost se klasifikují z druhu pomocí ExecutionPolicy::classify, ze stejného důvodu jako Availability: fakta už jsou na deklaraci a žádat po každém bloku capability!, aby je znovu uvedl, by byla další věc, která si může sama odporovat.

Zrušitelnost je jediná věc, kterou druh nemůže rozhodnout, protože je to fakt o handleru: zda se dívá na svůj příznak zrušení a zastaví se. Handler, který to dělá, to říká pomocí crate::capability::Executable::cancellable a klient se pak dozví, zda tlačítko Zrušit něčeho dosáhne, místo aby dostal takové, které lže.

vlastnosttyppovinnépopis
účinek ExecutionEffect → ExecutionEffect ano Co mění.
zrušitelné boolean ano Zda žádost o zastavení něco udělá. Úloha sleduje svůj příznak zrušení; dotaz a příkaz ne, a klient se to dozví, místo aby dostal tlačítko, které lže.
souběžnost ExecutionConcurrency → ExecutionConcurrency ano Zda se dva z nich smějí překrývat.
signed_input boolean ne Zda vstup autentizuje svého volajícího.

Handler, jehož vstupem je podepsaná zpráva a který před jakoukoli změnou ověří podpis vůči politice důvěry, pouští volajícího dovnitř na základě tohoto podpisu, a ne podle adresy, ze které požadavek přišel. Jen takový handler mění stav pro volajícího na jiném hostiteli; viz ExecutionPolicy::admits_remote.

Používá Capability

Zpřístupnění

object
Projekce, které schopnost deklaruje. Absence je explicitní: None znamená, že tam není vystavena, a nic nedovozuje vystavení, které deskriptor nedeklaroval.
vlastnosttyppovinnépopis
mcp McpExposure | null → McpExposure ne Projekce MCP, pokud je deklarována.
http HttpExposure | null → HttpExposure ne Projekce HTTP, pokud je deklarována.
cli CliExposure | null → CliExposure ne Projekce příkazové řádky, když je deklarována.

Používá Capability CapabilitySummary

HttpExposure

object
Jak se schopnost zobrazuje přes HTTP. GET váže každou vlastnost vstupu nejvyšší úrovně jako parametr dotazu; POST váže vstup jako tělo požadavku JSON. Cesty jsou absolutní a leží pod HttpExposure::PREFIX.
vlastnosttyppovinnépopis
metoda HttpMethod → HttpMethod ano Metoda.
path string ano Absolutní cesta, pod HttpExposure::PREFIX.

Používá Exposure

HttpMethod

"GET" | "POST"
Metody HTTP, na které může být schopnost navázána.
  • GETJen pro čtení; vstup se váže z query stringu.
  • POSTVstup se váže z těla JSON. Používá ho každá mutující schopnost.

Používá HttpExposure

McpExposure

object
Jak se schopnost případně jeví klientovi MCP.
vlastnosttyppovinnépopis
nástroj string | null ne Jako nástroj s tímto jménem ([a-z0-9_]+).
zdroj McpResource | null → McpResource ne Jako čitelný zdroj.

Používá Exposure

McpResource

object
Zdroj MCP: jeho URI a krátké jméno, pod kterým ho klient vypisuje.
vlastnosttyppovinnépopis
uri string ano majordomus://<kind>/<identity> nebo majordomus://repository.
název string ano Krátké jméno, které klient vypisuje; identita pro deklarativní objekt.

Používá McpExposure

ModuleId

string
Identita modulu: jmenný prostor každé schopnosti, kterou modul skládá, odpovídající [a-z][a-z0-9_-]*. Vestavěné moduly deklarují svůj v module!; modul deklarativního objektu je jeho druh.

Používá Capability CapabilitySummary

Řádek

object
Kde je jedna schopnost promítnuta a kde není.

Toto je matice pokrytí pravidla: řádek na schopnost, sloupec na rozhraní. Odvozuje se, nikdy nezapisuje — schopnost, která nedosáhne nikam, se ukáže jako řádek samých false, což je přesně případ „existuje, ale je neviditelná“, který stojí za to vidět.

vlastnosttyppovinnépopis
id string ano Kanonické id.
modul string ano Modul, který jej skládá.
druh string ano Dotaz, příkaz nebo zdroj.
stabilita string ano Jak to stojí.
účinek ExecutionEffect → ExecutionEffect ano Co volání mění: nic, paměť tohoto procesu, nebo repozitář. Stejná klasifikace, kterou čtou všechny projekce, takže matice odpovídá na „kde je to dosažitelné“ i „čím riskuje dosažení“ v jediném řádku.
cli string | null ne Příkazový řádek, pokud jej deklaruje a clap jej má.
http string | null ne Trasa HTTP, když ji deklaruje.
mcp_tool string | null ne Název nástroje MCP, když jej deklaruje.
mcp_resource string | null ne URI zdroje MCP, pokud ho deklaruje.
uzavřeno boolean ano Zda je každá expozice, kterou tento řádek deklaruje, zodpovězena jeho povrchem.
zdroj string ano Kde je schopnost deklarována; relativně k repozitáři.

Používá ClosureMatrix

SkillExposure

object
Schopnost jako dovednost, kterou člověk vyvolá krátkým jménem z promptu agenta: /intent <sentence> v Claude Code. Jméno a jediné vstupní pole, které vyplní napsaný text, se deklarují zde, jednou; soubor, který čte produkt agenta, se z nich generuje (modul editors) a nenese žádný popis toho, co schopnost dělá, kromě popisu samotné schopnosti.

use majordomus_cli::capability::SkillExposure;
let s = SkillExposure { alias: "intent".into(), argument: "statement".into() };
assert!(s.validate().is_ok());
// a name an agent product already owns is refused, and so is one that is not a name
let taken = SkillExposure { alias: "review".into(), argument: "x".into() };
assert!(taken.validate().unwrap_err().contains("reserved"));
let shouted = SkillExposure { alias: "Intent".into(), argument: "x".into() };
assert!(shouted.validate().is_err());
vlastnosttyppovinnépopis
alias string ano Název zadaný za lomítkem: malá písmena, číslice a pomlčky, nejvýše 64.
argument string ano Vstupní pole, které doslovně vyplní text zadaný za názvem.

Používá Capability

WaiverReason

"not_executable" | "destructive" | "external_dependency" | "transient_state" | "published_history"
Proč se spustitelná schopnost neměří. Typované, aby prominutí bylo přezkoumatelné prohlášení a nikdy pohodlí; not_executable je vlastní důvod registru pro zdroje a nikdy se nepíše ručně.
  • not_executableZdroj: čte se, nikdy nespouští; není co měřit kromě objects.get, které se měří.
  • destructiveSchopnost mění něco mimo tento proces a nelze ji pouštět ve smyčce.
  • external_dependencySchopnost komunikuje s něčím, co hostitel měření výkonu nemůže poskytnout.
  • transient_stateSchopnost spouští práci, která existuje, jen dokud běží, nebo o ní odpovídá. Hostitel měření výkonu nemůže připravit provedení ke čtení a spouštění operace ve smyčce by měřilo práci, ne operaci.
  • published_historySchopnost odpovídá na to, co tento repozitář publikoval, takže jejím vstupem je release: tag verze, commit, na který ukazuje, a projekce commitnutá tam. Testovací repozitář pro měření je repozitář, který nic nepublikoval, a poctivou odpovědí v něm je odmítnutí — případ by tedy měřil chybovou cestu a nazval to pokrytím. Odlišné od WaiverReason::ExternalDependency: nic mimo tento proces se nekonzultuje, a odlišné od WaiverReason::TransientState: historie je trvalá, jen tam, kde měření běží, ještě neexistuje.

Používá BenchmarkPolicy

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