---
title: Change Management
description: Change Management protocol schemas
---

{/* ⚠️  AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs go in content/docs/guides/. */}

Change Type Enum

Classification of change requests based on risk and approval requirements.

Follows ITIL change management best practices.

<Callout type="info">
**Source:** `packages/spec/src/system/change-management.zod.ts`
</Callout>

## TypeScript Usage

```typescript
import { ChangeImpact, ChangePriority, ChangeRequest, ChangeStatus, ChangeType, RollbackPlan } from '@objectstack/spec/system';
import type { ChangeImpact, ChangePriority, ChangeRequest, ChangeStatus, ChangeType, RollbackPlan } from '@objectstack/spec/system';

// Validate data
const result = ChangeImpact.parse(data);
```

---

## ChangeImpact

### Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **level** | `Enum<'low' \| 'medium' \| 'high' \| 'critical'>` | ✅ | Impact level |
| **affectedSystems** | `string[]` | ✅ | Affected systems |
| **affectedUsers** | `number` | optional | Affected user count |
| **downtime** | `Object` | optional | Downtime information |


---

## ChangePriority

### Allowed Values

* `critical`
* `high`
* `medium`
* `low`


---

## ChangeRequest

### Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **id** | `string` | ✅ | Change request ID |
| **title** | `string` | ✅ | Change title |
| **description** | `string` | ✅ | Change description |
| **type** | `Enum<'standard' \| 'normal' \| 'emergency' \| 'major'>` | ✅ | Change type |
| **priority** | `Enum<'critical' \| 'high' \| 'medium' \| 'low'>` | ✅ | Change priority |
| **status** | `Enum<'draft' \| 'submitted' \| 'in-review' \| 'approved' \| 'scheduled' \| 'in-progress' \| 'completed' \| 'failed' \| 'rolled-back' \| 'cancelled'>` | ✅ | Change status |
| **requestedBy** | `string` | ✅ | Requester user ID |
| **requestedAt** | `number` | ✅ | Request timestamp |
| **impact** | `Object` | ✅ | Impact assessment |
| **implementation** | `Object` | ✅ | Implementation plan |
| **rollbackPlan** | `Object` | ✅ | Rollback plan |
| **schedule** | `Object` | optional | Schedule |
| **securityImpact** | `Object` | optional | Security impact assessment per ISO 27001:2022 A.8.32 |
| **approval** | `Object` | optional | Approval workflow |
| **attachments** | `Object[]` | optional | Attachments |
| **metadata** | `Record<string, any>` | optional | Custom metadata key-value pairs for extensibility |


---

## ChangeStatus

### Allowed Values

* `draft`
* `submitted`
* `in-review`
* `approved`
* `scheduled`
* `in-progress`
* `completed`
* `failed`
* `rolled-back`
* `cancelled`


---

## ChangeType

### Allowed Values

* `standard`
* `normal`
* `emergency`
* `major`


---

## RollbackPlan

### Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **description** | `string` | ✅ | Rollback description |
| **steps** | `Object[]` | ✅ | Rollback steps |
| **testProcedure** | `string` | optional | Test procedure |


---

