AssumptionAssumption
retention: operational
A RAID Assumption: a stated belief whose validity is required for downstream decisions or capabilities to hold. Stale assumptions are auto-promoted to Issues past their review_date.
RACI requirements
decision_maker- required
approver- optional
reviewer- optional
contributor- optional
informed- optional
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://gcc.bootminds.com/ontology/node-types/assumption.json",
"title": "Assumption",
"description": "A RAID Assumption: a stated belief whose validity is required for downstream decisions or capabilities to hold. Stale assumptions are auto-promoted to Issues past their review_date.",
"type": "object",
"x-node-type": "Assumption",
"x-lifecycle-state-machine": null,
"x-raci-requirements": {
"decision_maker": "required",
"approver": "optional",
"reviewer": "optional",
"contributor": "optional",
"informed": "optional"
},
"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": "Assumption"
},
"tenant_id": {
"type": "string",
"format": "uuid"
},
"state": {
"type": "string",
"enum": [
"Open",
"Validated",
"Invalidated"
],
"description": "Assumption status. No formal state machine; AssumptionInvalidated is a first-class event used by Programme Memory and Programme Confidence."
},
"attributes": {
"type": "object",
"additionalProperties": false,
"required": [
"statement",
"validation_path",
"fallback_if_invalidated",
"owner_id_ref",
"review_date"
],
"properties": {
"statement": {
"type": "string",
"minLength": 1,
"description": "The assumption being stated (e.g., 'Riyadh entity will be incorporated by July 1')."
},
"validation_path": {
"type": "string",
"minLength": 1,
"description": "How and by whom the assumption will be validated."
},
"validated_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"description": "Timestamp at which the assumption was validated; null while Open or Invalidated."
},
"fallback_if_invalidated": {
"type": "string",
"minLength": 1,
"description": "Plan of action if the assumption proves false."
},
"owner_id_ref": {
"type": "string",
"format": "uuid",
"description": "Stakeholder UUID accountable for validating this assumption."
},
"review_date": {
"type": "string",
"format": "date",
"description": "Next scheduled review date. Past this date with state == Open, the auto-promote job converts this assumption to an Issue (1A.5.6)."
},
"linked_object_refs": {
"type": "array",
"description": "Convenience denormalisation of objects this assumption underpins. Authoritative links live on edges.",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"object_type",
"object_id"
],
"properties": {
"object_type": {
"type": "string",
"enum": [
"Decision",
"Capability",
"Milestone",
"Gate",
"TransitionWave"
]
},
"object_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"created_by": {
"type": "string",
"format": "uuid"
},
"updated_at": {
"type": "string",
"format": "date-time"
}
}
}