/** * Forgen v1 — Pack Mismatch Detector * * rolling 3세션 mismatch score 계산. * Authoritative spec: docs/plans/2026-04-03-forgen-onboarding-adaptation-spec.md §8 * * 신호별 점수: * - 반대 방향 explicit_correction: +2 * - session_summary가 반대 pack 성향 명시: +1 * - 같은 축 strong rule 2개+ 신규 생성: +1 * * 후보 조건: * - 최근 3세션 rolling sum >= 4 (축별) * - 또는 최근 3세션에 같은 방향 explicit_correction 2회+ */ import type { Evidence, Rule, QualityPack, AutonomyPack } from '../store/types.js'; export interface MismatchSignal { session_id: string; axis: 'quality_safety' | 'autonomy'; score: number; reason: string; } export interface MismatchResult { quality_mismatch: boolean; autonomy_mismatch: boolean; quality_score: number; autonomy_score: number; signals: MismatchSignal[]; } /** * 단일 세션의 mismatch 신호를 계산. * * @param sessionId 세션 ID * @param corrections 해당 세션의 explicit_correction evidence * @param summaries 해당 세션의 session_summary evidence * @param newStrongRules 해당 세션에서 신규 생성된 strong rule * @param currentQuality 현재 quality pack * @param currentAutonomy 현재 autonomy pack */ export declare function computeSessionSignals(sessionId: string, corrections: Evidence[], summaries: Evidence[], newStrongRules: Rule[], _currentQuality: QualityPack, _currentAutonomy: AutonomyPack): MismatchSignal[]; /** * 최근 3세션 rolling sum으로 mismatch 판정. */ export declare function detectMismatch(recentSignals: MismatchSignal[]): MismatchResult;