Reference

Axis Definition Schema

Version: 0.2
Status: Draft
Lineage: Schema reference

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:

  • component
  • function
  • mode
  • performanceConstraint

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:

  • default
  • project-specific

Indicates whether the axis is part of the M45 default set or defined by a project.


status

Type: enum

Values:

  • active
  • deprecated

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 example
  • rationale: 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 misclassify
  • rationale: 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.