/** * Assignment Phase: Assign symbols to modules using LLM. */ import type { Command } from '@oclif/core'; import type { IndexDatabase, Module } from '../../../db/database.js'; import type { LlmLogOptions } from '../../llm/_shared/llm-utils.js'; export interface AssignmentPhaseContext { db: IndexDatabase; command: Command; model: string; batchSize: number; maxIterations: number; dryRun: boolean; isJson: boolean; verbose: boolean; llmLogOptions: LlmLogOptions; } export interface AssignmentResult { assigned: number; fuzzy: number; invalidPath: number; notFound: number; } /** * Execute the symbol assignment phase. */ export declare function runAssignmentPhase(ctx: AssignmentPhaseContext): Promise; /** * Validate and apply parsed assignment rows. * Returns counts of assigned, fuzzy-resolved, invalid-path, and not-found assignments. */ export declare function applyParsedAssignments(assignments: Array<{ symbolId: number; modulePath: string; }>, moduleByPath: Map, db: IndexDatabase, dryRun: boolean, allAssignments: Array<{ symbolId: number; modulePath: string; }>): AssignmentResult; /** * Post-assignment file cohesion consolidation. * For each file whose symbols are split across multiple modules, * reassign minority symbols to the majority module. * Barrel/index files are skipped. */ export declare function consolidateFileCohesion(ctx: { db: IndexDatabase; command: Command; isJson: boolean; }): void; /** * Post-assignment base class enforcement. * If a base class (extended by 2+ subclasses in different modules) is assigned to a leaf module, * reassign it to the nearest common ancestor of all extender modules. */ export declare function enforceBaseClassRule(ctx: { db: IndexDatabase; command: Command; isJson: boolean; verbose?: boolean; }): void; export interface CoverageGateContext { db: IndexDatabase; command: Command; model: string; batchSize: number; maxUnassignedPct: number; maxGateRetries: number; isJson: boolean; llmLogOptions: LlmLogOptions; } /** * Coverage gate: check unassigned symbol % and run catch-up passes if needed. */ export declare function runAssignmentCoverageGate(ctx: CoverageGateContext): Promise; //# sourceMappingURL=assignment-phase.d.ts.map