import type { RepositoryPathState } from "./repository-paths.js"; import type { StaticSkillPackageContentKind, StaticSupportBoundaryReachabilityEvidence, StaticSupportReachabilityEvidence } from "./static-support.js"; import type { Artifact } from "./types/artifact.js"; import type { AssetClassificationEvidence } from "./types/classification.js"; import type { ScanConfig } from "./types/configuration.js"; export declare const INSPECTION_COVERAGE_SCHEMA_VERSION: "renma.inspection-coverage.v1"; export declare const INSPECTION_COVERAGE_DIFF_SCHEMA_VERSION: "renma.inspection-coverage-diff.v1"; export type InspectionCoverageState = "parsed" | "excluded" | "symlink" | "unreadable" | "oversize" | "deep" | "unsupported"; export type InspectionCoverageScope = "exact" | "subtree"; export type InspectionCoverageBoundary = "skills" | ".agents/skills" | "contexts" | "context" | "lenses" | ".agents"; export type SupportInspectionKind = "semantic-plain-text" | "semantic-markdown" | "executable-surface" | "opaque-resource" | "repository-resource"; export interface StaticSupportInspectionDetails { expectationSource: "static-support-reference"; owningSkillPath: string; sourcePath: string; sourceLine: number; reachabilityDepth: number; packageContentKind?: StaticSkillPackageContentKind; inspectionKind: SupportInspectionKind; scanBoundaryDisposition?: "explicitly-excluded"; } export interface InspectionCoveragePathEvidence { path: string; state: InspectionCoverageState; scope: InspectionCoverageScope; affectedBoundary?: InspectionCoverageBoundary; reason: string; classification: AssetClassificationEvidence; strictBlocking: boolean; details?: StaticSupportInspectionDetails; } export type InspectionCoverageIssue = InspectionCoveragePathEvidence & { state: Exclude; strictBlocking: true; }; /** Canonical evidence for expected first-class agent-facing paths. */ export interface InspectionCoverage { schemaVersion: typeof INSPECTION_COVERAGE_SCHEMA_VERSION; expectedPathCount: number; inspectedPathCount: number; complete: boolean; inspectedPaths: string[]; blockingIssues: InspectionCoverageIssue[]; } export type InspectionCoverageDiffState = InspectionCoverageState | "not_expected"; export interface InspectionCoverageChange { path: string; fromState: InspectionCoverageDiffState; toState: InspectionCoverageDiffState; scope: InspectionCoverageScope; affectedBoundary?: InspectionCoverageBoundary; previouslyInspectedPaths: string[]; classification: AssetClassificationEvidence; strictBlocking: boolean; details?: StaticSupportInspectionDetails; } export interface InspectionCoverageDiff { schemaVersion: typeof INSPECTION_COVERAGE_DIFF_SCHEMA_VERSION; from: { expectedPathCount: number; inspectedPathCount: number; blockingIssueCount: number; }; to: { expectedPathCount: number; inspectedPathCount: number; blockingIssueCount: number; }; regressions: InspectionCoverageChange[]; resolvedIssues: InspectionCoverageChange[]; } /** Build coverage only from canonical discovery and repository-path evidence. */ export declare function buildInspectionCoverage(pathStates: ReadonlyMap, config: Pick, blockedTraversalPaths?: ReadonlySet, expectedSupportPaths?: readonly StaticSupportReachabilityEvidence[], incompleteSupportBoundaries?: readonly StaticSupportBoundaryReachabilityEvidence[], artifacts?: readonly Artifact[], supportBoundaryConfig?: Pick): InspectionCoverage; /** Compare target coverage with its baseline without treating baseline issues as new. */ export declare function buildInspectionCoverageDiff(from: InspectionCoverage, to: InspectionCoverage): InspectionCoverageDiff; export declare function zeroInspectionCoverage(): InspectionCoverage; export declare function zeroInspectionCoverageDiff(): InspectionCoverageDiff;