import type { ProviderExecutionReceiptV1, ProviderExecutionStatus } from './provider-execution.js'; import type { RetrievalQueryVariant } from './task-semantic-control.js'; export type EvidenceAvailability = 'available' | 'empty_valid' | 'unavailable'; export interface RetrievalLegOutcomeV1 { schemaVersion: 'retrieval-leg-receipt.v1'; legId: string; parentReceiptIds: string[]; channel: 'code' | 'memory' | 'knowledge'; queryVariant: RetrievalQueryVariant; required: boolean; status: RetrievalExecutionStatus; availability: EvidenceAvailability; candidateCount: number; gapCount: number; reasonCode?: string; producerReceiptHash?: string; } export type RetrievalExecutionStatus = 'executed' | 'no_candidates' | 'all_candidates_ineligible' | 'unavailable' | 'failed' | 'blocked'; export interface EvidenceProducerLegOutcomeV1 { schemaVersion: 'evidence-producer-leg-receipt.v1'; legId: string; parentReceiptIds: string[]; kind: 'lexical' | 'vector' | 'graph' | 'exact' | 'entity' | 'manifest'; required: boolean; status: Exclude; candidateCount: number; reasonCode?: string; } export interface EvidenceProvenanceRefV1 { ref: string; sourceId: string; sourceRevision?: string; producer: string; producerVersion: string; contentHash?: string; parentRefs: string[]; } export type EvidenceScopeKind = 'project' | 'session' | 'skill'; export interface EvidenceScopeRefV1 { kind: EvidenceScopeKind; id: string; } export interface EvidenceEligibilityV1 { scope: EvidenceScopeRefV1; permission: 'allowed' | 'denied' | 'unknown'; sourceReady: boolean; expiresAt?: number; profileHash?: string; authority?: number; } export interface EvidenceCandidateV1 { stableRef: string; channel: 'code' | 'memory' | 'knowledge'; strength: 'strong' | 'supporting' | 'weak'; rank: number; score?: number; retrievalProfile?: string; generation?: number; evidence: EvidenceProvenanceRefV1; payload: Record; freshness?: { current: boolean; checkedAt: number; reason?: string; }; contributingLegs: Array<{ leg: string; rank: number; score?: number; }>; eligibility: EvidenceEligibilityV1; estimatedTokens?: number; } export type EvidenceStageV1 = 'candidate' | 'eligible' | 'ranked' | 'selected' | 'rejected'; export interface EvidenceStageReceiptV1 { schemaVersion: 'evidence-stage-receipt.v1'; receiptId: string; parentReceiptIds: string[]; stableRef: string; channel: 'code' | 'memory' | 'knowledge'; stage: EvidenceStageV1; rank?: number; reasonCode?: string; createdAt: number; receiptHash: string; } export type EvidenceGapKind = 'target' | 'caller' | 'route' | 'resource' | 'test' | 'configuration' | 'symbol_ambiguity' | 'memory_applicability' | 'knowledge_version' | 'runtime_evidence' | 'unavailable_channel'; export interface EvidenceGapV1 { kind: EvidenceGapKind; reason: string; target?: string; evidenceRefs: string[]; resolver: 'code' | 'memory' | 'knowledge' | 'none'; priority: number; } export interface EvidenceReceiptV1 { schemaVersion: 'evidence-receipt.v1'; receiptId: string; parentReceiptIds: string[]; taskContextHash: string; channel: 'code' | 'memory' | 'knowledge' | 'composite'; availability: EvidenceAvailability; selectedRefs: string[]; selectedEvidence?: EvidenceCandidateV1[]; rejectedRefs: Array<{ ref: string; reason: string; }>; gaps: EvidenceGapV1[]; createdAt: number; receiptHash: string; contributingLegs?: Record>; factsHash?: string; planHash?: string; activationSnapshotHash?: string; coordinatorVersion?: string; legId?: string; reranker?: { profileId: string; profileVersion: string; providerReceipt?: ProviderExecutionReceiptV1; }; channelAvailability?: Partial>; selectedRefsByChannel?: Partial>; legs?: RetrievalLegOutcomeV1[]; producerLegs?: EvidenceProducerLegOutcomeV1[]; evidenceReceipts?: EvidenceStageReceiptV1[]; } //# sourceMappingURL=evidence.d.ts.map