restore old after-confidence-scoring

This commit is contained in:
overcuriousity
2025-08-17 11:45:53 +02:00
parent 8bba0eefa9
commit afbd8d2cd3
9 changed files with 366 additions and 286 deletions

View File

@@ -101,7 +101,6 @@ class AuditService {
this.activeAuditTrail.push(entry);
// Enforce max entries limit
if (this.activeAuditTrail.length > this.config.maxEntries) {
this.activeAuditTrail.shift();
}
@@ -109,7 +108,6 @@ class AuditService {
console.log(`[AUDIT-SERVICE] ${phase}/${action}: ${confidence}% confidence, ${entry.processingTimeMs}ms`);
}
// NEW: Specialized audit methods for forensic transparency
addAIDecision(
phase: string,
aiPrompt: string,
@@ -162,24 +160,28 @@ class AuditService {
addPhaseCompletion(
phaseId: string,
toolsAdded: string[],
completionReasoning: string,
addedTools: string[],
reasoning: string,
startTime: number,
metadata: Record<string, any> = {}
): void {
this.addEntry(
'phase-completion',
'phase-enhancement',
{ phaseId, underrepresentedPhase: true },
{ toolsAdded },
75, // Default confidence for phase completion
{
phaseId,
addedTools,
reasoning: reasoning.slice(0, 200)
},
{
toolsAddedCount: addedTools.length,
enhancementMethod: 'semantic-search-with-ai-reasoning'
},
metadata.moderatedTaskRelevance || 75,
startTime,
{
...metadata,
phaseId,
toolsAdded,
completionReasoning,
enhancementType: 'semantic-phase-completion'
phaseCompletionMethod: 'sophisticated-ai-reasoning'
}
);
}
@@ -215,25 +217,30 @@ class AuditService {
addConfidenceCalculation(
toolName: string,
confidenceBreakdown: any,
confidence: any,
startTime: number,
metadata: Record<string, any> = {}
): void {
this.addEntry(
'confidence-scoring',
'tool-confidence',
{ toolName },
{ confidenceBreakdown },
confidenceBreakdown.overall || 50,
{
toolName,
confidence: {
overall: confidence.overall,
semantic: confidence.semanticRelevance,
task: confidence.taskSuitability
}
},
{
uncertaintyFactorsCount: confidence.uncertaintyFactors?.length || 0,
strengthIndicatorsCount: confidence.strengthIndicators?.length || 0
},
confidence.overall,
startTime,
{
...metadata,
confidenceFactors: [
...(confidenceBreakdown.strengthIndicators || []),
...(confidenceBreakdown.uncertaintyFactors || [])
],
semanticRelevance: confidenceBreakdown.semanticRelevance,
taskSuitability: confidenceBreakdown.taskSuitability
confidenceCalculation: true
}
);
}
@@ -300,7 +307,6 @@ class AuditService {
return { ...this.config };
}
// Statistics and analysis methods (enhanced)
getAuditStatistics(auditTrail: AuditEntry[]): {
totalTime: number;
avgConfidence: number;
@@ -346,12 +352,10 @@ class AuditService {
const lowConfidenceSteps = auditTrail.filter(entry => (entry.confidence || 0) < 60).length;
const mediumConfidenceSteps = auditTrail.length - highConfidenceSteps - lowConfidenceSteps;
// Enhanced metrics
const aiDecisionCount = auditTrail.filter(entry => entry.action === 'ai-decision').length;
const embeddingsUsageCount = auditTrail.filter(entry => entry.metadata?.embeddingsUsed).length;
const toolSelectionCount = auditTrail.filter(entry => entry.action === 'selection-decision').length;
// Phase breakdown
const phaseBreakdown: Record<string, { count: number; avgConfidence: number; totalTime: number }> = {};
auditTrail.forEach(entry => {
@@ -364,7 +368,6 @@ class AuditService {
phaseBreakdown[phase].totalTime += entry.processingTimeMs || 0;
});
// Calculate average confidence per phase
Object.keys(phaseBreakdown).forEach(phase => {
const phaseEntries = auditTrail.filter(entry => entry.phase === phase);
const validEntries = phaseEntries.filter(entry => typeof entry.confidence === 'number');
@@ -425,7 +428,6 @@ class AuditService {
return;
}
// Required fields validation
const requiredFields = ['timestamp', 'phase', 'action'];
requiredFields.forEach(field => {
if (!(field in entry)) {
@@ -433,7 +435,6 @@ class AuditService {
}
});
// Enhanced validation for audit quality
if (entry.action === 'ai-decision' && !entry.metadata?.aiPrompt && !entry.metadata?.reasoning) {
warnings.push(`Entry ${index}: AI decision lacks transparency (no prompt or reasoning)`);
}
@@ -442,7 +443,6 @@ class AuditService {
warnings.push(`Entry ${index}: Tool selection lacks methodology info`);
}
// Data type validation
if (typeof entry.confidence !== 'number' || entry.confidence < 0 || entry.confidence > 100) {
warnings.push(`Entry ${index} has invalid confidence value: ${entry.confidence}`);
}