Skip to content

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.

Exposure

Where this one definition is reachable. Absence is explicit: a surface not listed does not carry it.

surfaceas
MCPtool majordomus_artifact
HTTPGET /api/v1/distribution/artifact operationId distribution.artifact
command linemajordomus 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.

propertytyperequireddescription
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.

propertytyperequireddescription
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.

transportstatecasestargets
directcovered1first-published-target
mcpcovered1first-published-target
httpcovered1first-published-target