why.moment
One operational moment in full: what it looks like, why it happens, what it costs, what this tool does about it, and every relation derived from its metadata — the responsibilities its claims belong to, the moments that name it, and the moments nearest it by shared area, audience and tag.
One operational moment in full: what it looks like, why it happens, what it costs, what this tool does about it, and every relation derived from its metadata — the responsibilities its claims belong to, the moments that name it, and the moments nearest it by shared area, audience and tag.
- query
- behaviorally_verified
- module why
- #why
Exposure
Where this one definition is reachable. Absence is explicit: a surface not listed does not carry it.
| surface | as |
|---|---|
| MCP | tool majordomus_why_moment |
| HTTP | GET /api/v1/why/moment operationId why.moment |
| command line | majordomus why show |
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 · MomentInput
Which moment to read.
| property | type | required | description |
|---|---|---|---|
| id | string | yes | The moment's id, as `why.list` gives it. This is also its slug and its route. |
JSON Schema
{
"additionalProperties": false,
"description": "Which moment to read.",
"properties": {
"id": {
"description": "The moment's id, as `why.list` gives it. This is also its slug and its route.",
"type": "string"
}
},
"required": [
"id"
],
"title": "MomentInput",
"type": "object"
}output · MomentDetail
One moment in full, with everything derived that a page shows and no file states.
| property | type | required | description |
|---|---|---|---|
| aliases | array | no | Other words a reader might search for. default [] |
| areas | array | yes | The operational areas it falls under. |
| audiences | array | yes | The audiences that recognise it. |
| backlinks | array | yes | Derived: the moments that name this one in their `related`. |
| body | string | no | The Markdown body, without its front matter. |
| capabilities | array | no | Capability ids of the executable that answer it. default [] |
| claims | array | no | Claims that say what is guaranteed here. default [] |
| commands | array | no | Commands of the tool that answer it. default [] |
| doctrines | array | no | Rules of the effective set that govern it. default [] |
| examples | array | yes | The concrete situations. |
| featured | boolean | no | Whether the homepage shows it. default false |
| frequency | string | yes | `rare`, `occasional`, `common` or `constant`. |
| hook | string | yes | The first-person line an index shows. |
| id | string | yes | The identity, the slug and the file name. |
| lifecycle | array | no | The stages of work at which it shows up. default [] |
| neighbours | array | yes | Derived: what a reader should see next, in one list and in a stated order — what this moment names, then what names it, then what is nearest by shared metadata, each appearing once. The three lists above are the same relations kept apart for a reader that wants to know which is which. |
| related | array | no | Moments explicitly related to this one. The reverse is derived. default [] |
| related_detail | array | yes | Derived: the explicitly related moments, summarised so a page needs one call. |
| responsibilities | array | yes | Derived: the responsibilities the claims it names belong to. |
| route | string | no | Derived: `/why/<id>/`. Never authored; the schema refuses a `route` key. default "" |
| severity | string | yes | `low`, `medium` or `high`. |
| short_title | string | null | no | Two or three words for a narrow column, when the record carries one. |
| signals | array | yes | The observable symptoms. |
| similar | array | yes | Derived: moments sharing an area or an audience with this one and not already named by it, nearest first — most shared metadata, then presentation order. |
| source | string | no | Derived: the repository-relative file the record came from. default "" |
| status | string | yes | `stable`, `draft` or `deprecated`. |
| summary | string | yes | One line: what is actually wrong. |
| tags | array | no | Free tags. default [] |
| title | string | yes | The moment as a heading. |
| use_cases | array | no | Use cases that show the way out. default [] |
| weight | integer | no | Presentation order, lowest first. default 0 |
JSON Schema
{
"$defs": {
"Example": {
"description": "One concrete situation, in one audience, with what happens today and what happens\ninstead.",
"properties": {
"after": {
"description": "What happens with it.",
"type": "string"
},
"audience": {
"description": "The audience this situation belongs to; must name an audience of the catalogue.",
"type": "string"
},
"before": {
"description": "What happens without the tool.",
"type": "string"
},
"id": {
"description": "Unique within the moment.",
"type": "string"
},
"title": {
"description": "One line naming the situation.",
"type": "string"
}
},
"required": [
"id",
"audience",
"title",
"before",
"after"
],
"type": "object"
},
"MomentSummary": {
"description": "One moment as a listing shows it: everything a card needs and nothing a page needs.",
"properties": {
"areas": {
"description": "The operational areas it falls under.",
"items": {
"type": "string"
},
"type": "array"
},
"audiences": {
"description": "The audiences that recognise it.",
"items": {
"type": "string"
},
"type": "array"
},
"examples": {
"description": "How many concrete situations it carries.",
"format": "uint",
"minimum": 0,
"type": "integer"
},
"featured": {
"description": "Whether the homepage shows it.",
"type": "boolean"
},
"frequency": {
"description": "`rare`, `occasional`, `common` or `constant`.",
"type": "string"
},
"hook": {
"description": "The first-person line an index shows.",
"type": "string"
},
"id": {
"description": "The identity and the slug.",
"type": "string"
},
"label": {
"description": "The name a narrow column shows: the short title, or the title.",
"type": "string"
},
"route": {
"description": "Derived: `/why/<id>/`.",
"type": "string"
},
"severity": {
"description": "`low`, `medium` or `high`.",
"type": "string"
},
"signals": {
"description": "How many observable symptoms it declares.",
"format": "uint",
"minimum": 0,
"type": "integer"
},
"status": {
"description": "`stable`, `draft` or `deprecated`.",
"type": "string"
},
"summary": {
"description": "One line: what is actually wrong.",
"type": "string"
},
"tags": {
"description": "Free tags.",
"items": {
"type": "string"
},
"type": "array"
},
"title": {
"description": "The moment as a heading.",
"type": "string"
},
"weight": {
"description": "Presentation order.",
"format": "uint32",
"minimum": 0,
"type": "integer"
}
},
"required": [
"id",
"title",
"label",
"hook",
"summary",
"status",
"severity",
"frequency",
"weight",
"featured",
"audiences",
"areas",
"tags",
"route",
"signals",
"examples"
],
"type": "object"
},
"Signal": {
"description": "One observable symptom of a moment: a question a reader can answer about their own\nweek. The questionnaire on the site and the input of `why diagnose` are these and\nnothing else.",
"properties": {
"id": {
"description": "Unique within the moment; the identity a diagnosis selects by.",
"type": "string"
},
"text": {
"description": "The symptom, phrased so a reader can say whether it happened to them.",
"type": "string"
}
},
"required": [
"id",
"text"
],
"type": "object"
}
},
"description": "One moment in full, with everything derived that a page shows and no file states.",
"properties": {
"aliases": {
"default": [],
"description": "Other words a reader might search for.",
"items": {
"type": "string"
},
"type": "array"
},
"areas": {
"description": "The operational areas it falls under.",
"items": {
"type": "string"
},
"type": "array"
},
"audiences": {
"description": "The audiences that recognise it.",
"items": {
"type": "string"
},
"type": "array"
},
"backlinks": {
"description": "Derived: the moments that name this one in their `related`.",
"items": {
"type": "string"
},
"type": "array"
},
"body": {
"description": "The Markdown body, without its front matter.",
"type": "string"
},
"capabilities": {
"default": [],
"description": "Capability ids of the executable that answer it.",
"items": {
"type": "string"
},
"type": "array"
},
"claims": {
"default": [],
"description": "Claims that say what is guaranteed here.",
"items": {
"type": "string"
},
"type": "array"
},
"commands": {
"default": [],
"description": "Commands of the tool that answer it.",
"items": {
"type": "string"
},
"type": "array"
},
"doctrines": {
"default": [],
"description": "Rules of the effective set that govern it.",
"items": {
"type": "string"
},
"type": "array"
},
"examples": {
"description": "The concrete situations.",
"items": {
"$ref": "#/$defs/Example"
},
"type": "array"
},
"featured": {
"default": false,
"description": "Whether the homepage shows it.",
"type": "boolean"
},
"frequency": {
"description": "`rare`, `occasional`, `common` or `constant`.",
"type": "string"
},
"hook": {
"description": "The first-person line an index shows.",
"type": "string"
},
"id": {
"description": "The identity, the slug and the file name.",
"type": "string"
},
"lifecycle": {
"default": [],
"description": "The stages of work at which it shows up.",
"items": {
"type": "string"
},
"type": "array"
},
"neighbours": {
"description": "Derived: what a reader should see next, in one list and in a stated order — what\nthis moment names, then what names it, then what is nearest by shared metadata,\neach appearing once. The three lists above are the same relations kept apart for a\nreader that wants to know which is which.",
"items": {
"type": "string"
},
"type": "array"
},
"related": {
"default": [],
"description": "Moments explicitly related to this one. The reverse is derived.",
"items": {
"type": "string"
},
"type": "array"
},
"related_detail": {
"description": "Derived: the explicitly related moments, summarised so a page needs one call.",
"items": {
"$ref": "#/$defs/MomentSummary"
},
"type": "array"
},
"responsibilities": {
"description": "Derived: the responsibilities the claims it names belong to.",
"items": {
"type": "string"
},
"type": "array"
},
"route": {
"default": "",
"description": "Derived: `/why/<id>/`. Never authored; the schema refuses a `route` key.",
"type": "string"
},
"severity": {
"description": "`low`, `medium` or `high`.",
"type": "string"
},
"short_title": {
"description": "Two or three words for a narrow column, when the record carries one.",
"type": [
"string",
"null"
]
},
"signals": {
"description": "The observable symptoms.",
"items": {
"$ref": "#/$defs/Signal"
},
"type": "array"
},
"similar": {
"description": "Derived: moments sharing an area or an audience with this one and not already\nnamed by it, nearest first — most shared metadata, then presentation order.",
"items": {
"type": "string"
},
"type": "array"
},
"source": {
"default": "",
"description": "Derived: the repository-relative file the record came from.",
"type": "string"
},
"status": {
"description": "`stable`, `draft` or `deprecated`.",
"type": "string"
},
"summary": {
"description": "One line: what is actually wrong.",
"type": "string"
},
"tags": {
"default": [],
"description": "Free tags.",
"items": {
"type": "string"
},
"type": "array"
},
"title": {
"description": "The moment as a heading.",
"type": "string"
},
"use_cases": {
"default": [],
"description": "Use cases that show the way out.",
"items": {
"type": "string"
},
"type": "array"
},
"weight": {
"default": 0,
"description": "Presentation order, lowest first.",
"format": "uint32",
"minimum": 0,
"type": "integer"
}
},
"required": [
"id",
"title",
"hook",
"summary",
"status",
"severity",
"frequency",
"audiences",
"areas",
"signals",
"examples",
"responsibilities",
"backlinks",
"similar",
"related_detail",
"neighbours"
],
"title": "MomentDetail",
"type": "object"
}Policies
- benchmark
- required — a target on every transport the exposure declares; the cases are the input type's
- cache
- process — up to 64 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.
| transport | state | cases | targets |
|---|---|---|---|
| direct | covered | 1 | first-moment cold+warm |
| mcp | covered | 1 | first-moment cold+warm |
| http | covered | 1 | first-moment cold+warm |