MaturityDimensionMaturityDimension
retention: operational
A measurable axis on which a Workstream is scored against the canonical 5-level rubric (Ad-hoc -> Repeatable -> Defined -> Managed -> Optimised). Maturity Dimensions are typically defined by a WorkstreamPack.
RACI requirements
decision_maker- n/a
approver- n/a
reviewer- n/a
contributor- n/a
informed- n/a
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://gcc.bootminds.com/ontology/node-types/maturity_dimension.json",
"title": "MaturityDimension",
"description": "A measurable axis on which a Workstream is scored against the canonical 5-level rubric (Ad-hoc -> Repeatable -> Defined -> Managed -> Optimised). Maturity Dimensions are typically defined by a WorkstreamPack.",
"type": "object",
"x-node-type": "MaturityDimension",
"x-lifecycle-state-machine": null,
"x-raci-requirements": {
"decision_maker": "n/a",
"approver": "n/a",
"reviewer": "n/a",
"contributor": "n/a",
"informed": "n/a"
},
"x-retention-class": "operational",
"required": [
"node_id",
"node_type",
"tenant_id",
"attributes",
"state",
"created_at",
"created_by"
],
"properties": {
"node_id": {
"type": "string",
"format": "uuid"
},
"node_type": {
"const": "MaturityDimension"
},
"tenant_id": {
"type": "string",
"format": "uuid"
},
"state": {
"const": "active",
"description": "Maturity dimensions are stateless registry/reference data within a tenant; always active."
},
"attributes": {
"type": "object",
"additionalProperties": false,
"required": [
"name",
"workstream_id_ref",
"levels",
"scoring_criteria_per_level",
"target_level"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Dimension name (e.g., 'Process Documentation', 'Tooling Maturity', 'Automation Coverage')."
},
"description": {
"type": "string",
"description": "Optional description of what this dimension measures."
},
"workstream_id_ref": {
"type": "string",
"format": "uuid",
"description": "Reference to the parent Workstream node this dimension scores."
},
"levels": {
"type": "array",
"minItems": 5,
"maxItems": 5,
"description": "Five fixed level descriptors corresponding to the canonical rubric levels 1-5 (Ad-hoc, Repeatable, Defined, Managed, Optimised). Order is significant: index 0 = level 1.",
"items": {
"type": "string",
"minLength": 1
}
},
"scoring_criteria_per_level": {
"type": "array",
"minItems": 5,
"maxItems": 5,
"description": "Five scoring criteria, one per level. Order is significant and parallel to 'levels'.",
"items": {
"type": "string",
"minLength": 1
}
},
"current_level": {
"type": [
"integer",
"null"
],
"minimum": 1,
"maximum": 5,
"description": "Most recently assessed maturity level. Null until first assessment."
},
"target_level": {
"type": "integer",
"minimum": 1,
"maximum": 5,
"description": "Target maturity level for this dimension."
},
"last_assessed_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"description": "Timestamp of the most recent assessment. Null until first assessment."
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"created_by": {
"type": "string",
"format": "uuid"
},
"updated_at": {
"type": "string",
"format": "date-time"
}
}
}