export interface EnforceDescriptor { readonly engine: 'native' | 'opa' | 'enforcer'; readonly tool: string; readonly toolRuleId?: string; readonly runtime?: 'node' | 'dotnet' | 'php' | 'python' | 'iac' | 'shell'; readonly config?: Readonly>; readonly configRef?: string; readonly mode?: 'warn' | 'block'; readonly severityMap?: Readonly>; } export interface AuthoredRuleOverride { readonly enabled?: boolean; readonly severity?: string; readonly blocking?: boolean; readonly rationale?: string; readonly approvedBy?: string; readonly expiresOn?: string; } export interface CorpusRuleOverride { readonly source: string; readonly delta: AuthoredRuleOverride; } export interface NormalizedRule { id: string; severity: 'MUST' | 'SHOULD' | 'COULD' | 'MUST NOT'; category: string; title: string; description: string; blocking: boolean; validationQuery?: string; sourceFile: string; enforce?: EnforceDescriptor; enabled?: boolean; corpusOverride?: CorpusRuleOverride; }