/** * correction-cluster-runner — W3-2 클러스터링 실행 (파일 IO / 룰 저장 / 훅 연결). * 순수 로직은 correction-clustering.ts. 여기서만 rule-store 를 건드린다. * * 흐름 (세션종료 시 auto-compound-runner:promoteSessionCandidates 직후 호출): * 1. me-scope active explicit_correction 룰(비-hard) 로드 * 2. 억제목록 로드 → clusterCorrectionRules * 3. 각 클러스터: T5 내부 모순이면 스킵(conflict 우선), 아니면 통합 rule 생성 + * 원본 superseded + clustered_into 링크 * 4. 통합 요약 반환(호출측이 알림) * * unmerge: 통합 rule 제거 + 원본 active 복원 + 조합을 억제목록에 추가(재통합 방지). */ export interface ClusterMergeResult { /** 통합 rule_id. */ mergedRuleId: string; /** 통합된 원본 rule_id 들. */ memberIds: string[]; category: string; strength: string; confidence: number; policy: string; } /** * 세션종료 클러스터링 실행. 통합 발생 시 각 통합 요약 배열 반환(빈 배열이면 no-op). * 자동 실행이므로 조용하지 않게 — 호출측이 결과를 stderr/알림으로 노출한다. */ export declare function runCorrectionClustering(): Promise; export interface UnmergeResult { ok: boolean; restored: string[]; reason?: string; } /** * 통합 취소: 통합 rule 을 removed 처리하고 원본 룰을 active 복원, 조합을 억제목록에 추가. * 억제로 인해 다음 세션종료에 같은 조합이 재통합되지 않는다. */ export declare function unmergeCluster(mergedRuleId: string): UnmergeResult;