/**
 * Result of job dispatch operation
 */
export interface JobDispatchResult {
  jobId: string;
  queueName: string;
  status: string;
  estimatedStartTime?: Date;
}

/**
 * Guard Rails result - capability permission check
 */
export interface GuardRailsResult {
  allowed: boolean;
  reason?: string;
  requiredCapability?: string;
}

/**
 * Quality Rails result - mandatory gate check
 */
export interface QualityRailsResult {
  required: boolean;
  gates: string[];
  skipReason?: string;
}

/**
 * Job dispatch context
 */
export interface JobDispatchContext {
  workspaceId: string;
  type: string;
  priority?: number;
  guardRails?: GuardRailsResult;
  qualityRails?: QualityRailsResult;
  metadata?: Record<string, unknown>;
}
