/** * Principle Training State Store * ================================================================ * * Legacy compatibility adapter over the hybrid principle tree ledger file. * Top-level principle training records remain source-compatible for existing * consumers, while `_tree` is reserved for first-class Rule/Implementation * entities managed by principle-tree-ledger.ts. */ import type { PrincipleEvaluatorLevel } from './evolution-types.js'; /** File name for principle training state persistence */ export declare const PRINCIPLE_TRAINING_FILE = "principle_training_state.json"; export type InternalizationStatus = 'prompt_only' | 'needs_training' | 'in_training' | 'deployed_pending_eval' | 'internalized' | 'regressed'; export interface PrincipleTrainingState { principleId: string; evaluability: PrincipleEvaluatorLevel; applicableOpportunityCount: number; observedViolationCount: number; complianceRate: number; violationTrend: number; generatedSampleCount: number; approvedSampleCount: number; includedTrainRunIds: string[]; deployedCheckpointIds: string[]; lastEvalScore?: number; internalizationStatus: InternalizationStatus; } export type PrincipleTrainingStore = Record; export declare function createDefaultPrincipleState(principleId: string): PrincipleTrainingState; export declare function loadStore(stateDir: string): PrincipleTrainingStore; export declare function saveStore(stateDir: string, store: PrincipleTrainingStore): void; export declare function loadStoreAsync(stateDir: string): Promise; export declare function saveStoreAsync(stateDir: string, store: PrincipleTrainingStore): Promise; export declare function getPrincipleState(stateDir: string, principleId: string): PrincipleTrainingState; export declare function setPrincipleState(stateDir: string, state: PrincipleTrainingState): void; export declare function removePrincipleState(stateDir: string, principleId: string): void; export declare function listPrincipleIds(stateDir: string): string[]; export declare function listPrinciplesByStatus(stateDir: string, status: InternalizationStatus): PrincipleTrainingState[]; export declare function listEvaluablePrinciples(stateDir: string): PrincipleTrainingState[]; /** * Transition a principle's internalization status to the next valid state. * Throws if the transition is not allowed. * * #212: This enables principles created as `prompt_only` to eventually * become `needs_training` and enter the nocturnal evaluation pipeline. */ export declare function transitionInternalizationStatus(stateDir: string, principleId: string, nextStatus: InternalizationStatus): void;