reasoning.check
Spustitelná polovina pravidel advisors-are-optional a review-is-recorded-not-claimed: katalog poradců se vyřeší proti tabulce providerů a katalogu modelů; každý adaptér, který pojmenovává, má svůj transportní modul; žádný zdroj nezávislý na provideru nepojmenovává poradce; žádný CI workflow ani kontrola nepojmenovává přihlašovací údaj modelu; žádný dokument netvrdí odmítnuté tvrzení; každá uložená konzultace pojmenovává poradce, kterého její plán vybral, a revize každého závěru odpovídá tomu, co cituje. Kontroly CI a tvrzení posuzují, co říkají vlastní workflow a dokumenty tohoto repozitáře, takže platí jen tam, kde je pravidlo advisors-are-optional deklarováno; adopter se poměřuje tím, co přijal.
Spustitelná polovina pravidel advisors-are-optional a review-is-recorded-not-claimed: katalog poradců se vyřeší proti tabulce providerů a katalogu modelů; každý adaptér, který pojmenovává, má svůj transportní modul; žádný zdroj nezávislý na provideru nepojmenovává poradce; žádný CI workflow ani kontrola nepojmenovává přihlašovací údaj modelu; žádný dokument netvrdí odmítnuté tvrzení; každá uložená konzultace pojmenovává poradce, kterého její plán vybral, a revize každého závěru odpovídá tomu, co cituje. Kontroly CI a tvrzení posuzují, co říkají vlastní workflow a dokumenty tohoto repozitáře, takže platí jen tam, kde je pravidlo advisors-are-optional deklarováno; adopter se poměřuje tím, co přijal.
- query
- experimentální
- module reasoning
- #reasoning
- #governance
Zpřístupnění
Kde je tato jedna definice dosažitelná. Absence je explicitní: povrch, který není uveden, ji nenese.
| povrch | jako |
|---|---|
| MCP | nástroj majordomus_reasoning_check |
| HTTP | GET /api/v1/reasoning/check operationId reasoning.check |
| příkazová řádka | majordomus reasoning check |
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"
}výstup · ReasoningCheck
reasoning.check: zda je čistý, provedené kontroly v pořadí a každý nález. ok je true právě tehdy, když je findings prázdné.
use majordomus_cli::capability::builtin::reasoning::ReasoningCheck;
let clean: ReasoningCheck = serde_json::from_value(serde_json::json!({
"ok": true, "checks": ["catalogue"], "findings": [],
})).unwrap();
assert!(clean.ok && clean.findings.is_empty());
assert_eq!(clean.checks, ["catalogue"]);| vlastnost | typ | povinné | popis |
|---|---|---|---|
| kontroly | array | ano | Provedené kontroly, v pořadí. |
| zjištění | array | ano | Co našly. |
| ok | boolean | ano | Žádný nález. |
JSON Schema
{
"$defs": {
"ReasoningFinding": {
"description": "One finding of a reasoning check: which check, where, and what is wrong.\n\n`check` is one of `CHECKS`; `subject` is a repository-relative path, a record id or\nan advisor; `message` is one sentence saying what the rule refuses. Findings are\nreported, never repaired.\n\n```\nuse majordomus_cli::reasoning::catalogue::{AdvisorCatalogue, References};\nuse majordomus_cli::reasoning::check::{run, ReasoningFinding, CHECKS};\nuse majordomus_cli::reasoning::store::Loaded;\n\nlet root = tempfile::tempdir().unwrap();\nlet loaded = Loaded { records: vec![], unreadable: vec![\"t/broken.json\".into()] };\nlet found = run(root.path(), &AdvisorCatalogue::default(), &References::default(), &loaded);\nlet expected = ReasoningFinding {\n check: \"records\".into(),\n subject: \"t/broken.json\".into(),\n message: \"a reasoning record that does not parse\".into(),\n};\nassert_eq!(found, [expected]);\nassert!(CHECKS.contains(&found[0].check.as_str()));\n```",
"properties": {
"check": {
"description": "The check that found it.",
"type": "string"
},
"message": {
"description": "What is wrong.",
"type": "string"
},
"subject": {
"description": "Where: a file, a record, an advisor.",
"type": "string"
}
},
"required": [
"check",
"subject",
"message"
],
"type": "object"
}
},
"description": "The answer of `reasoning.check`: whether it is clean, the checks performed in order,\nand every finding. `ok` is `true` exactly when `findings` is empty.\n\n```\nuse majordomus_cli::capability::builtin::reasoning::ReasoningCheck;\n\nlet clean: ReasoningCheck = serde_json::from_value(serde_json::json!({\n \"ok\": true, \"checks\": [\"catalogue\"], \"findings\": [],\n})).unwrap();\nassert!(clean.ok && clean.findings.is_empty());\nassert_eq!(clean.checks, [\"catalogue\"]);\n```",
"properties": {
"checks": {
"description": "The checks performed, in order.",
"items": {
"type": "string"
},
"type": "array"
},
"findings": {
"description": "What they found.",
"items": {
"$ref": "#/$defs/ReasoningFinding"
},
"type": "array"
},
"ok": {
"description": "No finding.",
"type": "boolean"
}
},
"required": [
"ok",
"checks",
"findings"
],
"title": "ReasoningCheck",
"type": "object"
}Politiky
- benchmark
- povinné — cíl na každém transportu, který expozice deklaruje; případy jsou ty ze vstupního typu
- 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.