Axis Definition Schema
This schema defines how intent axes are represented formally.
It applies to both default and project-specific axes.
Axis definition object
{
"axisId": "string",
"displayName": "string",
"description": "string",
"scope": "default | project-specific",
"status": "active | deprecated",
"inclusionCriteria": [
"string"
],
"typicalSources": [
"string"
],
"examples": [
{
"text": "string",
"rationale": "string"
}
],
"nonExamples": [
{
"text": "string",
"rationale": "string"
}
],
"notes": "string | null"
}
Field definitions
axisId
Type: string
Stable identifier for the axis.
Used in intent elements and decision records.
Examples:
componentfunctionmodeperformanceConstraint
displayName
Type: string
Human-readable name of the axis.
description
Type: string
Normative definition of the semantic meaning of the axis.
scope
Type: enum
Values:
defaultproject-specific
Indicates whether the axis is part of the M45 default set or defined by a project.
status
Type: enum
Values:
activedeprecated
Deprecated axes may appear in historical intent snapshots but should not be newly inferred.
inclusionCriteria
Type: array of strings
Defines when an intent element belongs to this axis.
typicalSources
Type: array of strings
Common artifact types from which this axis is inferred.
examples
Type: array of objects
Representative examples of intent elements in this axis.
Each example includes:
text: the examplerationale: a short explanation of why it belongs under this axis (helps humans and tools align on semantics)
nonExamples
Type: array of objects
Representative cases that should not be classified under this axis.
Each non-example includes:
text: the candidate that looks tempting to misclassifyrationale: a short explanation of why it does not belong under this axis
notes
Type: string or null
Optional clarifications, constraints, or project-specific guidance.
Design intent
This schema exists to ensure that:
- Axis configurability remains explicit
- Extensions do not silently change semantics
- Humans and tools share the same understanding
Axes are treated as schema elements, not as hard-coded assumptions. See Intent Axes for the conceptual overview.