agentic-qe
Version:
Agentic Quality Engineering Fleet System - AI-driven quality management platform
104 lines • 3.27 kB
TypeScript
/**
* QualityGateAgent - Intelligent quality gate evaluation with decision trees
* Implements SPARC Phase 2 Section 7.1 - Intelligent Quality Gate Algorithm
*/
/// <reference types="node" />
import { EventEmitter } from 'events';
import { AgentId, AgentStatus, TaskSpec, QualityMetrics, QETestResult, MemoryStore } from '../types';
export interface QualityGateRequest {
testResults: QETestResult[];
metrics: QualityMetrics;
context: {
deploymentTarget: 'development' | 'staging' | 'production';
criticality: 'low' | 'medium' | 'high' | 'critical';
changes: Array<{
file: string;
type: 'added' | 'modified' | 'deleted';
complexity: number;
}>;
environment: string;
};
customCriteria?: QualityCriterion[];
}
export interface QualityCriterion {
name: string;
threshold: number;
weight: number;
type: 'minimum_threshold' | 'maximum_threshold' | 'range' | 'trend';
critical: boolean;
}
export interface QualityGateDecision {
decision: 'PASS' | 'FAIL' | 'ESCALATE';
score: number;
threshold: number;
criteriaEvaluations: CriterionEvaluation[];
riskFactors: RiskFactor[];
explanation: string;
recommendations: string[];
confidence: number;
metadata: {
evaluationTime: Date;
context: any;
decisionTreeVersion: string;
};
}
export interface CriterionEvaluation {
criterion: QualityCriterion;
value: number;
passed: boolean;
score: number;
impact: string;
}
export interface RiskFactor {
type: string;
severity: 'low' | 'medium' | 'high' | 'critical';
probability: number;
impact: string;
mitigation: string[];
}
export declare class QualityGateAgent extends EventEmitter {
private id;
private status;
private memoryStore?;
private decisionEngine;
private consciousnessEngine;
private psychoSymbolicReasoner;
private riskAnalyzer;
private readonly defaultCriteria;
constructor(id: AgentId, memoryStore?: MemoryStore);
initialize(): Promise<void>;
executeTask(task: TaskSpec): Promise<QualityGateDecision>;
terminate(): Promise<void>;
getStatus(): {
agentId: AgentId;
status: AgentStatus;
capabilities: string[];
performance: any;
};
/**
* Evaluate quality gate using intelligent decision tree
* Based on SPARC Phase 2 Algorithm: EvaluateQualityGate
*/
private evaluateQualityGate;
private evaluateCriterion;
private calculateCriterionScore;
private calculateDynamicThreshold;
private analyzeRiskFactors;
private applyRiskBasedLogic;
private normalizeQualityMetrics;
private getMetricValue;
private detectComplexityIndicators;
private generateDecisionExplanation;
private generateQualityRecommendations;
private calculateDecisionConfidence;
private storeLearningData;
private loadDecisionPatterns;
private saveDecisionPatterns;
private storeDecisionResult;
private getHistoricalGateDecisions;
private evaluateTrendCriterion;
private calculateImpact;
private getHistoricalPerformance;
private calculateChangeMagnitude;
}
//# sourceMappingURL=QualityGateAgent.d.ts.map