objects.get
Jeden objekt podle URI (majordomus://<kind>/<identity>): metadata, původ a obsah; URI, které promítá dotaz (majordomus://repository), odpovídá na tento dotaz jako JSON dokument. Stejné vyřešení obsluhuje čtení zdroje MCP.
Jeden objekt podle URI (majordomus://<kind>/<identity>): metadata, původ a obsah; URI, které promítá dotaz (majordomus://repository), odpovídá na tento dotaz jako JSON dokument. Stejné vyřešení obsluhuje čtení zdroje MCP.
- query
- behaviorally_verified
- module objects
- #objects
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_get |
| HTTP | GET /api/v1/object operationId objects.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.
input · GetInput
objects.get: který objekt.| vlastnost | typ | povinné | popis |
|---|---|---|---|
| uri | string | ano | majordomus://<kind>/<identity> nebo URI, které projektuje dotaz (majordomus://repository). |
JSON Schema
{
"additionalProperties": false,
"description": "The input of `objects.get`: which object.",
"properties": {
"uri": {
"description": "`majordomus://<kind>/<identity>`, or a URI a query projects\n(`majordomus://repository`).",
"type": "string"
}
},
"required": [
"uri"
],
"title": "GetInput",
"type": "object"
}výstup · ResourceView
objects.get: na co se URI rozřešilo, označené source stejně jako provenience schopnosti.Žádné vlastnosti.
JSON Schema
{
"$defs": {
"AnswerView": {
"description": "A URI a query projects (`majordomus://repository`), answered: the same fields a client\nreads on an `ObjectView` where they apply, the answer itself as data, and the text\n`resources/read` returns for the URI.",
"properties": {
"answer": {
"description": "The answer, as the capability's output schema describes it (`capabilities.describe`\ncarries that schema)."
},
"content": {
"description": "The answer as text: byte for byte what `resources/read` returns for the URI.",
"type": "string"
},
"description": {
"description": "The capability's description, when it has one.",
"type": [
"string",
"null"
]
},
"id": {
"description": "The capability that answered (`repository.info`).",
"type": "string"
},
"identity": {
"description": "The resource name a client lists (`repository`).",
"type": "string"
},
"kind": {
"$ref": "#/$defs/CapabilityKind",
"description": "Its kind: `query`."
},
"media_type": {
"description": "`application/json`.",
"type": "string"
},
"provenance": {
"$ref": "#/$defs/CapabilityProvenance",
"description": "Where the capability comes from: the Rust module it is composed in."
},
"title": {
"description": "The capability's title.",
"type": "string"
},
"uri": {
"description": "The URI as given.",
"type": "string"
}
},
"required": [
"uri",
"id",
"kind",
"identity",
"title",
"answer",
"provenance",
"media_type",
"content"
],
"type": "object"
},
"CapabilityKind": {
"description": "What a capability is. Three kinds exist because three semantics exist: something that\nis executed and changes nothing, something that is executed and changes this process's\nown memory, and something that is read. A command may also write the repository's own\ntracked records, which its kind does not say and its execution policy does\n(`ExecutionPolicy::writes_repository`).\n\nHow *long* a call takes is not a kind. A read that walks every file of the layer is\nstill a read, and the thing that makes it worth watching — that it reports as it goes\nand stops when it is asked to — is one property of its handler, declared with\n`crate::capability::Executable::cancellable` and carried on `ExecutionPolicy`.",
"oneOf": [
{
"const": "query",
"description": "Executable and read-only: a typed handler, an input schema, an output schema.",
"type": "string"
},
{
"const": "command",
"description": "Executable and changing something: a typed handler, bound to `POST` over HTTP, and\nannounced to MCP clients as not read-only. Most reach no further than this process's\nown memory (a peer announcing itself); one that writes the repository's tracked\nrecords says so on its execution policy, which is where a projection reads it.",
"type": "string"
},
{
"const": "resource",
"description": "Declarative content the repository holds: read as it is, never executed.",
"type": "string"
}
]
},
"CapabilityProvenance": {
"description": "Where a capability came from. Never an absolute path.",
"oneOf": [
{
"description": "Written in Rust, in the named module of this executable.\nWritten in Rust, composed in `builtin.rs`.",
"properties": {
"module": {
"description": "The Rust module the descriptor was composed in.",
"type": "string"
},
"source": {
"const": "builtin",
"type": "string"
}
},
"required": [
"source",
"module"
],
"type": "object"
},
{
"description": "Read from the repository's layer.",
"properties": {
"directory": {
"description": "The directory the path sits in, repository-relative; `.` for the root.",
"type": "string"
},
"media_type": {
"description": "IANA media type of the object's content.",
"type": "string"
},
"member": {
"description": "For one member of a collection file, its key path in the file (`claims.3`).",
"type": [
"string",
"null"
]
},
"path": {
"description": "Repository-relative path.",
"type": "string"
},
"section": {
"description": "The manifest section the path falls under, when it falls under one.",
"type": [
"string",
"null"
]
},
"source": {
"const": "declarative",
"type": "string"
},
"source_class": {
"description": "The `sources.yaml` class that discovered the file.",
"type": "string"
}
},
"required": [
"source",
"path",
"directory",
"source_class",
"media_type"
],
"type": "object"
}
]
},
"ObjectProvenance": {
"description": "Where an object came from. Every field is computed from the repository, never authored.",
"properties": {
"bytes": {
"description": "Size of the file in bytes.",
"format": "uint64",
"minimum": 0,
"type": "integer"
},
"directory": {
"description": "The directory the path sits in, repository-relative; `.` for the root. This is the\nhierarchy position a client orders by; no merge semantics are implied.",
"type": "string"
},
"member": {
"description": "For an object that is one member of a collection file: the member's key path in\nthe file (`claims.3`).",
"type": [
"string",
"null"
]
},
"path": {
"description": "Repository-relative path, forward slashes, as the version-control index names it.",
"type": "string"
},
"section": {
"description": "The manifest section the path falls under (`rules`, `prompts`, ...), when it falls\nunder one; a root `README.md` falls under none.",
"type": [
"string",
"null"
]
},
"source_class": {
"description": "The `sources.yaml` class that discovered the file (`rule`, `readme`, ...).",
"type": "string"
}
},
"required": [
"path",
"directory",
"source_class",
"bytes"
],
"type": "object"
},
"ObjectView": {
"description": "One declarative object of the repository's layer, as a client reads it.",
"properties": {
"content": {
"description": "The file as read.",
"type": "string"
},
"description": {
"description": "The one-line description the kind's description field held, when it held one.",
"type": [
"string",
"null"
]
},
"id": {
"description": "The capability id, `<kind>.<identity>`.",
"type": "string"
},
"identity": {
"description": "The identity within the kind (`majordomus.scope-integrity@1`, `continue`, a path).",
"type": "string"
},
"kind": {
"description": "The kind the object was read as (`rule`, `prompt`, `document`, ...).",
"type": "string"
},
"media_type": {
"description": "IANA media type of `content` (`text/markdown`, `application/yaml`, `application/json`, `text/plain`).",
"type": "string"
},
"metadata": {
"description": "The parsed front matter or YAML, keys in the file's order."
},
"provenance": {
"$ref": "#/$defs/ObjectProvenance",
"description": "Where the object came from: path, directory, source class, section, size, member."
},
"title": {
"description": "The title the kind's title rule found, when it found one.",
"type": [
"string",
"null"
]
},
"uri": {
"description": "`majordomus://<kind>/<identity>`.",
"type": "string"
}
},
"required": [
"uri",
"id",
"kind",
"identity",
"metadata",
"provenance",
"media_type",
"content"
],
"type": "object"
}
},
"description": "The answer of `objects.get`: what the URI resolved to, tagged by `source` the way a\ncapability's provenance is.",
"oneOf": [
{
"$ref": "#/$defs/ObjectView",
"description": "A file of the layer, read as it is.",
"properties": {
"source": {
"const": "declarative",
"type": "string"
}
},
"required": [
"source"
],
"type": "object"
},
{
"$ref": "#/$defs/AnswerView",
"description": "A query with a resource exposure, executed and rendered as a JSON document.",
"properties": {
"source": {
"const": "builtin",
"type": "string"
}
},
"required": [
"source"
],
"type": "object"
}
],
"title": "ResourceView"
}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.
| transport | state | případy | targets |
|---|---|---|---|
| direct | pokryto | 2 | first-object repozitář |
| mcp | pokryto | 2 | first-object repozitář |
| http | pokryto | 2 | first-object repozitář |
Tvrzení implementovaná vedle ní
Připojeno souborem, který každé tvrzení implementuje; každé odkazuje na svou stránku s implementací a testem, který je dokazuje.
Okamžiky, na které to odpovídá
- znovu vysvětloval stejný kontext zbrusu nové relaci Znalosti o repozitáři, které kdy existovaly jen v konverzaci, je nutné ručně znovu předávat každému dalšímu workerovi.
- našel pravidlo pro adresář v README, které žádná relace nikdy nenačetla Lokální pravidlo je buď v vždy načítaném souboru, kde za něj platí každá relace, nebo vedle kódu, kde ho nic nesvazuje s upravovanou cestou.
- hledal, proč jsme to zvolili, a našel chatový log Rozhodnutí učiněné v relaci je uloženo tam, kde ho přečte jen ta relace, takže ho nelze ani zrevidovat, ani objevit.
- 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.
- strávil první hodinu v neznámém repozitáři zjišťováním, co je tu normální Co je v codebase konvenční, je znalost pravidelných přispěvatelů, takže za ni platí znovu každý nově příchozí, člověk i stroj.
- recenzoval dobře napsaný příspěvek, který porušil konvenci, již neměl jak zjistit Asistenti umožňují komukoli vyrábět věrohodné příspěvky ve velkém; konvence, které z nich dělají správné, jsou stále jen v hlavách správců.
- se zeptal, kdo změnu provedl a podle jaké politiky, a měl jen commit Atribuce končí u commitu, takže to, co změnu schválilo, co ji ověřilo a co ji řídilo, nelze obnovit.