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.

capabilities.projections

Řádek na schopnost s příkazovou řádkou, trasou HTTP, nástrojem MCP a zdrojem MCP, které dosahuje, zda je každá expozice, kterou deklaruje, zodpovězena tímto povrchem, a spustitelnými příkazy, které si nenárokuje žádná schopnost. Odvozeno z registru a deklarace clap; nic se nepíše ručně.

Řádek na schopnost s příkazovou řádkou, trasou HTTP, nástrojem MCP a zdrojem MCP, které dosahuje, zda je každá expozice, kterou deklaruje, zodpovězena tímto povrchem, a spustitelnými příkazy, které si nenárokuje žádná schopnost. Odvozeno z registru a deklarace clap; nic se nepíše ručně.

Zpřístupnění

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

povrchjako
MCPnástroj majordomus_projections
HTTPGET /api/v1/capabilities/projections operationId capabilities.projections
příkazová řádkamajordomus capabilities projections

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

Vstup capabilities.projections: které řádky a zda jen nesplněná tvrzení.
vlastnosttyppovinnépopis
modul string | null ne Pouze schopnosti složené v tomto modulu. default null
nesplněno boolean ne Jen schopnosti, jejichž deklarovaná vystavení nejsou všechna zodpovězena jejich povrchem. Prázdné je uzavření, které pravidlo žádá. výchozí false
JSON Schema
{
  "additionalProperties": false,
  "description": "The input of `capabilities.projections`: which rows, and whether only the unmet claims.",
  "properties": {
    "module": {
      "default": null,
      "description": "Only capabilities composed in this module.",
      "type": [
        "string",
        "null"
      ]
    },
    "unmet": {
      "default": false,
      "description": "Only the capabilities whose declared exposures are not all answered by their\nsurface. Empty is the closure the rule asks for.",
      "type": "boolean"
    }
  },
  "title": "ProjectionsInput",
  "type": "object"
}

output · ClosureMatrix

Celá matice s nálezy a dluhem vedle sebe: jedna hodnota, která odpovídá na "kde se každá schopnost objevuje a je nějaké tvrzení nesplněno".
vlastnosttyppovinnépopis
řádky array ano Jeden řádek na schopnost, v pořadí podle id.
nepodloženo array ano Spustitelné příkazy příkazové řádky, které si nenárokuje žádná schopnost, v pořadí příkazů.
nezařazeno array ano Z nich ty, které nevysvětluje ani crate::cli::local::LOCAL: příkaz, který není projekcí schopnosti ani deklarovaným příkazem jen pro příkazovou řádku s důvodem. Prázdné je uzavření, které pravidlo žádá; cokoli tu je, je operace, která opustila API omylem, a ne rozhodnutím.
JSON Schema
{
  "$defs": {
    "ExecutionEffect": {
      "description": "What running a capability changes outside the caller.\n\nClassified, never declared: it follows from the kind, which is the field a declaration\nalready carries. A projection reads this to decide whether to ask before running\nsomething — the Cockpit's confirmation is derived from it — instead of naming\ncapabilities it must treat carefully, which is a list that goes stale the day after it\nis written.",
      "oneOf": [
        {
          "const": "read",
          "description": "Nothing changes. Every query and every resource of this executable.",
          "type": "string"
        },
        {
          "const": "process_state",
          "description": "This process's own memory changes, and nothing outside it.",
          "type": "string"
        },
        {
          "const": "repository_mutation",
          "description": "The repository changes.\n\nFor most of this executable's life nothing classified to this, because no capability\nof any kind wrote to the repository. That day arrived with [ADR 0040]: development\nsemantics are capabilities of this runtime, and the first of them — `plan.transition`\n— stamps a field into an issue's own tracked record. The variant was put on the model\nin advance so that when one did, it would say so *here*, where a projection already\nreads it and a client already asks before running it, rather than in whichever page\nhappens to render its button.\n\nIt is not classified from the kind, because the kind cannot know it: a command that\nannounces a peer and a command that writes a tracked file are the same kind. A\nhandler that writes the repository says so with\n`ExecutionPolicy::writes_repository`, the way one that stops says so with\n`ExecutionPolicy::stoppable`.\n\n[ADR 0040]: https://github.com/korczis/prismatic-majordomus/blob/master/.ai/repo/adrs/0040-development-semantics-are-capabilities-of-one-runtime.md",
          "type": "string"
        }
      ]
    },
    "Row": {
      "description": "Where one capability is projected, and where it is not.\n\nThis is the coverage matrix of the rule: a row per capability, a column per interface.\nIt is derived, never written down — a capability that reaches nothing shows as a row of\n`false`, which is exactly the \"exists but is invisible\" case worth seeing.",
      "properties": {
        "cli": {
          "description": "The command line, when it declares one and clap has it.",
          "type": [
            "string",
            "null"
          ]
        },
        "closed": {
          "description": "Whether every exposure this row declares is answered by its surface.",
          "type": "boolean"
        },
        "effect": {
          "$ref": "#/$defs/ExecutionEffect",
          "description": "What a call changes: nothing, this process's memory, or the repository. The same\nclassification every projection reads, so the matrix answers \"where is it reachable\"\nand \"what does reaching it risk\" in one row."
        },
        "http": {
          "description": "The HTTP route, when it declares one.",
          "type": [
            "string",
            "null"
          ]
        },
        "id": {
          "description": "The canonical id.",
          "type": "string"
        },
        "kind": {
          "description": "Query, command or resource.",
          "type": "string"
        },
        "mcp_resource": {
          "description": "The MCP resource URI, when it declares one.",
          "type": [
            "string",
            "null"
          ]
        },
        "mcp_tool": {
          "description": "The MCP tool name, when it declares one.",
          "type": [
            "string",
            "null"
          ]
        },
        "module": {
          "description": "The module that composes it.",
          "type": "string"
        },
        "source": {
          "description": "Where the capability is declared; repository-relative.",
          "type": "string"
        },
        "stability": {
          "description": "Where it stands.",
          "type": "string"
        }
      },
      "required": [
        "id",
        "module",
        "kind",
        "stability",
        "effect",
        "closed",
        "source"
      ],
      "type": "object"
    }
  },
  "description": "The whole matrix, with the findings and the debt beside it: one value that answers\n\"where does each capability appear, and is any claim unmet\".",
  "properties": {
    "rows": {
      "description": "One row per capability, in id order.",
      "items": {
        "$ref": "#/$defs/Row"
      },
      "type": "array"
    },
    "unbacked": {
      "description": "Runnable commands of the command line that no capability claims, in command order.",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "unclassified": {
      "description": "Of those, the ones `crate::cli::local::LOCAL` does not explain either: a command\nthat is neither the projection of a capability nor declared command-line-only with\na reason. Empty is the closure the rule asks for; anything here is an operation\nthat left the API by accident rather than by decision.",
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "rows",
    "unbacked",
    "unclassified"
  ],
  "title": "ClosureMatrix",
  "type": "object"
}

Politiky

benchmark
povinné — cíl na každém transportu, který expozice deklaruje; případy jsou ty ze vstupního typu
cache
process — až 8 položek v procesu, omezených otiskem registru

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
directpokryto2vše studený+teplý
nesplněno studený+teplý
mcppokryto2vše studený+teplý
nesplněno studený+teplý
httppokryto2vše studený+teplý
nesplněno studený+teplý

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