GCC Build OSv0
/api

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"
    }
  }
}