import type { EventEntry } from "./types.js"; export type EvidenceResult = "passed" | "failed" | "unknown"; export interface EvidenceCompactionOptions { root?: string; taskId?: string; threshold?: number; writeArtifacts?: boolean; } export interface EvidenceCompactionResult { generatedAt: string; threshold: number; summaries: EvidenceTaskSummary[]; skipped: EvidenceCompactionSkip[]; } export interface EvidenceCompactionSkip { taskId: string; evidenceCount: number; reason: string; } export interface EvidenceTaskSummary { taskId: string; title: string; evidenceCount: number; compacted: boolean; rawEvidenceArtifacts: string[]; groups: EvidenceSummaryGroup[]; failedEvidence: EvidenceSummaryItem[]; unresolvedRisks: string[]; acceptanceCriteriaReferences: EvidenceAcceptanceCriteriaReference[]; markdownArtifact?: string; jsonArtifact?: string; } export interface EvidenceSummaryGroup { role: string; type: string; result: EvidenceResult; count: number; artifacts: string[]; summaries: string[]; } export interface EvidenceSummaryItem { role: string; type: string; result: EvidenceResult; summary: string; artifacts: string[]; exitCode?: string; } export interface EvidenceAcceptanceCriteriaReference { criterion: string; evidence: EvidenceSummaryItem[]; } export interface EnrichedEvidence { event: EventEntry; role: string; type: string; result: EvidenceResult; summary: string; artifacts: string[]; exitCode?: string; content: string; }