Skip to content

repository.info

The repository root, layer sections, git state, discovery mode, kinds present, every diagnostic, and the capability registry counted.

The repository root, layer sections, git state, discovery mode, kinds present, every diagnostic, and the capability registry counted.

Exposure

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

surfaceas
MCPtool majordomus_repository
resource majordomus://repository
HTTPGET /api/v1/repository operationId repository.info
command line

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

No input.

No properties: the capability takes no input.

JSON Schema
{
  "additionalProperties": false,
  "description": "No input.",
  "title": "Empty",
  "type": "object"
}

output · RepositoryReport

The repository, its layer, its git state, and the state of this process's index.

propertytyperequireddescription
capabilities reference yes The capability registry, counted.
diagnostics array yes Every diagnostic the index produced.
kinds object yes Objects per kind.
objects integer yes How many objects the index holds.
repository reference yes The repository: root, layer schema, sections, git state, discovery mode, source classes, kind sources.
state reference yes `ok` when every discovered file became an object, `degraded` otherwise.
JSON Schema
{
  "$defs": {
    "Diagnostic": {
      "description": "One finding about the declarative state, named by a stable code, tied to a path where\nthere is one, and carrying the command that reproduces it where there is one.",
      "properties": {
        "code": {
          "description": "A stable machine-readable code, e.g. `unknown_key`, `duplicate_identity`.",
          "type": "string"
        },
        "message": {
          "description": "What is wrong, for a person; the code is for a program.",
          "type": "string"
        },
        "path": {
          "description": "Repository-relative path of the file concerned, when there is one.",
          "type": [
            "string",
            "null"
          ]
        },
        "severity": {
          "$ref": "#/$defs/Severity",
          "description": "How bad."
        }
      },
      "required": [
        "severity",
        "code",
        "message"
      ],
      "type": "object"
    },
    "GitInfo": {
      "description": "What `git` said about the repository.",
      "properties": {
        "branch": {
          "description": "Branch name, or `None` when detached or unborn.",
          "type": [
            "string",
            "null"
          ]
        },
        "head": {
          "description": "Full commit id of HEAD, or `None` in an unborn repository.",
          "type": [
            "string",
            "null"
          ]
        },
        "toplevel": {
          "description": "Absolute path of the work tree top level.",
          "type": "string"
        },
        "working_tree": {
          "description": "`clean` or `dirty`, from `git status --porcelain`.",
          "type": "string"
        }
      },
      "required": [
        "toplevel",
        "working_tree"
      ],
      "type": "object"
    },
    "GitState": {
      "description": "What git says about the repository, or why it could not be asked.",
      "oneOf": [
        {
          "$ref": "#/$defs/GitInfo",
          "description": "`git` answered; the facts follow.",
          "properties": {
            "state": {
              "const": "available",
              "type": "string"
            }
          },
          "required": [
            "state"
          ],
          "type": "object"
        },
        {
          "description": "`git` could not be asked, or the root is not a work tree; the reason says which.",
          "properties": {
            "reason": {
              "description": "What `git` said, or why it could not be run.",
              "type": "string"
            },
            "state": {
              "const": "unavailable",
              "type": "string"
            }
          },
          "required": [
            "state",
            "reason"
          ],
          "type": "object"
        }
      ]
    },
    "Origin": {
      "description": "Where the declaration was read from.",
      "oneOf": [
        {
          "const": "repository",
          "description": "The repository's own, named by the manifest's `scope` section.",
          "type": "string"
        },
        {
          "const": "distribution",
          "description": "The distribution's default, because the repository declares none.",
          "type": "string"
        }
      ]
    },
    "RepositoryInfo": {
      "description": "What the index knows about the repository it was built from.",
      "properties": {
        "discovery": {
          "description": "`vcs` or `filesystem`.",
          "type": "string"
        },
        "git": {
          "$ref": "#/$defs/GitState",
          "description": "What `git` said, or why it could not be asked."
        },
        "kind_sources": {
          "description": "The kinds files the reader was configured from: the distribution's, then the\nrepository's own when it has one.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "layer_schema": {
          "description": "The manifest's `schema`, `ai-repository/v1`.",
          "type": "string"
        },
        "root": {
          "description": "The repository root, absolute.",
          "type": "string"
        },
        "scope_origin": {
          "$ref": "#/$defs/Origin",
          "description": "Where the scope was read from: `repository` or `distribution`."
        },
        "scope_path": {
          "description": "The scope file: repository-relative for the repository's own, the share path for\nthe distribution's default.",
          "type": "string"
        },
        "sections": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Manifest section name to repository-relative path.",
          "type": "object"
        },
        "source_classes": {
          "description": "Source class id to kind, in declared order.",
          "items": {
            "maxItems": 2,
            "minItems": 2,
            "prefixItems": [
              {
                "type": "string"
              },
              {
                "type": "string"
              }
            ],
            "type": "array"
          },
          "type": "array"
        }
      },
      "required": [
        "root",
        "layer_schema",
        "sections",
        "git",
        "discovery",
        "source_classes",
        "kind_sources",
        "scope_origin",
        "scope_path"
      ],
      "type": "object"
    },
    "Severity": {
      "description": "How bad a diagnostic is. `Error` excludes the file it concerns from the index and puts\nthe index into the degraded state; `Warning` and `Info` do neither.",
      "oneOf": [
        {
          "const": "info",
          "description": "Worth knowing; changes nothing.",
          "type": "string"
        },
        {
          "const": "warning",
          "description": "Something to look at; the object is still served.",
          "type": "string"
        },
        {
          "const": "error",
          "description": "The file is excluded and the index is degraded.",
          "type": "string"
        }
      ]
    },
    "State": {
      "description": "Whether every discovered file became an object.",
      "oneOf": [
        {
          "const": "ok",
          "description": "Every discovered file became an object.",
          "type": "string"
        },
        {
          "const": "degraded",
          "description": "At least one file could not be read; the diagnostics say which.",
          "type": "string"
        }
      ]
    },
    "Summary": {
      "description": "The registry counted: by source, kind, stability and projection.",
      "properties": {
        "benchmark_required": {
          "description": "Executables whose benchmark policy is required.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        },
        "benchmark_waived": {
          "description": "Executables waived from benchmarking for a typed reason.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        },
        "builtin": {
          "description": "Composed in Rust.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        },
        "by_kind": {
          "additionalProperties": {
            "format": "uint",
            "minimum": 0,
            "type": "integer"
          },
          "description": "By kind (`query`, `resource`).",
          "type": "object"
        },
        "by_stability": {
          "additionalProperties": {
            "format": "uint",
            "minimum": 0,
            "type": "integer"
          },
          "description": "By stability.",
          "type": "object"
        },
        "cached": {
          "description": "Executables the executor caches.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        },
        "cli_commands": {
          "description": "With a CLI exposure.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        },
        "declarative": {
          "description": "Read from the layer.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        },
        "http_routes": {
          "description": "With an HTTP exposure.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        },
        "mcp_resources": {
          "description": "With an MCP resource exposure.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        },
        "mcp_tools": {
          "description": "With an MCP tool exposure.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        },
        "modules": {
          "description": "Modules: composed, derived, and one per declarative kind.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        },
        "total": {
          "description": "Every capability.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "total",
        "builtin",
        "declarative",
        "by_kind",
        "by_stability",
        "mcp_tools",
        "mcp_resources",
        "http_routes",
        "cli_commands",
        "modules",
        "benchmark_required",
        "benchmark_waived",
        "cached"
      ],
      "type": "object"
    }
  },
  "description": "The repository, its layer, its git state, and the state of this process's index.",
  "properties": {
    "capabilities": {
      "$ref": "#/$defs/Summary",
      "description": "The capability registry, counted."
    },
    "diagnostics": {
      "description": "Every diagnostic the index produced.",
      "items": {
        "$ref": "#/$defs/Diagnostic"
      },
      "type": "array"
    },
    "kinds": {
      "additionalProperties": {
        "format": "uint",
        "minimum": 0,
        "type": "integer"
      },
      "description": "Objects per kind.",
      "type": "object"
    },
    "objects": {
      "description": "How many objects the index holds.",
      "format": "uint",
      "minimum": 0,
      "type": "integer"
    },
    "repository": {
      "$ref": "#/$defs/RepositoryInfo",
      "description": "The repository: root, layer schema, sections, git state, discovery mode, source classes, kind sources."
    },
    "state": {
      "$ref": "#/$defs/State",
      "description": "`ok` when every discovered file became an object, `degraded` otherwise."
    }
  },
  "required": [
    "repository",
    "state",
    "objects",
    "kinds",
    "diagnostics",
    "capabilities"
  ],
  "title": "RepositoryReport",
  "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
directcovered1default
mcpcovered1default
httpcovered1default

The moments this answers