graph.get
Jeden graf podle id: jeho uzly a hrany se slovníky, které říkají, co znamená každý druh, soubor, z něhož byl každý uzel odvozen, a zda je výsledek acyklický. Deterministické pro daný strom a spustitelný soubor.
Jeden graf podle id: jeho uzly a hrany se slovníky, které říkají, co znamená každý druh, soubor, z něhož byl každý uzel odvozen, a zda je výsledek acyklický. Deterministické pro daný strom a spustitelný soubor.
- query
- behaviorally_verified
- moduly graph
- #graph
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_graph |
| HTTP | GET /api/v1/graph operationId graph.get |
| 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 · GraphInput
| vlastnost | typ | povinné | popis |
|---|---|---|---|
| id | string | ano | Id grafu, jak je udává graph.list (registry, layer, rules, adrs, use-cases). |
JSON Schema
{
"additionalProperties": false,
"description": "Which graph to derive.",
"properties": {
"id": {
"description": "The graph's id, as `graph.list` gives it (`registry`, `layer`, `rules`, `adrs`,\n`use-cases`).",
"type": "string"
}
},
"required": [
"id"
],
"title": "GraphInput",
"type": "object"
}výstup · Graph
| vlastnost | typ | povinné | popis |
|---|---|---|---|
| popis | string | ano | Jeden odstavec: co se z toho čtenář dozví. |
| edge_kinds | object | ano | Druh hrany k tomu, co tato hrana tvrdí. |
| hrany | array | ano | Sorted. |
| id | string | ano | Identita, [a-z][a-z0-9-]*; poslední segment jeho routy. |
| metadata | reference | ano | Počty a invarianty. |
| node_kinds | object | ano | Druh uzlu a co tento druh znamená. |
| nodes | array | ano | Seřazeno podle id. |
| zdroj | string | ano | Z čeho bylo odvozeno, vlastními slovy repozitáře. |
| název | string | ano | Krátký název. |
JSON Schema
{
"$defs": {
"Edge": {
"description": "One directed edge. Both ends are node ids of the same graph; a derivation that cannot\nresolve an end adds an external node rather than a dangling edge.",
"properties": {
"kind": {
"description": "One of the graph's declared edge kinds.",
"type": "string"
},
"source": {
"description": "The node the edge leaves.",
"type": "string"
},
"target": {
"description": "The node the edge enters.",
"type": "string"
}
},
"required": [
"source",
"target",
"kind"
],
"type": "object"
},
"Fact": {
"anyOf": [
{
"description": "A yes or a no.",
"type": "boolean"
},
{
"description": "A whole number: an order, a version, a weight.",
"format": "int64",
"type": "integer"
},
{
"description": "One short value.",
"type": "string"
},
{
"description": "Several short values.",
"items": {
"type": "string"
},
"type": "array"
}
],
"description": "One fact a node carries from its object's front matter, in the shapes a node can hold."
},
"GraphMetadata": {
"description": "What a reader needs to know about the graph as a whole before drawing it.",
"properties": {
"acyclic": {
"description": "Whether the edges form a directed acyclic graph. Derived, never declared: a graph\nwhose contract is a DAG and whose answer here is `false` is a defect in the data.",
"type": "boolean"
},
"edges": {
"description": "How many edges.",
"format": "uint",
"minimum": 0,
"type": "integer"
},
"nodes": {
"description": "How many nodes.",
"format": "uint",
"minimum": 0,
"type": "integer"
},
"truncated": {
"description": "True when the derivation stopped at `MAX_NODES` and the graph is a prefix of\nwhat the repository holds.",
"type": "boolean"
}
},
"required": [
"nodes",
"edges",
"acyclic",
"truncated"
],
"type": "object"
},
"Node": {
"description": "One node. `id` is unique within the graph; `kind` is what the graph's `node_kinds`\ndeclares it to be; `route` is where the Cockpit shows the thing itself, when it shows\nit anywhere.",
"properties": {
"external": {
"description": "True when the node stands for something the graph names but does not hold: a\nreference that resolves to nothing in this repository.",
"type": "boolean"
},
"facts": {
"additionalProperties": {
"$ref": "#/$defs/Fact"
},
"description": "What the object's own kind declares about it, as its schema validated it: the\nfields of its front matter that are facts about the thing rather than the document\nitself. A rule carries its class and its statement, a skill its inputs and\noutputs, a decision its date — the vocabulary that makes each kind worth having,\nrather than the four fields every kind happens to share.",
"type": "object"
},
"id": {
"description": "Unique within the graph.",
"type": "string"
},
"kind": {
"description": "One of the graph's declared node kinds.",
"type": "string"
},
"label": {
"description": "The short label a renderer draws.",
"type": "string"
},
"route": {
"description": "Where the Cockpit shows this thing, when it shows it.",
"type": [
"string",
"null"
]
},
"source": {
"description": "The repository-relative file the node was derived from, when one file owns it.",
"type": [
"string",
"null"
]
},
"status": {
"description": "A status word the graph's own vocabulary defines (`accepted`, `active`, `query`).",
"type": [
"string",
"null"
]
},
"summary": {
"description": "One line about the thing, when the source holds one.",
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"kind",
"label"
],
"type": "object"
}
},
"description": "A derived graph: what it is, where it came from, what its vocabularies mean, and the\nnodes and edges themselves.",
"properties": {
"description": {
"description": "One paragraph: what a reader learns from it.",
"type": "string"
},
"edge_kinds": {
"additionalProperties": {
"type": "string"
},
"description": "Edge kind to what that edge asserts.",
"type": "object"
},
"edges": {
"description": "Sorted.",
"items": {
"$ref": "#/$defs/Edge"
},
"type": "array"
},
"id": {
"description": "The identity, `[a-z][a-z0-9-]*`; the last segment of its route.",
"type": "string"
},
"metadata": {
"$ref": "#/$defs/GraphMetadata",
"description": "Counts and invariants."
},
"node_kinds": {
"additionalProperties": {
"type": "string"
},
"description": "Node kind to what that kind means.",
"type": "object"
},
"nodes": {
"description": "Sorted by id.",
"items": {
"$ref": "#/$defs/Node"
},
"type": "array"
},
"source": {
"description": "What it was derived from, in the repository's own words.",
"type": "string"
},
"title": {
"description": "The short name.",
"type": "string"
}
},
"required": [
"id",
"title",
"description",
"source",
"node_kinds",
"edge_kinds",
"nodes",
"edges",
"metadata"
],
"title": "Graph",
"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ž 16 záznamů v procesu, vymezený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.
| transport | state | případy | targets |
|---|---|---|---|
| direct | pokryto | 8 | registr studený+teplý vrstva studený+teplý rules studený+teplý adr studený+teplý use-cases studený+teplý why studený+teplý product studený+teplý složeno studený+teplý |
| mcp | pokryto | 8 | registr studený+teplý vrstva studený+teplý rules studený+teplý adr studený+teplý use-cases studený+teplý why studený+teplý product studený+teplý složeno studený+teplý |
| http | pokryto | 8 | registr studený+teplý vrstva studený+teplý rules studený+teplý adr studený+teplý use-cases studený+teplý why studený+teplý product studený+teplý složeno studený+teplý |
Okamžiky, na které to odpovídá
- přečetl tři plány rozvoje jednoho projektu a nevěřil žádnému Plán vedený v próze je snímek a každá jeho kopie se rozchází svým tempem; uložený stav je tvrzení, které platí i poté, co se svět pohnul.
- našel kód, který odporoval rozhodnutí, jež si repozitář zapsal Rozhodnutí bylo zaznamenáno a implementace šla opačným směrem, protože nic nepropojuje rozhodnutí s cestami, kterým vládne.
- uzavřel úkol, jehož kritéria přijetí nikdo skutečně neověřil Dokončení se eviduje jako změna stavu v trackeru, a ne jako důkaz v repozitáři, takže se obojí okamžitě rozejde.
- se zeptal, kam milník dospěl, a musel se jít ptát čtyř lidí Pokrok je agregát, který existuje jen v lidech, protože části, které agreguje, se nikdy nezaznamenaly ve tvaru, který by šel sečíst.