GCC Build OSv0
/api

has_role_onedge type

Stakeholder holds a RACI role on a target object. Exactly one decision_maker per RACI-required object (invariant I7). When raci_role = approver under Q2 multi-step chains, approval_step_index orders the chain.

Full spec

{
  "name": "has_role_on",
  "description": "Stakeholder holds a RACI role on a target object. Exactly one decision_maker per RACI-required object (invariant I7). When raci_role = approver under Q2 multi-step chains, approval_step_index orders the chain.",
  "source_node_types": [
    "Stakeholder"
  ],
  "target_node_types": [
    "Workstream",
    "WorkstreamPack",
    "Capability",
    "Question",
    "Decision",
    "Milestone",
    "Gate",
    "TransitionWave",
    "Risk",
    "Assumption",
    "Issue",
    "Control",
    "MaturityDimension",
    "ProgrammeMemoryEvent",
    "Document"
  ],
  "cardinality": "N:N",
  "traversal_semantics": "forward",
  "dag_participation": false,
  "lifecycle_states": [
    "active",
    "terminated"
  ],
  "attributes_schema": {
    "type": "object",
    "additionalProperties": false,
    "required": [
      "raci_role"
    ],
    "properties": {
      "raci_role": {
        "type": "string",
        "enum": [
          "decision_maker",
          "approver",
          "reviewer",
          "contributor",
          "informed"
        ]
      },
      "approval_step_index": {
        "type": [
          "integer",
          "null"
        ],
        "minimum": 1,
        "description": "Required (>=1) when raci_role = approver under multi-step Q2 chain; null otherwise. Ordering is dense over the chain (1, 2, 3, ...). Out-of-order or skipped steps are rejected by raci-completeness.spec."
      },
      "assigned_at": {
        "type": "string",
        "format": "date-time"
      },
      "scope_note": {
        "type": "string",
        "maxLength": 500
      }
    }
  },
  "raci_role": "decision_maker|approver|reviewer|contributor|informed"
}