export type TraceCoverageGapKind = "missing_trace" | "empty_changes" | "missing_verification" | "binding_mismatch" | "digest_stale" | "missing_run" | "run_not_passed"; export interface TraceCoverageGap { requirement_id: string; /** missing_trace 时为 null */ trace_id: string | null; kind: TraceCoverageGapKind; detail: string; } export interface TraceCoverageReport { task_id: string; requirement_count: number; gaps: TraceCoverageGap[]; /** 覆盖完整:gaps 为空(所有 requirement 有 trace + trace 完整 + run binding/digest 一致)。deliver 据此阻断(后续阶段)。 */ covered: boolean; } export declare class TraceCoverageChecker { private readonly requirements; private readonly traces; private readonly runs; constructor(projectRoot: string); /** 检查 task 的实现追踪覆盖。无 requirement 的 task 返 requirement_count=0 + covered=true(不强制 requirement,与 RequirementCoverageChecker 同设计)。 */ check(taskId: string): Promise; }