Reference implementation for the Phoenix Architecture. Work in progress. aicoding.leaflet.pub/
ai coding crazy
at main 64 lines 1.6 kB view raw
1/** 2 * Change Classification model. 3 */ 4 5export enum ChangeClass { 6 /** Trivial — formatting only */ 7 A = 'A', 8 /** Local semantic change */ 9 B = 'B', 10 /** Contextual semantic shift */ 11 C = 'C', 12 /** Uncertain */ 13 D = 'D', 14} 15 16export interface ClassificationSignals { 17 /** Normalized text edit distance (0 = identical, 1 = completely different) */ 18 norm_diff: number; 19 /** clause_semhash changed */ 20 semhash_delta: boolean; 21 /** context_semhash_cold changed */ 22 context_cold_delta: boolean; 23 /** Jaccard distance of extracted terms (0 = identical, 1 = no overlap) */ 24 term_ref_delta: number; 25 /** Section path changed */ 26 section_structure_delta: boolean; 27 /** Number of affected canonical nodes */ 28 canon_impact: number; 29} 30 31export interface ChangeClassification { 32 /** The assigned class */ 33 change_class: ChangeClass; 34 /** Confidence score 0–1 */ 35 confidence: number; 36 /** Signals used for classification */ 37 signals: ClassificationSignals; 38 /** Clause IDs involved */ 39 clause_id_before?: string; 40 clause_id_after?: string; 41 /** Whether an LLM was used to resolve a D-class classification */ 42 llm_resolved?: boolean; 43} 44 45export enum DRateLevel { 46 TARGET = 'TARGET', // ≤5% 47 ACCEPTABLE = 'ACCEPTABLE', // ≤10% 48 WARNING = 'WARNING', // ≤15% 49 ALARM = 'ALARM', // >15% 50} 51 52export interface DRateStatus { 53 rate: number; 54 level: DRateLevel; 55 window_size: number; 56 d_count: number; 57 total_count: number; 58} 59 60export enum BootstrapState { 61 BOOTSTRAP_COLD = 'BOOTSTRAP_COLD', 62 BOOTSTRAP_WARMING = 'BOOTSTRAP_WARMING', 63 STEADY_STATE = 'STEADY_STATE', 64}