distribution.artifact
The archive name a target and a tag derive, the directory it unpacks into, and where a release publishes it. The one naming function answers; the release pipeline asks it rather than composing a name in a workflow file.
The archive name a target and a tag derive, the directory it unpacks into, and where a release publishes it. The one naming function answers; the release pipeline asks it rather than composing a name in a workflow file.
- query
- behaviorally_verified
- module distribution
- #distribution
- #release
Exposure
Where this one definition is reachable. Absence is explicit: a surface not listed does not carry it.
| surface | as |
|---|---|
| MCP | tool majordomus_artifact |
| HTTP | GET /api/v1/distribution/artifact operationId distribution.artifact |
| command line | majordomus distribution artifact |
Schemas
The canonical input and output, from the Rust types; the MCP tool schema and the OpenAPI parameters and responses are derived from these.
input · ReleaseArtifactInput
Which artifact a target and a tag name.
| property | type | required | description |
|---|---|---|---|
| tag | string | yes | The tag, `v` and a version. `{tag}` asks for the name with the placeholder left in. |
| target | string | yes | A target's id or its Rust target triple. |
JSON Schema
{
"additionalProperties": false,
"description": "Which artifact a target and a tag name.",
"properties": {
"tag": {
"description": "The tag, `v` and a version. `{tag}` asks for the name with the placeholder left in.",
"type": "string"
},
"target": {
"description": "A target's id or its Rust target triple.",
"type": "string"
}
},
"required": [
"target",
"tag"
],
"title": "ReleaseArtifactInput",
"type": "object"
}output · ReleaseArtifactView
The artifact a target and a tag name, and the directory it unpacks into.
| property | type | required | description |
|---|---|---|---|
| name | string | yes | The archive's file name. |
| root | string | yes | The directory the archive unpacks into. |
| rust_target | string | yes | The Rust target triple. |
| tag | string | yes | The tag the name was derived for. |
| target | string | yes | The target's id in the model. |
| url | string | yes | Where a release publishes it, when the tag is a real one. |
JSON Schema
{
"description": "The artifact a target and a tag name, and the directory it unpacks into.",
"properties": {
"name": {
"description": "The archive's file name.",
"type": "string"
},
"root": {
"description": "The directory the archive unpacks into.",
"type": "string"
},
"rust_target": {
"description": "The Rust target triple.",
"type": "string"
},
"tag": {
"description": "The tag the name was derived for.",
"type": "string"
},
"target": {
"description": "The target's id in the model.",
"type": "string"
},
"url": {
"description": "Where a release publishes it, when the tag is a real one.",
"type": "string"
}
},
"required": [
"target",
"rust_target",
"tag",
"name",
"root",
"url"
],
"title": "ReleaseArtifactView",
"type": "object"
}Policies
- benchmark
- required — a target on every transport the exposure declares; the cases are the input type's
- cache
- disabled — every call runs the handler
Benchmark targets
Derived from the registry for this repository: one requirement per transport, and the cases the input type provides. The whole matrix is on the benchmarks page.
| transport | state | cases | targets |
|---|---|---|---|
| direct | covered | 1 | first-published-target |
| mcp | covered | 1 | first-published-target |
| http | covered | 1 | first-published-target |