Skip to content

why.audiences

Every audience the catalogue declares, each with the public moments that name it. Membership is derived from the moments and is never listed in an audience's own file.

Every audience the catalogue declares, each with the public moments that name it. Membership is derived from the moments and is never listed in an audience's own file.

  • query
  • behaviorally_verified
  • module why
  • #why
  • #catalogue

Exposure

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

surfaceas
MCPtool majordomus_why_audiences
resource majordomus://why/audiences
HTTPGET /api/v1/why/audiences operationId why.audiences
command linemajordomus why audiences

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

Every audience.

propertytyperequireddescription
audiences array yes Each, with its derived membership, in presentation order.
count integer yes How many.
JSON Schema
{
  "$defs": {
    "AudienceView": {
      "description": "One audience, with the membership nobody authored.",
      "properties": {
        "body": {
          "description": "The Markdown body.",
          "type": "string"
        },
        "count": {
          "description": "Derived: how many.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        },
        "id": {
          "description": "The identity, the slug and the file name.",
          "type": "string"
        },
        "moments": {
          "description": "Derived: the public moments that name it, in presentation order.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "route": {
          "default": "",
          "description": "Derived: `/why/audiences/<id>/`.",
          "type": "string"
        },
        "short_title": {
          "description": "Two or three words for a filter chip.",
          "type": [
            "string",
            "null"
          ]
        },
        "source": {
          "default": "",
          "description": "Derived: the file it came from.",
          "type": "string"
        },
        "status": {
          "description": "`stable`, `draft` or `deprecated`.",
          "type": "string"
        },
        "summary": {
          "description": "One line: the working situation.",
          "type": "string"
        },
        "tags": {
          "default": [],
          "description": "Free tags.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "title": {
          "description": "Who they are.",
          "type": "string"
        },
        "weight": {
          "default": 0,
          "description": "Presentation order.",
          "format": "uint32",
          "minimum": 0,
          "type": "integer"
        },
        "workflow": {
          "description": "One line: how work flows for them.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "id",
        "title",
        "summary",
        "status",
        "moments",
        "count"
      ],
      "type": "object"
    }
  },
  "description": "Every audience.",
  "properties": {
    "audiences": {
      "description": "Each, with its derived membership, in presentation order.",
      "items": {
        "$ref": "#/$defs/AudienceView"
      },
      "type": "array"
    },
    "count": {
      "description": "How many.",
      "format": "uint",
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "count",
    "audiences"
  ],
  "title": "AudienceList",
  "type": "object"
}

Policies

benchmark
required — a target on every transport the exposure declares; the cases are the input type's
cache
process — up to 4 entries in the process, scoped by the registry fingerprint

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 cold+warm
mcpcovered1default cold+warm
httpcovered1default cold+warm