/**
 * Nexus Prime — Phantom Execution Types
 *
 * Shared types for the modularized Phantom runtime.
 * These types are used across all phantom sub-modules.
 */
export interface WorkerManifest {
    role: 'coder' | 'verifier' | 'reviewer';
    files: string[];
    constraints: string[];
    worktreeId?: string;
}
export interface WorkerResult {
    role: string;
    verified: boolean;
    modifiedFiles: string[];
    errors: string[];
    duration: number;
}
export interface ExecutionPhase {
    name: string;
    workers: WorkerManifest[];
    dependencies: string[];
}
export type ExecutionState = 'planned' | 'running' | 'completed' | 'failed';
export type VerificationState = 'pending' | 'confirmed' | 'flagged' | 'rejected';
export type AcceptanceState = 'unapplied' | 'applied' | 'rolled_back' | 'held';
export interface RunTriState {
    executionState: ExecutionState;
    verificationState: VerificationState;
    acceptanceState: AcceptanceState;
}
export interface MutationRecord {
    filePath: string;
    changeType: 'create' | 'modify' | 'delete';
    workerRole: string;
    timestamp: number;
}
export interface VerificationCheckResult {
    name: string;
    passed: boolean;
    detail: string;
    severity: 'error' | 'warning' | 'info';
}
export interface RunProjection {
    runId: string;
    executionState: ExecutionState;
    verificationState: VerificationState;
    acceptanceState: AcceptanceState;
    workerResults: WorkerResult[];
    proofIds: string[];
    startedAt: number;
    completedAt?: number;
}
export interface RuntimeContext {
    candidateFiles: string[];
    memoryRecall: string[];
    tokenBudget: number;
    repoRoot: string;
}
export interface TopologyPlan {
    totalWorkers: number;
    mode: string;
    lanes: Array<{
        role: string;
        files: string[];
    }>;
    rationale: string;
}
