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.

guard.edit

Zda smí daná relace nyní zapsat danou cestu: povoleno, když je vypnuto session.edits_require_claim politiky, cesta je mimo checkout nebo jeho lokální stav, repozitář nedeklaruje povolený mesh, rozsah aktivní úlohy ji pokrývá nebo ji pokrývá živý mesh claim relace; jinak odmítnuto jako nenárokované, s nápravou. Co nelze přečíst — politika, mesh — se propustí a pojmenuje, nikdy se neodmítne.

Zda smí daná relace nyní zapsat danou cestu: povoleno, když je vypnuto session.edits_require_claim politiky, cesta je mimo checkout nebo jeho lokální stav, repozitář nedeklaruje povolený mesh, rozsah aktivní úlohy ji pokrývá nebo ji pokrývá živý mesh claim relace; jinak odmítnuto jako nenárokované, s nápravou. Co nelze přečíst — politika, mesh — se propustí a pojmenuje, nikdy se neodmítne.

  • query
  • experimentální
  • module guard
  • #guard
  • #mesh
  • #coordination

Zpřístupnění

Kde je tato jedna definice dosažitelná. Absence je explicitní: povrch, který není uveden, ji nenese.

povrchjako
MCPnástroj majordomus_guard_edit
HTTPGET /api/v1/guard/edit operationId guard.edit
příkazová řádka—

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 · GuardEditInput

Který zápis posoudit.
vlastnosttyppovinnépopis
path string ano Cesta, která se má zapsat: absolutní, nebo relativní ke kořeni repozitáře.
session string | null ne Id zapisující relace na meshi (claude-code-<session id> pro Claude Code); bez něj může zápis pokrýt jen rozsah aktivní úlohy.
JSON Schema
{
  "additionalProperties": false,
  "description": "Which write to judge.",
  "properties": {
    "path": {
      "description": "The path about to be written: absolute, or relative to the repository root.",
      "type": "string"
    },
    "session": {
      "description": "The writing session's id on the mesh (`claude-code-<session id>` for Claude Code);\nwithout it only the active task's scope can cover the write.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "path"
  ],
  "title": "GuardEditInput",
  "type": "object"
}

výstup · EditVerdict

Odpověď na jednu úpravu: zda smí pokračovat, jedno slovo, na kterém se rozhodlo, věta, kterou člověk čte, a u odmítnutí to, co by ji dovolilo. guard.edit ji vrátí tak, jak je; guard hook ji promění v kód ukončení.

use majordomus_cli::guard::{judge_facts, ClaimSource, EditFacts, EditVerdict};

let facts = EditFacts {
    required: Ok(false),
    mesh_enabled: true,
    task: None,
    session: None,
    claims: ClaimSource::Claims(vec![]),
};
let v: EditVerdict = judge_facts("a.md", Some("a.md"), facts);
assert!(v.allowed);
assert_eq!(v.ground, "off");
let json = serde_json::to_value(&v).unwrap();
assert!(json.get("remedy").is_none(), "an allowed edit carries no remedy");
vlastnosttyppovinnépopis
povoleno boolean ano Zda úprava smí pokračovat.
detail string ano Věta, kterou člověk čte.
základ string ano Proč, jedním slovem: off, outside, local, no_mesh, task, claim, undecided nebo unclaimed. Odmítá jen unclaimed.
path string ano Cesta, na kterou se ptalo, relativní k repozitáři, když je uvnitř checkoutu.
náprava string | null ne Co úpravu dovoluje, když je odmítnuta.
JSON Schema
{
  "description": "The answer to one edit: whether it may proceed, the one word it was decided on, the\nsentence a person reads and, for a refusal, what would allow it. `guard.edit` returns it\nas it is; `guard hook` turns it into an exit code.\n\n```\nuse majordomus_cli::guard::{judge_facts, ClaimSource, EditFacts, EditVerdict};\n\nlet facts = EditFacts {\n    required: Ok(false),\n    mesh_enabled: true,\n    task: None,\n    session: None,\n    claims: ClaimSource::Claims(vec![]),\n};\nlet v: EditVerdict = judge_facts(\"a.md\", Some(\"a.md\"), facts);\nassert!(v.allowed);\nassert_eq!(v.ground, \"off\");\nlet json = serde_json::to_value(&v).unwrap();\nassert!(json.get(\"remedy\").is_none(), \"an allowed edit carries no remedy\");\n```",
  "properties": {
    "allowed": {
      "description": "Whether the edit may proceed.",
      "type": "boolean"
    },
    "detail": {
      "description": "The sentence a person reads.",
      "type": "string"
    },
    "ground": {
      "description": "Why, as one word: `off`, `outside`, `local`, `no_mesh`, `task`, `claim`,\n`undecided` or `unclaimed`. Only `unclaimed` refuses.",
      "type": "string"
    },
    "path": {
      "description": "The path asked about, repository-relative when it is inside the checkout.",
      "type": "string"
    },
    "remedy": {
      "description": "What makes the edit allowed, when it is refused.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "allowed",
    "path",
    "ground",
    "detail"
  ],
  "title": "EditVerdict",
  "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.

transportstatepřípadytargets
directpokryto2in-repository
mimo
mcppokryto2in-repository
mimo
httppokryto2in-repository
mimo

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