WorkstreamPackWorkstreamPack
retention: provenance
An installed instance of a versioned, opinionated bundle of workstreams + questions + suggested decisions + maturity rubric. Records WHICH pack was installed, at what version, against which registry hash (I14). Packs reference but cannot extend the central node-type vocabulary (I10).
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/workstream_pack.json",
"title": "WorkstreamPack",
"description": "An installed instance of a versioned, opinionated bundle of workstreams + questions + suggested decisions + maturity rubric. Records WHICH pack was installed, at what version, against which registry hash (I14). Packs reference but cannot extend the central node-type vocabulary (I10).",
"type": "object",
"x-node-type": "WorkstreamPack",
"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": "provenance",
"required": [
"node_id",
"node_type",
"tenant_id",
"attributes",
"state",
"created_at",
"created_by"
],
"properties": {
"node_id": {
"type": "string",
"format": "uuid"
},
"node_type": {
"const": "WorkstreamPack"
},
"tenant_id": {
"type": "string",
"format": "uuid"
},
"state": {
"type": "string",
"enum": [
"installed",
"upgraded",
"uninstalled"
],
"description": "Pack installation lifecycle. 'upgraded' is transient (recorded at the moment a major-version migration runs); steady-state is 'installed' or 'uninstalled'. A formal pack-lifecycle state machine may emerge later."
},
"attributes": {
"type": "object",
"additionalProperties": false,
"required": [
"pack_id",
"pack_version",
"priority",
"license",
"registry_version_hash",
"installed_at",
"installed_by"
],
"properties": {
"pack_id": {
"type": "string",
"minLength": 1,
"description": "Registry identifier of the pack (e.g., 'bootminds.it.v1', 'bootminds.pmo.v1'). NOT the per-instance node UUID."
},
"pack_version": {
"type": "string",
"pattern": "^\\d+\\.\\d+\\.\\d+(-[A-Za-z0-9.-]+)?$",
"description": "Semver of the installed pack version."
},
"priority": {
"type": "integer",
"minimum": 0,
"description": "Q10: pack-pack default precedence priority. Higher integers win on collision; ties resolve to install order; collisions emit PackCollisionDetected event."
},
"license": {
"type": "string",
"enum": [
"proprietary",
"BSL-1.1",
"Apache-2.0",
"MIT",
"source-available-other"
],
"description": "License declared in the pack manifest. Q5: IT pack proprietary for 12 months; PMO + Legal source-available (BSL) from launch; glide path to Apache by month 18."
},
"registry_version_hash": {
"type": "string",
"minLength": 1,
"description": "I14: hash of the central node/edge/event/state-machine registry version that this pack was validated against at install time. Required for replay-safe pack uninstall across registry versions."
},
"installed_at": {
"type": "string",
"format": "date-time",
"description": "Wall-clock time at which the pack was committed (post dry-run) into this tenant."
},
"installed_by": {
"type": "string",
"format": "uuid",
"description": "Stakeholder UUID of the user who committed the pack install (typically a Tenant Admin or Bootminds Staff)."
},
"r2_artifact_key": {
"type": "string",
"description": "Optional R2 object key of the immutable pack artifact in the pack catalog. Provenance pointer to the exact bytes installed."
},
"upgrade_from_version": {
"type": [
"string",
"null"
],
"pattern": "^\\d+\\.\\d+\\.\\d+(-[A-Za-z0-9.-]+)?$",
"description": "If this row records an upgrade, the prior semver. Null on initial install."
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"created_by": {
"type": "string",
"format": "uuid"
},
"updated_at": {
"type": "string",
"format": "date-time"
}
}
}