ObjectStackObjectStack

Change Management

Change Management protocol schemas

Change Type Enum

Classification of change requests based on risk and approval requirements. Follows ITIL change management best practices.

Source: packages/spec/src/system/change-management.zod.ts

TypeScript Usage

import { ChangeImpactSchema, ChangePrioritySchema, ChangeRequestSchema, ChangeStatusSchema, ChangeTypeSchema, RollbackPlanSchema } from '@objectstack/spec/system';
import type { ChangeImpact, ChangePriority, ChangeRequest, ChangeStatus, ChangeType, RollbackPlan } from '@objectstack/spec/system';

// Validate data
const result = ChangeImpactSchema.parse(data);

ChangeImpact

Properties

PropertyTypeRequiredDescription
levelEnum<'low' | 'medium' | 'high' | 'critical'>Impact level
affectedSystemsstring[]Affected systems
affectedUsersnumberoptionalAffected user count
downtime{ required: boolean; durationMinutes?: number }optionalDowntime information

ChangePriority

Allowed Values

  • critical
  • high
  • medium
  • low

ChangeRequest

Properties

PropertyTypeRequiredDescription
idstringChange request ID
titlestringChange title
descriptionstringChange description
typeEnum<'standard' | 'normal' | 'emergency' | 'major'>Change type
priorityEnum<'critical' | 'high' | 'medium' | 'low'>Change priority
statusEnum<'draft' | 'submitted' | 'in-review' | 'approved' | 'scheduled' | 'in-progress' | 'completed' | 'failed' | 'rolled-back' | 'cancelled'>Change status
requestedBystringRequester user ID
requestedAtnumberRequest timestamp
impact{ level: Enum<'low' | 'medium' | 'high' | 'critical'>; affectedSystems: string[]; affectedUsers?: number; downtime?: object }Impact assessment
implementation{ description: string; steps: object[]; testing?: string }Implementation plan
rollbackPlan{ description: string; steps: object[]; testProcedure?: string }Rollback plan
schedule{ plannedStart: number; plannedEnd: number; actualStart?: number; actualEnd?: number }optionalSchedule
securityImpact{ assessed: boolean; riskLevel?: Enum<'none' | 'low' | 'medium' | 'high' | 'critical'>; affectedDataClassifications?: Enum<'pii' | 'phi' | 'pci' | 'financial' | 'confidential' | 'internal' | 'public'>[]; requiresSecurityApproval: boolean; … }optionalSecurity impact assessment per ISO 27001:2022 A.8.32
approval{ required: boolean; approvers: object[] }optionalApproval workflow
attachments{ name: string; url: string }[]optionalAttachments
metadataRecord<string, any>optionalCustom 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

PropertyTypeRequiredDescription
descriptionstringRollback description
steps{ order: number; description: string; estimatedMinutes: number }[]Rollback steps
testProcedurestringoptionalTest procedure

On this page