served.forge
Zeptá se forgeu, přes jeho vlastní nástroj příkazové řádky a s přihlašovacími údaji volajícího, na nejnovější nasazení do každého prostředí a nejnovější releasy, jedním dotazem, a odpověď zapíše do lokálního stavu checkoutu, který čte `deploy.observed`. Skončí s kódem 0, pokud forge odpověděl a odpověď se zapsala, a s kódem 12, pokud se ho nepodařilo zeptat (chybí nástroj, přihlašovací údaje, síť nebo repozitář, který forge nezná): platí to, co bylo zapsáno dříve, i s jeho stářím.
Zeptá se forgeu, přes jeho vlastní nástroj příkazové řádky a s přihlašovacími údaji volajícího, na nejnovější nasazení do každého prostředí a nejnovější releasy, jedním dotazem, a odpověď zapíše do lokálního stavu checkoutu, který čte `deploy.observed`. Skončí s kódem 0, pokud forge odpověděl a odpověď se zapsala, a s kódem 12, pokud se ho nepodařilo zeptat (chybí nástroj, přihlašovací údaje, síť nebo repozitář, který forge nezná): platí to, co bylo zapsáno dříve, i s jeho stářím.
- command
- behaviorally_verified
- module served
- #deployment
- #evidence
- #forge
Zpřístupnění
Kde je tato jedna definice dosažitelná. Absence je explicitní: povrch, který není uveden, ji nenese.
| povrch | jako |
|---|---|
| MCP | — |
| HTTP | — |
| příkazová řádka | majordomus served forge |
Schémata
Kanonický vstup a výstup z typů Rustu; schéma nástroje MCP a parametry a odpovědi OpenAPI se odvozují z nich.
vstup · Prázdné
Žádné vlastnosti: schopnost nebere žádný vstup.
JSON Schema
{
"additionalProperties": false,
"description": "No input.",
"title": "Empty",
"type": "object"
}output · ForgeObserved
served.forge dospělo: zda forge odpověděl a co jeho odpověď obsahovala. Samotná odpověď se čte přes deploy.observed; toto je stvrzenka o tom, že se zeptalo.
use majordomus_cli::capability::builtin::served::ForgeObserved;
// a forge that could not be asked is said, with the reason, and is exit 12: not answered
let json = r#"{"observed":false,"reason":"gh repo view failed: no network",
"deployments":0,"releases":0,"environments":0,"exit_code":12}"#;
let got: ForgeObserved = serde_json::from_str(json).unwrap();
assert!(!got.observed);
assert_eq!(got.exit_code, 12);
assert!(got.repository.is_none());| vlastnost | typ | povinné | popis |
|---|---|---|---|
| nasazení | integer | ano | Kolik nasazení odpověď držela. |
| prostředí | integer | ano | Do kolika prostředí tyto deploymenty šly. |
| exit_code | integer | ano | Exit stav, který hlásí příkazová řádka: 0 pozorováno, 12 nezodpovězeno. |
| pozorováno | boolean | ano | Zda forge odpověděl a odpověď byla zaznamenána. |
| observed_at | string | null | ne | Kdy se forge zeptali, RFC 3339. |
| důvod | string | null | ne | Proč ne, slovy toho, co odmítlo; chybí, když odpovědělo. |
| releases | integer | ano | Kolik releasů odpověď obsahovala. |
| repozitář | string | null | ne | owner/name, tak jak forge repozitář pojmenoval. |
JSON Schema
{
"description": "What `served.forge` came to: whether the forge answered, and what its answer held. The\nanswer itself is read through `deploy.observed`; this is the receipt of having asked.\n\n```\nuse majordomus_cli::capability::builtin::served::ForgeObserved;\n// a forge that could not be asked is said, with the reason, and is exit 12: not answered\nlet json = r#\"{\"observed\":false,\"reason\":\"gh repo view failed: no network\",\n \"deployments\":0,\"releases\":0,\"environments\":0,\"exit_code\":12}\"#;\nlet got: ForgeObserved = serde_json::from_str(json).unwrap();\nassert!(!got.observed);\nassert_eq!(got.exit_code, 12);\nassert!(got.repository.is_none());\n```",
"properties": {
"deployments": {
"description": "How many deployments the answer held.",
"format": "uint",
"minimum": 0,
"type": "integer"
},
"environments": {
"description": "How many environments those deployments went to.",
"format": "uint",
"minimum": 0,
"type": "integer"
},
"exit_code": {
"description": "The exit status the command line reports: 0 observed, 12 not answered.",
"format": "int32",
"type": "integer"
},
"observed": {
"description": "Whether the forge answered and the answer was recorded.",
"type": "boolean"
},
"observed_at": {
"description": "When the forge was asked, RFC 3339.",
"type": [
"string",
"null"
]
},
"reason": {
"description": "Why not, in the words of whatever refused; absent when it answered.",
"type": [
"string",
"null"
]
},
"releases": {
"description": "How many releases the answer held.",
"format": "uint",
"minimum": 0,
"type": "integer"
},
"repository": {
"description": "`owner/name`, as the forge named the repository.",
"type": [
"string",
"null"
]
}
},
"required": [
"observed",
"deployments",
"releases",
"environments",
"exit_code"
],
"title": "ForgeObserved",
"type": "object"
}Politiky
- benchmark
- waived — prominuto: external_dependency
- cache
- vypnuto — každé volání spustí handler
Cíle benchmarku
Odvozeno z registru pro tento repozitář: jeden požadavek na transport a případy, které poskytuje typ vstupu. Celá matice je na stránce měření výkonu.
| transport | state | případy | targets |
|---|---|---|---|
| direct | prominuto (external_dependency) | 0 |