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: product

Co produkt tohoto repozitáře dělá pro člověka, jak to deklarují funkce v sekci features vrstvy: každá funkce se skládá z modulů, příkazů, druhů, pravidel, dokumentů, rozhodnutí, tvrzení, případů užití, oblastí Cockpitu a webových povrchů, které pojmenovává, s rozhraními, kterými je vystavena, každým počtem, okamžiky, na které odpovídá, a tím, co je zaručeno, vše odvozené z těchto referencí. Matice funkcí vůči rozhraním, provideři, pro které má nástroj adaptér, a vlastní validace modelu. Domovská stránka je čtenářem tohoto modulu a nedrží žádný vlastní inventář.

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.

product

Co produkt tohoto repozitáře dělá pro člověka, jak to deklarují funkce v sekci features vrstvy: každá funkce se skládá z modulů, příkazů, druhů, pravidel, dokumentů, rozhodnutí, tvrzení, případů užití, oblastí Cockpitu a webových povrchů, které pojmenovává, s rozhraními, kterými je vystavena, každým počtem, okamžiky, na které odpovídá, a tím, co je zaručeno, vše odvozené z těchto referencí. Matice funkcí vůči rozhraním, provideři, pro které má nástroj adaptér, a vlastní validace modelu. Domovská stránka je čtenářem tohoto modulu a nedrží žádný vlastní inventář.

GET /api/v1/product/domains product.domains

Domény

Těch několik věcí, které produkt řídí, každá deklarovaná jednou v sekci funkcí vrstvy se svým příslibem a selháním, na které odpovídá, a každá drží stabilní funkce, které ji jmenují: jejich rozhraní, odlišná tvrzení, případy užití, pravidla a schopnosti za nimi a provozní okamžiky, na které odpovídají, vše odvozené. Doména nevypisuje funkce; funkce jmenuje svou doménu. Výchozí je stabilní množina; pro každou doménu předejte status=any.

  • query
  • behaviorally_verified
  • vyžaduje se měření výkonu
  • cache procesu (max_entries=4)
  • nástroj MCP majordomus_product_domains
  • zdroj MCP {"name": "product-domains", "uri": "majordomus://product/domains"}
  • $ product domains

Parametry dotazu

názevtyppovinnépopispříklady
status string ne Jen domény s tímto stavem. Chybějící znamená stabilní; `any` předejte pro každou doménu, kterou model drží. any: "any"

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/product/domains?status=any"

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 DomainList Domény: 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/product/feature product.feature

Jedna funkce

Jedna funkce produktu celá: záznam tak, jak ho deklaruje jeho soubor, a vše odvozené z toho, co jmenuje — schopnosti jejích modulů s jejich nástroji, trasami a cestami příkazové řádky, příkazy s jejich shrnutími, spočítané objekty jejích druhů, pravidla s jejich třídou a tím, zda je nástroj vynucuje, dokumenty, rozhodnutí, tvrzení s jejich stavem, případy užití, oblasti Cockpit a webové povrchy s jejich trasami, momenty, na které odpovídá, a rozhraní, která to vše dohromady tvoří.

  • query
  • behaviorally_verified
  • vyžaduje se měření výkonu
  • cache procesu (max_entries=64)
  • nástroj MCP majordomus_feature
  • $ product show

Parametry dotazu

názevtyppovinnépopispříklady
id string ano Id funkce, jak ho dává `product.features`. Je to také její slug a její trasa. first-feature: "benchmarks"

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/product/feature?id=benchmarks"

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 ResolvedRefs Jedna funkce: 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/product/features product.features

Funkce

Každá funkce produktu, kterou tento repozitář deklaruje, zúžená kterýmkoli z fasetů, které model odvozuje — zvýrazněná, oblast, doména, modul, příkaz, povrch, text — s rozhraními, jimiž je zpřístupněna, počty za ní a tím, co je o ní zaručeno, z čehož nic neuvádí její soubor. Výchozí je stabilní sada; předejte status=any pro koncepty také.

  • query
  • behaviorally_verified
  • vyžaduje se měření výkonu
  • cache procesu (max_entries=32)
  • nástroj MCP majordomus_features
  • zdroj MCP {"name": "product", "uri": "majordomus://product"}
  • $ product list

Parametry dotazu

názevtyppovinnépopispříklady
zvýrazněné boolean ne Jen funkce, které úvodní stránka ukazuje. featured: true
status string ne Jen funkce s tímto stavem. Chybějící znamená stabilní; `any` předejte pro vše, co model drží.
oblast string ne Pouze funkce sloužící této provozní oblasti. by-area: "context"
doména string ne Pouze funkce zařazené pod tuto produktovou doménu. by-domain: "completion"
modul string ne Jen funkce složené z tohoto modulu schopností.
command string ne Jen funkce tvořené tímto shellovým příkazem.
povrch string ne Pouze funkce vystavené tímto povrchem: `cli`, `api`, `mcp`, `cockpit`, `docs`.
q string ne Text nerozlišující velikost písmen, porovnávaný s identitou, tituly, titulkem, shrnutím, štítky a tělem.

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/product/features?featured=true&area=context&domain=completion"

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 FeatureList Funkce: 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/product/matrix product.matrix

Funkce a rozhraní

Každá funkce proti příkazové řádce, HTTP API, MCP, Cockpitu a dokumentaci, každá značka odvozená z toho, co funkce jmenuje; pak každý vestavěný modul spustitelného souboru, každý veřejný příkaz shellového nástroje a každý druh vrstvy se stabilními funkcemi, které jej jmenují. Řádek bez funkce se ohlásí jako mezera, neskryje se.

  • query
  • behaviorally_verified
  • vyžaduje se měření výkonu
  • cache process (max_entries=2)
  • Nástroj MCP majordomus_product_matrix
  • Zdroj MCP {"name": "product-matrix", "uri": "majordomus://product/matrix"}
  • $ product matrix

Žádné parametry.

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/product/matrix"

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 Matice Funkce proti rozhraním: 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/product/providers product.providers

Poskytovatelé

Každý provider, pro který má nástroj adaptér — jeden na šablonu, kterou distribuce dodává — s bootstrapy, které jím politika tohoto repozitáře vykresluje, klientskou konfigurací, kterou nese pro sdílený server MCP, a hooky, které politika zapojuje. Množinu tvoří šablony; nic zde není seznam dodavatelů.

  • query
  • behaviorally_verified
  • vyžaduje se měření výkonu
  • cache process (max_entries=2)
  • Nástroj MCP majordomus_providers
  • Zdroj MCP {"name": "providers", "uri": "majordomus://product/providers"}
  • $ product providers

Žádné parametry.

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/product/providers"

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 ProviderList Poskytovatelé: 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/product/validate product.validate

Validovat model

Každý nález nad modelem produktu: odkaz, který nevede nikam, s nejbližším kandidátem; duplicitní identita; název souboru, který se neshoduje s jeho id; koncept, který je zvýrazněn; stabilní funkce pod svými laťkami; a každý modul, příkaz nebo druh, který nejmenuje žádná stabilní funkce. Chyby činí model neplatným; varování ne.

  • query
  • behaviorally_verified
  • vyžaduje se měření výkonu
  • cache process (max_entries=2)
  • Nástroj MCP majordomus_product_validate
  • $ product validate

Žádné parametry.

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/product/validate"

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 ProductValidationReport Validace modelu: 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.

AdrRef

object
Jedno architektonické rozhodnutí, které funkce jmenuje.
vlastnosttyppovinnépopis
id string ano Deklarované id.
název string ano Název.
status string ano proposed, accepted, superseded nebo rejected.
path string ano Cesta relativní k repozitáři.

Používá ResolvedRefs

BrowserSource

"bridge" | "none"
Whether one provider's client drives a browser in the same session as this repository's MCP server.

A bridge is the one way a single session both works on a page and reads and changes the live mesh (docs/MCP.md, "Claude in the browser"). It is a vendor capability like the two above, so it is declared with its citation; whether this machine has the bridge is a different fact, which preflight reads from the machine and never from here. A browser agent of the vendor's own — a side panel that reaches only the vendor's cloud — is not a bridge: nothing it does arrives in a session that holds this repository's server.

use majordomus_cli::share::BrowserSource;
assert_eq!(serde_json::from_str::<BrowserSource>("\"bridge\"").unwrap(), BrowserSource::Bridge);
assert!(serde_json::from_str::<BrowserSource>("\"extension\"").is_err(), "one word for it");
assert_eq!(BrowserSource::default(), BrowserSource::None, "undeclared reads as none");
assert_eq!(BrowserSource::Bridge.as_str(), "bridge");
  • bridgeThe client drives a browser through a vendor extension whose tools arrive in the same session as this repository's MCP server.
  • noneIt does not, or not in a session that holds this repository's server.

Používá ProviderOffers

CapabilityRef

object
Jedna schopnost modulu, který funkce jmenuje, s projekcemi, které pro ni registr deklaruje.
vlastnosttyppovinnépopis
id string ano Kanonické id.
název string ano Název.
druh string ano query, command nebo resource.
stabilita string ano Jak to stojí.
nástroj string | null ne Název nástroje MCP, je-li tak vystaven.
zdroj string | null ne URI zdroje MCP, pokud je jako zdroj vystaven.
route string | null ne METHOD /path, když je vystaveno přes HTTP.
cli string | null ne Slova za majordomus, když je vystavena v příkazové řádce.

Používá ModuleRef

ClaimRef

object
Jedno tvrzení, které funkce pojmenovává, se stavem, který mu matice dává.
vlastnosttyppovinnépopis
id string ano Id tvrzení.
claim string ano Věta.
status string ano guaranteed, advisory, planned nebo rejected.
test string | null ne Test, který to rozhoduje, jak jej zaznamenává docs/CLAIMS.yaml — jediné pole, které dělá z tvrzení ověřitelné místo pouze uvedeného. Chybí tam, kde tvrzení žádný nedeklaruje, a tam, kde deklaruje -: plánované nebo zamítnuté tvrzení zatím nemá co spouštět a vykreslení pomlčky jako testu by bylo projekcí, která vymýšlí důkazy.

Používá ResolvedDomain ResolvedRefs

CockpitAreaRef

object
Jedna oblast Cockpitu, kterou funkce jmenuje.
vlastnosttyppovinnépopis
id string ano Id oblasti.
název string ano Popisek, který zobrazuje Cockpit.
route string ano Trasa pod běžícím serverem.

Používá ResolvedRefs

CommandRef

object
Jeden veřejný příkaz shellového nástroje, který funkce jmenuje, jak jej deklaruje share/commands.yaml.
vlastnosttyppovinnépopis
id string ano Příkaz.
summary string ano Jedna řádka.
fáze string | null ne Fáze životního cyklu, do které patří.
read_only boolean ano Zda nic nezapisuje.

Používá ResolvedRefs

DocRef

object
Jeden dokument, který funkce jmenuje.
vlastnosttyppovinnépopis
path string ano Cesta relativní k repozitáři.
název string | null ne Název, když ho dokument má.

Používá ResolvedRefs

DomainCounts

object
Kolik stojí za doménou: součty a počty rozlišných hodnot nad jejími stabilními funkcemi.

use majordomus_cli::product::DomainCounts;
let empty = DomainCounts::default();
assert_eq!(empty.features, 0);
let v = serde_json::to_value(&empty).unwrap();
for key in ["features", "claims", "tested", "use_cases", "rules", "enforced_rules", "capabilities", "moments"] {
    assert_eq!(v[key], 0, "{key} is published, and zero for a domain nothing names");
}
vlastnosttyppovinnépopis
funkce integer (uint) ano Stabilní funkce zařazené pod ní.
tvrzení integer (uint) ano Odlišná tvrzení, která jeho funkce jmenují.
otestováno integer (uint) ano Různá tvrzení, která jsou zaručená a jmenují test, který je rozhoduje: co tvrzení deklarují, ne zda je podporuje zaznamenaný běh (tento verdikt patří knize důkazů).
use_cases integer (uint) ano Různé případy užití, které její funkce pojmenovávají.
rules integer (uint) ano Odlišná pravidla, která jeho funkce jmenují.
enforced_rules integer (uint) ano Odlišná pravidla z nich, která nástroj vynucuje.
capabilities integer (uint) ano Odlišné schopnosti za jeho funkcemi.
momenty integer (uint) ano Odlišné provozní momenty, na které jeho funkce odpovídají.

Používá ResolvedDomain

DomainList

object
Každá doména produktu, každá s tím, co dohromady dávají její funkce.
vlastnosttyppovinnépopis
schema string ano SCHEMA.
otisk string ano Hash zdrojů modelu a odvozených faktů.
počet integer (uint) ano Kolik domén je uvedeno.
domains pole typu ResolvedDomain → ResolvedDomain ano Domény v pořadí prezentace: stabilní, nebo všechny se status=any.

Používá product.domains

DomainMember

object
Jedna stabilní funkce domény, jak ji ukazuje karta.

use majordomus_cli::product::{DomainMember, Surfaces};
let m = DomainMember {
    id: "finish-contract".into(),
    label: "Finish contract".into(),
    title: "Done is a contract".into(),
    headline: "A worker does not define its own completion.".into(),
    route: "/features/finish-contract/".into(),
    featured: true,
    surfaces: Surfaces::default(),
    claims: 3,
    tested: 2,
    use_cases: 1,
};
let v = serde_json::to_value(&m).unwrap();
assert_eq!(v["tested"], 2);
assert_eq!(v["surfaces"]["cli"], false);
vlastnosttyppovinnépopis
id string ano Id funkce.
popisek string ano Jméno, které ukazuje úzký sloupec: krátký název, nebo název.
název string ano Funkce jako nadpis.
titulek string ano Příslib funkce.
route string ano /features/<id>/.
zvýrazněné boolean ano Zda ji domovská stránka ukazuje jako kapitolu.
povrchy Povrchy → Povrchy ano Rozhraní, kterými je vystavena.
tvrzení integer (uint) ano Kolik tvrzení jmenuje.
otestováno integer (uint) ano Kolik z nich je zaručeno a jmenuje test, který je rozhoduje.
use_cases integer (uint) ano Kolik případů užití ho ukazuje v použití.

Používá ResolvedDomain

DomainRef

object
Doména jako funkce na ni ukazuje: dost na drobečkovou navigaci.

use majordomus_cli::product::DomainRef;
let crumb = DomainRef {
    id: "context".into(),
    title: "Context".into(),
    route: "/domains/context/".into(),
};
let v = serde_json::to_value(&crumb).unwrap();
assert_eq!(v["route"], "/domains/context/");
assert_eq!(serde_json::from_value::<DomainRef>(v).unwrap(), crumb);
vlastnosttyppovinnépopis
id string ano Id domény.
název string ano Doména jako nadpis.
route string ano /domains/<id>/.

Používá ResolvedRefs

EpisodeSource

"hooks" | "connection" | "none"
Jak lze vést hranici epizody pro jednoho providera.

Tři slova, protože tři věci platí o různých poskytovatelích a jejich sloučení do „podporováno / nepodporováno“ je to, co umožnilo, aby tento nástroj hlásil jednoho poskytovatele a mlčel o pěti dalších. Poskytovatel, který spouští vlastní události, není totéž co ten, který žádné nespouští, ale mluví MCP, a ani jeden není totéž co ten, který nemůže nic.

Slova jsou slova samotné deklarace a slovo mimo ně je odmítnuto, ne čteno jako none:

use majordomus_cli::share::EpisodeSource;
let read: EpisodeSource = serde_json::from_str("\"connection\"").unwrap();
assert_eq!(read, EpisodeSource::Connection);
assert_eq!(EpisodeSource::default(), EpisodeSource::None, "undeclared reads as none");
assert!(serde_json::from_str::<EpisodeSource>("\"hook\"").is_err(), "hooks, plural");
  • hooksPoskytovatel sám vyvolává své události relace a hook, který tento nástroj instaluje, z nich kreslí hranici. Nejsilnější podoba: vidí okno, které někdo zavřel.
  • connectionProvider nevyvolává žádnou událost relace, ale jeho klient se připojuje ke sdílenému MCP serveru tohoto repozitáře a hranicí je spojení (ADR 0103).
  • noneAni jedno. Nic nedokáže říct, kdy epizoda tohoto poskytovatele začala nebo skončila, a nástroj to hlásí, místo aby naznačoval schopnost, kterou nikdo nemá.

Používá ProviderOffers

FeatureCounts

object
Kolik stojí za funkcí, každé číslo odvozeno.
vlastnosttyppovinnépopis
capabilities integer (uint) ano Vestavěné schopnosti modulů, které pojmenovává.
mcp_tools integer (uint) ano mezi nimi nástroje MCP.
mcp_resources integer (uint) ano MCP zdroje mezi nimi, plus jeden na každý objekt jím jmenovaných druhů.
http_routes integer (uint) ano Z nich HTTP routy.
cli_paths integer (uint) ano Mezi nimi cesty příkazové řádky spustitelného souboru.
commands integer (uint) ano Veřejné příkazy shellového nástroje, které jmenuje.
objekty integer (uint) ano Objekty druhů, které jmenuje.
rules integer (uint) ano Pravidla, která jmenuje.
enforced_rules integer (uint) ano Pravidla, která nástroj mezi nimi vynucuje.
dokumentace integer (uint) ano Dokumenty, které jmenuje.
adr integer (uint) ano Rozhodnutí, která jmenuje.
tvrzení integer (uint) ano Tvrzení, která pojmenovává.
use_cases integer (uint) ano Případy užití, které jmenuje.
momenty integer (uint) ano Okamžiky, na které odpovídá.

Používá FeatureSummary ResolvedRefs

FeatureEvidence

object
Co je o funkci zaručeno, počítáno z tvrzení, která jmenuje: nikdy slovo, které o zralosti funkce napsal člověk.
vlastnosttyppovinnépopis
tvrzení mapa celých čísel (uint) ano Tvrzení podle stavu: guaranteed, advisory, planned, rejected.
moduly mapa celých čísel (uint) ano Moduly, které jmenuje podle stability.

Používá FeatureSummary ResolvedDomain ResolvedRefs

FeatureList

object
Funkce tak, jak je čte klient.
vlastnosttyppovinnépopis
schema string ano SCHEMA.
otisk string ano Hash zdrojů modelu a odvozených faktů.
počty ProductCounts → ProductCounts ano Počty.
povrchy pole SurfaceInfo → SurfaceInfo ano Slovník povrchů s počtem stabilních funkcí, které každý vystavuje.
funkce pole FeatureSummary → FeatureSummary ano Odpovídající funkce v pořadí prezentace.

Používá product.features

FeatureSummary

object
Jedna funkce tak, jak ji ukazuje výpis: vše, co karta potřebuje, a nic, co potřebuje stránka.
vlastnosttyppovinnépopis
id string ano Identita a slug.
název string ano Funkce jako nadpis.
popisek string ano Jméno, které ukazuje úzký sloupec: krátký název, nebo název.
titulek string ano Slib, který návštěvník čte jako první.
summary string ano Jeden řádek: co dělá.
status string ano stable, draft nebo deprecated.
váha integer (uint32) ano Pořadí zobrazení.
zvýrazněné boolean ano Zda ji ukazuje domovská stránka.
doména string | null ne Doména produktu, do níž patří, když nějakou uvádí.
areas array of string ano Provozní oblasti, které obsluhuje.
audiences array of string ano Publikum, pro které je psáno.
štítky array of string ano Volné štítky.
route string ano Odvozeno: /features/<id>/.
povrchy Povrchy → Povrchy ano Odvozeno: rozhraní, přes která je zpřístupněno.
počty FeatureCounts → FeatureCounts ano Odvozeno: kolik toho za tím stojí.
evidence FeatureEvidence → FeatureEvidence ano Odvozeno: co je zaručeno.

Používá FeatureList

KindRef

object
Jeden druh objektu, který funkce pojmenovává, s počtem objektů tohoto druhu, které vrstva drží.
vlastnosttyppovinnépopis
název string ano Druh.
objekty integer (uint) ano Objekty tohoto druhu v indexu.

Používá ResolvedRefs

Matice

object
Každá funkce proti každému rozhraní a každý modul, příkaz a druh proti funkcím, které je jmenují.
vlastnosttyppovinnépopis
schema string ano SCHEMA.
povrchy pole SurfaceInfo → SurfaceInfo ano Slovník povrchů.
řádky pole MatrixRow → MatrixRow ano Jeden řádek na funkci s libovolným stavem kromě deprecated, v pořadí prezentace.
moduly pole ProductCoverage → ProductCoverage ano Každý vestavěný modul spustitelného souboru se stabilními funkcemi, které jej jmenují.
commands pole ProductCoverage → ProductCoverage ano Každý veřejný příkaz nástroje shell se stabilními funkcemi, které jej jmenují.
kinds pole ProductCoverage → ProductCoverage ano Každý druh vrstvy, který může funkce představovat, se stabilními funkcemi, které jej jmenují.

Používá product.matrix

MatrixRow

object
Jeden řádek matice: funkce a povrchy, jimiž je vystavena.
vlastnosttyppovinnépopis
id string ano Id funkce.
popisek string ano Jméno, které ukazuje úzký sloupec.
route string ano /features/<id>/.
status string ano stable nebo draft.
povrchy Povrchy → Povrchy ano Povrchy podle id, v pořadí slovníku.
zveřejněno array of string ano Id povrchů, která jsou pravdivá.
prokázáno integer (uint) ano Kolik z tvrzení, která tato funkce jmenuje, je zaručeno a jmenuje test, který je rozhoduje. Sloupec povrchu říká, kde je funkce dosažitelná; toto říká, co z ní je prokázáno, a to je otázka, kterou si čtenář tabulky shody skutečně klade.
tvrzení integer (uint) ano Kolik tvrzení vůbec jmenuje, takže proven má svého jmenovatele vedle sebe, a ne v jiné tabulce.

Používá Matrix

ModuleRef

object
Jeden modul schopností, který funkce jmenuje.
vlastnosttyppovinnépopis
id string ano Id modulu.
název string ano Krátký název.
popis string ano Jeden odstavec.
stabilita string | null ne Kde modul stojí, když to deklaroval.
source_path string ano Cesta relativní k repozitáři k souboru, ve kterém byly složeny jeho deskriptory.
capabilities pole CapabilityRef → CapabilityRef ano Vestavěné schopnosti, které skládá, v pořadí podle id.

Používá ResolvedRefs

MomentRef

object
Jeden provozní okamžik, na který funkce odpovídá: odvozeno z okamžiků, které jmenují kterýkoli z příkazů, schopností, tvrzení nebo pravidel funkce.
vlastnosttyppovinnépopis
id string ano Id momentu.
název string ano Název.
hook string ano Řádek v první osobě, který index ukazuje.
route string ano /why/<id>/.

Používá ResolvedDomain ResolvedRefs

ProductCounts

object
Kolik toho model drží. Každý počet kdekoli je jedním z těchto.
vlastnosttyppovinnépopis
funkce integer (uint) ano Stabilní funkce.
features_all integer (uint) ano Funkce každého stavu, včetně konceptů.
zvýrazněné integer (uint) ano Stabilní funkce, které ukazuje domovská stránka.
providers integer (uint) ano Poskytovatelé, pro které má nástroj adaptér.
moduly integer (uint) ano Vestavěné moduly spustitelného souboru a kolik jich stabilní funkce jmenuje.
modules_covered integer (uint) ano Moduly, které jmenuje stabilní funkce.
commands integer (uint) ano Veřejné příkazy shellového nástroje.
commands_covered integer (uint) ano Příkazy, které stabilní funkce jmenuje.
kinds integer (uint) ano Druhy vrstvy, které může funkce představovat.
kinds_covered integer (uint) ano Druhy, které stabilní funkce jmenuje.

Používá FeatureList ProductValidationReport

ProductCoverage

object
Jedna věc produktu — modul, veřejný příkaz, druh — a funkce, které ji jmenují. Prázdné znamená, že stránka produktu o ní nic neříká, což je mezera, kterou validace hlásí a matice ukazuje, ne skrývá.
vlastnosttyppovinnépopis
id string ano Id.
název string ano Název.
funkce array of string ano Stabilní funkce, které ji jmenují.

Používá Matrix

ProductFinding

object
Jedna věc v produktovém modelu, která je špatně, pojmenovaná tam, kde je, s nejbližším kandidátem, pokud existuje.
vlastnosttyppovinnépopis
závažnost Závažnost → Závažnost ano error nebo warning.
kód string ano unknown_reference, duplicate_identity, missing_content, uncovered, ...
path string ano Soubor relativní k repozitáři, v němž je nález, nebo registr, o němž je.
id string | null ne Identita záznamu, když zjištění vlastní jeden záznam.
pole string | null ne Klíč front matter, ke kterému se nález vztahuje, pokud ho vlastní jediný klíč.
zpráva string ano Co je špatně, jednou větou.
did_you_mean string | null ne Nejbližší existující název, když hodnota vypadá jako překlep jednoho z nich.

Používá ProductValidationReport

ProductProvider

object
Jeden poskytovatel, pro nějž má nástroj adaptér, objevený ze šablon, které distribuce dodává, a doplněný tím, co s ním tento repozitář dělá.
vlastnosttyppovinnépopis
id string ano Id poskytovatele: kmen názvu souboru šablony.
název string ano Jméno, pod kterým to člověk zná.
bootstrapy pole ProviderBootstrap → ProviderBootstrap ano Bootstrapy, které se politika tohoto repozitáře přes něj vykresluje: cíl, režim, zda ho načítá každý worker.
client_config string | null ne Konfigurace klienta v kořeni repozitáře, která spouští sdílený server MCP pro tohoto poskytovatele, pokud ji repozitář nese.
hooky array of string ano Záznamy vynucování politiky zapojené hooky tohoto poskytovatele.
scratch_roots array of string ne Pracovní kořeny, pod nimiž tento provider vytváří vlastní checkouty, jak jsou deklarovány: topologie worktrees hlásí checkout tam jako pracovní checkout relace a nikdy jej nepřesouvá (ADR 0024).
nabízí ProviderOffers → ProviderOffers ne Co dokáže ohledně životního cyklu relace a kde byla každá odpověď ověřena (share/providers.yaml, ADR 0103). Schopnost, nikoli zapojení: hooks říká, že vendor vyvolává události relace, ne že tento repozitář cokoli nainstaloval, aby je přijímalo. Druhá polovina — co je zde zapojeno a zda jeho spuštění cokoli vyprodukovalo — je majordomus capture status, který čte tutéž deklaraci a spojuje ji se stromem. Zde se neopakuje, protože jen nástroj shellu drží tabulku adaptérů a umí spustit shim, a druhý účet, který by nedokázal správně spočítat, je horší než o jednoho čtenáře víc.

Používá ProviderList

ProductValidationReport

object
Co zjistila vlastní validace modelu.
vlastnosttyppovinnépopis
platné boolean ano Pravda, když nic není chyba. Varování ji nezneplatňují.
chyby integer (uint) ano Kolik zjištění jsou chyby.
varování integer (uint) ano Kolik zjištění jsou varování.
počty ProductCounts → ProductCounts ano Počty, ke kterým model dospěl.
zjištění pole ProductFinding → ProductFinding ano Nálezy, nejprve chyby, potom podle souboru.

Používá product.validate

PromptSource

"hook" | "none"
Zda lze surový prompt osoby zachytit pod modelem pro jednoho poskytovatele.

Není tu žádné connection a nesmí být: MCP serveru se předávají volání nástrojů, nikdy prompt, který je vyvolal. Zachycení promptu je specifické pro poskytovatele a deklarace to říká, místo aby předstírala, že je může nahradit spojení.

use majordomus_cli::share::PromptSource;
assert_eq!(serde_json::from_str::<PromptSource>("\"hook\"").unwrap(), PromptSource::Hook);
assert!(serde_json::from_str::<PromptSource>("\"connection\"").is_err(),
        "no connection can observe a prompt");
assert_eq!(PromptSource::default(), PromptSource::None);
  • hookProvider předá surový prompt příkazu dřív, než model běží.
  • noneNe. Nic, co tento nástroj umí, nečiní prompt pozorovatelným.

Používá ProviderOffers

ProviderBootstrap

object
Jeden bootstrap, který poskytovatel vykresluje.
vlastnosttyppovinnépopis
cíl string ano Cílový soubor, relativně k repozitáři.
režim string ano file nebo region.
always_loaded boolean ano Načítá každý pracovník, aniž by se ptal.

Používá ProductProvider

ProviderList

object
Každý poskytovatel.
vlastnosttyppovinnépopis
počet integer (uint) ano Kolik.
providers pole ProductProvider → ProductProvider ano Každý, v pořadí podle id.

Používá product.providers

ProviderOffers

object
Co může jeden poskytovatel udělat s životním cyklem relace a kde to bylo ověřeno.

Každá buňka nese své důkazy. Schopnost tvrzená bez citace je vada, již tento typ má znemožnit: dříve byl poskytovatel chybějící v shellové tabulce tiše nepodporovaný a poskytovatel v ní přítomný tiše schopný a žádný povrch nemohl čtenáři říct, z jaké stránky dodavatele která odpověď pochází — capture status vyjmenoval jediného poskytovatele, který měl adaptér, a o ostatních pěti, které tato distribuce deklaruje, neříkal vůbec nic. Pravidlo project.a-provider-capability-cites-its-evidence odmítne deklaraci bez ní.

Poskytovatel, který nedeklaruje nic, je none na obou osách s prázdnými důkazy — stav, který to pravidlo odmítá, takže mezera je zjištěním, a ne tiché „nepodporováno“:

use majordomus_cli::share::{EpisodeSource, PromptSource, ProviderOffers};
let undeclared = ProviderOffers::default();
assert_eq!((undeclared.episode, undeclared.prompts), (EpisodeSource::None, PromptSource::None));
assert!(undeclared.episode_evidence.is_empty() && undeclared.prompts_evidence.is_empty());
let generic: ProviderOffers = serde_json::from_value(serde_json::json!({
    "episode": "connection", "episode_evidence": "ADR 0103",
    "prompts": "none", "prompts_evidence": "MCP carries no prompt",
})).unwrap();
assert_eq!(generic.episode, EpisodeSource::Connection);
vlastnosttyppovinnépopis
epizoda EpisodeSource → EpisodeSource ano Jak se pro tohoto poskytovatele vede hranice epizody.
episode_evidence string ano Kde bylo episode ověřeno: URL dokumentace dodavatele, nebo prohlášení, že žádná taková dokumentace neexistuje, a co se v ní hledalo.
prompty PromptSource → PromptSource ano Zda lze surový prompt zachytit pod modelem.
prompts_evidence string ano Kde bylo prompts ověřeno, za stejných podmínek jako episode_evidence.
prohlížeč BrowserSource → BrowserSource ne Whether the client drives a browser beside this repository's server. Absent in a value written before the axis existed, and read as none there.
browser_evidence string ne Kde bylo browser ověřeno, za stejných podmínek jako episode_evidence.
browser_host string | null ne The native messaging host a bridge registers with the browser, which is how a machine is seen to have it. Declared for a bridge only.
browser_setup string | null ne What a person does, once, to install the bridge on a machine, in the vendor's terms. Declared for a bridge only.

Používá ProductProvider

ResolvedDomain

object
Jedna doména, rozřešená: záznam tak, jak ho deklaruje jeho soubor, a vše odvozené ze stabilních funkcí, které ji pojmenovávají.

Deklarovaný záznam je zploštěn, takže čtenář vidí jeden objekt: vlastní pole domény vedle jejích odvozených členů a počtů.

use majordomus_cli::product::{Domain, DomainCounts, FeatureEvidence, ResolvedDomain, Surfaces};
let domain: Domain = serde_json::from_value(serde_json::json!({
    "id": "context", "title": "Context", "status": "stable",
    "headline": "h", "problem": "p",
}))
.unwrap();
let resolved = ResolvedDomain {
    domain,
    features: vec![],
    surfaces: Surfaces::default(),
    moments: vec![],
    claim_refs: vec![],
    use_case_refs: vec![],
    counts: DomainCounts::default(),
    evidence: FeatureEvidence::default(),
};
let v = serde_json::to_value(&resolved).unwrap();
assert_eq!(v["id"], "context", "the record is flattened into the resolved view");
assert_eq!(v["counts"]["features"], 0);
vlastnosttyppovinnépopis
id string ano Identita, slug a název souboru.
název string ano Doména jako nadpis: jedno slovo nebo dvě.
titulek string ano Co s touto doménou produkt dělá, jednou větou.
problém string ano Provozní selhání, na které tato doména odpovídá, jednou větou.
status string ano stable, draft nebo deprecated.
váha integer (uint32) ne Pořadí zobrazení, nejnižší první.
štítky array of string ne Volné štítky.
route string ne Odvozeno: /domains/<id>/. Nikdy se nepíše; schéma odmítne klíč route.
zdroj string ne Odvozeno: soubor relativní k repozitáři, ze kterého záznam pochází.
tělo string ne Tělo v Markdownu, bez front matter.
funkce pole DomainMember → DomainMember ano Odvozeno: stabilní funkce, které ji jmenují, v prezentačním pořadí.
povrchy Povrchy → Povrchy ano Odvozeno: rozhraní, kterými je vystavena kterákoli z jeho funkcí.
momenty pole MomentRef → MomentRef ano Odvozeno: provozní okamžiky, na které jeho funkce odpovídají, v pořadí katalogu.
claim_refs pole ClaimRef → ClaimRef ano Odvozeno: odlišná tvrzení, která jmenují její funkce, s jejich stavem a testem.
use_case_refs pole UseCaseRef → UseCaseRef ano Odvozeno: rozlišné případy užití, které jmenují její funkce.
počty DomainCounts → DomainCounts ano Odvozeno: kolik toho za tím stojí.
evidence FeatureEvidence → FeatureEvidence ano Odvozeno: co je zaručeno, podle stavu tvrzení.

Používá DomainList

ResolvedRefs

object
Jedna funkce, vyřešená: záznam tak, jak ho deklaruje jeho soubor, a vše odvozené.
vlastnosttyppovinnépopis
id string ano Identita, slug a název souboru.
název string ano Funkce jako nadpis.
short_title string | null ne Dvě nebo tři slova pro kartu nebo řádek matice.
titulek string ano Slib, který návštěvník čte jako první.
summary string ano Jeden řádek: co dělá.
status string ano stable, draft nebo deprecated.
váha integer (uint32) ne Pořadí zobrazení, nejnižší první.
zvýrazněné boolean ne Zda ji domovská stránka ukazuje jako kapitolu.
doména string | null ne Doména produktu, do které patří, podle id: právě jedna. Redakční; členové domény se odvozují z tohoto pole a nejsou uvedeni nikde jinde.
areas array of string ne Provozní oblasti katalogu proč, které poskytuje.
audiences array of string ne Publikum katalogu why, pro které je napsán.
moduly array of string ne Moduly schopností spustitelného souboru, z nichž je složen.
commands array of string ne Veřejné příkazy shellového nástroje, z něhož se skládá.
kinds array of string ne Druhy objektů vrstvy, z níž se skládá.
rules array of string ne Pravidla efektivní množiny, která jej řídí, podle id bez verze.
dokumentace array of string ne Dokumenty, které to vysvětlují, podle cesty relativní k repozitáři.
adr array of string ne Rozhodnutí za ním, podle deklarovaného id.
tvrzení array of string ne Tvrzení, která říkají, co je zde zaručeno.
use_cases array of string ne Případy užití, které to ukazují v používání.
cockpit array of string ne Oblasti Cockpitu, které to ukazují.
web array of string ne Webové povrchy topologie, jimiž je nabízen.
související array of string ne Funkce výslovně související s touto. Opačný směr se odvozuje.
štítky array of string ne Volné štítky.
route string ne Odvozeno: /features/<id>/. Nikdy se nepíše; schéma odmítne klíč route.
zdroj string ne Odvozeno: soubor relativní k repozitáři, ze kterého záznam pochází.
tělo string ne Tělo v Markdownu, bez front matter.
povrchy Povrchy → Povrchy ano Odvozeno: rozhraní, přes která je zpřístupněno.
module_refs pole ModuleRef → ModuleRef ano Odvozeno: moduly, které jmenuje, každý se svými schopnostmi a jejich projekcemi.
command_refs pole CommandRef → CommandRef ano Odvozeno: shellové příkazy, které jmenuje, tak, jak je deklaruje registr příkazů.
kind_refs pole KindRef → KindRef ano Odvozeno: druhy, které pojmenovává, každý s počtem objektů.
rule_refs pole RuleRef → RuleRef ano Odvozeno: pravidla, která jmenuje, každé se svou třídou a tím, zda je vynucováno.
doc_refs pole DocRef → DocRef ano Odvozeno: dokumenty, které jmenuje, s jejich názvy.
adr_refs pole AdrRef → AdrRef ano Odvozeno: rozhodnutí, která pojmenovává, s jejich stavem.
claim_refs pole ClaimRef → ClaimRef ano Odvozeno: tvrzení, která jmenuje, s jejich stavem.
use_case_refs pole UseCaseRef → UseCaseRef ano Odvozeno: případy užití, které pojmenovává.
cockpit_refs pole CockpitAreaRef → CockpitAreaRef ano Odvozeno: oblasti Cockpitu, které pojmenovává, s jejich trasami.
web_refs pole SurfaceRef → SurfaceRef ano Odvozeno: webové povrchy, které jmenuje, s jejich mounty.
momenty pole MomentRef → MomentRef ano Odvozeno: okamžiky, které jmenují jakýkoli příkaz, schopnost, tvrzení nebo pravidlo této funkce.
zpětné odkazy array of string ano Odvozeno: funkce, které tuto jmenují ve svém related.
počty FeatureCounts → FeatureCounts ano Odvozeno: kolik toho za tím stojí.
evidence FeatureEvidence → FeatureEvidence ano Odvozeno: co je zaručeno.
domain_ref DomainRef | null → DomainRef ne Odvozeno: doména, kterou pojmenovává jeho domain, s názvem a route, pokud se vyhodnotí. Chybí u funkce, která žádnou nepojmenovává nebo pojmenovává neexistující.

Používá product.feature

RuleRef

object
Jedno pravidlo, které funkce jmenuje.
vlastnosttyppovinnépopis
id string ano ID pravidla, bez verze.
identity string ano Identita, kterou index drží, s verzí.
název string ano Název.
třída string ano blocking nebo advisory.
vynuceno boolean ano Zda o tom rozhoduje stroj: blok pojmenovává validátor nebo testy, nejen důvod, který posuzuje člověk.
path string ano Cesta relativní k repozitáři.

Používá ResolvedRefs

SurfaceInfo

object
Jeden povrch slovníku, jak ho čte klient.
vlastnosttyppovinnépopis
id string ano cli, api, mcp, cockpit nebo docs.
název string ano Název, který člověk čte.
route string ano Cesta na webu, kde je plocha zdokumentována.
funkce integer (uint) ano Kolik stabilních funkcí zpřístupňuje.

Používá FeatureList Matrix

SurfaceRef

object
Jeden webový povrch topologie, který funkce jmenuje.
vlastnosttyppovinnépopis
id string ano Id povrchu.
název string ano Název.
mount string ano Kde je připojen.
kategorie string ano K čemu slouží.

Používá ResolvedRefs

Povrchy

object
Rozhraní, kterými je funkce zpřístupněna, určená z toho, co její odkazy promítají, a z ničeho, co říká soubor. Každé je skutečnost s důvodem, který si čtenář může ověřit: cli platí, když modul funkce má schopnost s cestou v příkazové řádce nebo funkce jmenuje shellový příkaz; api, když modul má HTTP routu; mcp, když modul má nástroj nebo zdroj MCP, nebo funkce jmenuje druh, protože každý objekt vrstvy je zdrojem MCP; cockpit, když funkce jmenuje oblast Cockpitu nebo modul, protože každá schopnost má stránku v Cockpitu; docs, když jmenuje dokument.
vlastnosttyppovinnépopis
cli boolean ano Příkazový řádek: vlastní spustitelného souboru, nebo shellového nástroje.
api boolean ano Trasy HTTP pod /api/v1/ a dokument OpenAPI nad nimi.
mcp boolean ano MCP: nástroj, nebo zdroj.
cockpit boolean ano Cockpit.
dokumentace boolean ano Dokumentace.

Používá DomainMember FeatureSummary MatrixRow ResolvedDomain ResolvedRefs

UseCaseRef

object
Jeden případ užití, který funkce jmenuje.
vlastnosttyppovinnépopis
id string ano Id případu užití.
název string ano Název.
kategorie string | null ne Kategorie, pod kterou je zařazeno.

Používá ResolvedDomain ResolvedRefs

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