export type Fidelity = "advisory" | "approximate" | "exact"; export interface CanonicalSettingRecord { id: string; kind: "rule-intent" | "value"; surface: string; dimension: string; valueType: string; default: unknown; } export interface MappingRow { canonicalId: string; tool: string; langs: string[]; knob: string | null; default: unknown; fidelity: Fidelity; fixed: boolean; ruleCount?: number; verified?: string; provenance?: { toolVersion: string; source: string }; } export interface OwnershipSurface { id: string; ownerByLanguage: Record; fixedOwners: string[]; advisoryOwners?: string[]; alternatives?: Record; } export interface ConflictInstance { kind: "known-bad-pair" | "ownership-overlap" | "unsatisfiable-on-fixed" | "value-out-of-range"; surface?: string; canonicalId?: string; tools?: string[]; lang?: string; value?: unknown; resolution: string; } export interface CanonicalData { settings: CanonicalSettingRecord[]; rows: MappingRow[]; ownership: OwnershipSurface[]; conflicts: ConflictInstance[]; } export interface CanonicalConfig { languages: string[]; values?: Record; enabled?: Record; } export interface ConceptKnob { knob: string | null; default?: unknown; fidelity: string | null; provenance?: string; fixed?: boolean; variant?: string; } export interface KnobConcept { valueType: string; tools: Record; enum?: unknown; } export interface MappingEntry { default?: unknown; fidelity: string | null; knob: string | null; knobStatus?: string; lang: string[] | string; provenance?: string | undefined; ruleCount: number; ruleIds: string[]; tool: string; verified: string; fixed?: boolean; variant?: string; } export interface MappingConcept { dimension: string; ruleCount: number; toolCount: number; valueType: string; enum?: unknown; entries: MappingEntry[]; } export interface CanonDefects { algoForce: string[]; algoId: string[]; archEdge: string[]; archId: string[]; archRename: string[]; archType: string[]; unknownType: Set; } export type OwnerOverride = Record>; export interface OwnershipOverrideConflict { kind: "fixed-owner" | "tool-not-competitor" | "unknown-surface"; surface: string; lang: string; detail: string; }