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.

intents.propose

Zapíše nový záznam záměru pod `.ai/repo/project/intents/` z výroku o tom, co se musí stát pravdou, s volitelným titulkem (první řádek výroku, když chybí) a id (slug titulku, když chybí). Záznam nepojmenovává žádný milník, kritérium ani invariant: jeho fáze se odvodí jako `declared`, `intent validate` obě absence hlásí jako varování, ne selhání, a žádná práce mu nemůže sloužit, dokud není naplánován (ADR 0144). O jeho postavení se neukládá nic. Existující záznam se odmítne, nikdy nepřepíše, a soubor vznikne celý, nebo vůbec. Odpověď pojmenovává identitu a soubor; `intents.record` odpoví odvozenou fázi, jakmile ji index drží.

Zapíše nový záznam záměru pod `.ai/repo/project/intents/` z výroku o tom, co se musí stát pravdou, s volitelným titulkem (první řádek výroku, když chybí) a id (slug titulku, když chybí). Záznam nepojmenovává žádný milník, kritérium ani invariant: jeho fáze se odvodí jako `declared`, `intent validate` obě absence hlásí jako varování, ne selhání, a žádná práce mu nemůže sloužit, dokud není naplánován (ADR 0144). O jeho postavení se neukládá nic. Existující záznam se odmítne, nikdy nepřepíše, a soubor vznikne celý, nebo vůbec. Odpověď pojmenovává identitu a soubor; `intents.record` odpoví odvozenou fázi, jakmile ji index drží.

Zpřístupnění

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

povrchjako
MCPnástroj majordomus_intent_propose
HTTPPOST /api/v1/intents/propose operationId intents.propose
příkazová řádkamajordomus intent propose

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

Vstup intents.propose: co se musí stát pravdou a volitelně jeho název a id.

Žádný milník, kritérium ani invariant: návrh říká, co se chce, a jeho plánování je samostatný akt (ADR 0144). Žádné časové razítko také ne: záznam se datuje, když se zapisuje.

use majordomus_cli::capability::builtin::intents::IntentProposeInput;
let i: IntentProposeInput =
    serde_json::from_str(r#"{"statement": "The UI answers within 100 ms warm"}"#).unwrap();
assert_eq!(i.title, None);
// a field the input does not have is refused, never ignored
assert!(serde_json::from_str::<IntentProposeInput>(r#"{"statement": "s", "stage": "x"}"#).is_err());
vlastnosttyppovinnépopis
id string | null ne Identita a název souboru; slug titulku, když chybí.
výrok string ano Co se musí stát pravdou, slovy navrhovatele; uchováno doslova.
název string | null ne Jeden řádek, který ho pojmenovává; první řádek prohlášení, když chybí.
JSON Schema
{
  "additionalProperties": false,
  "description": "The input of `intents.propose`: what must become true, and optionally its title and id.\n\nNo milestone, criterion or invariant: a proposal says what is wanted, and planning it is a\nseparate act (ADR 0144). No timestamp either: the record is dated when it is written.\n\n```\nuse majordomus_cli::capability::builtin::intents::IntentProposeInput;\nlet i: IntentProposeInput =\n    serde_json::from_str(r#\"{\"statement\": \"The UI answers within 100 ms warm\"}\"#).unwrap();\nassert_eq!(i.title, None);\n// a field the input does not have is refused, never ignored\nassert!(serde_json::from_str::<IntentProposeInput>(r#\"{\"statement\": \"s\", \"stage\": \"x\"}\"#).is_err());\n```",
  "properties": {
    "id": {
      "description": "The identity and file name; the title's slug when absent.",
      "type": [
        "string",
        "null"
      ]
    },
    "statement": {
      "description": "What must become true, in the proposer's words; kept verbatim.",
      "type": "string"
    },
    "title": {
      "description": "One line naming it; the statement's first line when absent.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "statement"
  ],
  "title": "IntentProposeInput",
  "type": "object"
}

výstup · Proposed

Co zapsal propose: identita, soubor a záznam tak, jak se nyní čte.

use majordomus_cli::intent::Proposed;
let p: Proposed = serde_json::from_str(
    r#"{"id": "fast-ui", "path": ".ai/repo/project/intents/fast-ui.yaml",
        "title": "Fast UI", "statement": "The UI answers at once"}"#,
)
.unwrap();
// the path is the identity under the intents directory: one answer to where it lives
assert_eq!(p.path, format!(".ai/repo/project/intents/{}.yaml", p.id));
vlastnosttyppovinnépopis
id string ano Identita, která je zároveň názvem souboru.
path string ano Cesta zapsaného záznamu relativní k repozitáři.
výrok string ano Co se musí stát pravdou, tak jak to bylo zadáno.
název string ano Jedna řádka.
JSON Schema
{
  "description": "What `propose` wrote: the identity, the file, and the record as it now reads.\n\n```\nuse majordomus_cli::intent::Proposed;\nlet p: Proposed = serde_json::from_str(\n    r#\"{\"id\": \"fast-ui\", \"path\": \".ai/repo/project/intents/fast-ui.yaml\",\n        \"title\": \"Fast UI\", \"statement\": \"The UI answers at once\"}\"#,\n)\n.unwrap();\n// the path is the identity under the intents directory: one answer to where it lives\nassert_eq!(p.path, format!(\".ai/repo/project/intents/{}.yaml\", p.id));\n```",
  "properties": {
    "id": {
      "description": "The identity, which is also the file name.",
      "type": "string"
    },
    "path": {
      "description": "Repository-relative path of the record written.",
      "type": "string"
    },
    "statement": {
      "description": "What must become true, as it was given.",
      "type": "string"
    },
    "title": {
      "description": "One line.",
      "type": "string"
    }
  },
  "required": [
    "id",
    "path",
    "title",
    "statement"
  ],
  "title": "Proposed",
  "type": "object"
}

Politiky

benchmark
waived — prominuto: destructive
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
directprominuto (destruktivní)0
mcpprominuto (destruktivní)0
httpprominuto (destruktivní)0

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