/** * MergeReadinessService — CI/CD quality gate for governance enforcement at merge time. * * Composes existing domain capabilities (BRE, compliance, dependency, PR review) * into a single structured pass/fail check. Uses existing services — no new * validation logic. Override mechanism is audited. * * 6 checks: * 1. Workflow compliance — did the task follow the full methodology? * 2. PR review requirement — approving reviews on linked PR * 3. Dependency completion — all upstream deps in Done * 4. Epic integrity — wave maintains epic cohesion * 5. Test/security gates — commit status checks, vulnerability alerts * 6. Compliance threshold — project compliance score above minimum */ import type { ITaskService, IIssueRepository, IRepositoryRepository, IDependencyService, IEpicService, IAuditService, IComplianceService } from '../../container/interfaces.js'; import type { ILogger, ActorIdentity } from '../../shared/logger.js'; import type { IEventBus } from '../../shared/events/index.js'; import type { MergeReadinessResult } from './types.js'; export interface MergeGateConfig { minReviews?: number; minComplianceScore?: number; requireWorkflowCompliance?: boolean; requireDependencyCompletion?: boolean; requireEpicIntegrity?: boolean; requireSecurityScan?: boolean; } export interface IMergeReadinessService { checkMergeReadiness(issueNumber: number, options?: { overrideReason?: string; actor?: ActorIdentity; config?: MergeGateConfig; }): Promise; } export declare class MergeReadinessService implements IMergeReadinessService { private readonly taskService; private readonly issueRepository; private readonly repositoryRepository; private readonly dependencyService; private readonly epicService; private readonly auditService; private readonly complianceService; private readonly eventBus; private readonly sessionId; constructor(taskService: ITaskService, issueRepository: IIssueRepository, repositoryRepository: IRepositoryRepository, dependencyService: IDependencyService, epicService: IEpicService, auditService: IAuditService, complianceService: IComplianceService, eventBus: IEventBus, sessionId: string, _logger: ILogger); checkMergeReadiness(issueNumber: number, options?: { overrideReason?: string; actor?: ActorIdentity; config?: MergeGateConfig; }): Promise; private checkWorkflowCompliance; private checkPRReviews; private checkDependencyCompletion; private checkEpicIntegrity; private checkSecurityGates; private checkComplianceThreshold; private emitOverrideEvent; } //# sourceMappingURL=merge-readiness-service.d.ts.map