Reference implementation for the Phoenix Architecture. Work in progress.
aicoding.leaflet.pub/
ai
coding
crazy
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}