import { type GraphReport } from "./graph.js"; import { type ContextLensSummary } from "../context-lens.js"; import { type SecurityPostureSummary } from "../security-posture.js"; import { type SecurityPolicyInventorySummary } from "../security-policy-inventory.js"; import type { ConfigOverrides } from "../config.js"; import { type RepositorySnapshot } from "../repository-evidence.js"; import type { Diagnostic, Finding, SuppressedFindingEvidence } from "../types/diagnostics.js"; import type { AgentSkillsValidationSummary } from "../agent-skills.js"; import { type SkillDiscoveryAdoptionState, type SkillDiscoveryIndex } from "../skill-discovery.js"; import type { InspectionCoverage } from "../inspection-coverage.js"; type ReadinessFormat = "json" | "markdown"; export declare const READINESS_JSON_SCHEMA_VERSION: "renma.readiness.v2"; export type ReadinessLevel = "ready" | "needs_attention" | "not_ready"; export type ReadinessCheckStatus = "pass" | "warn" | "fail"; type ReadinessCheckSeverity = "info" | "warning" | "error"; interface WorkflowReadinessSummary { skillEntrypoints: number; checks: number; pass: number; warn: number; fail: number; readinessPercent: number; } /** Compact repository-wide projection over one prepared Skill Discovery index. */ interface SkillDiscoveryReadinessSummary { adoptionState: SkillDiscoveryAdoptionState; publishedEntrypointCount: number; routeEligibleSkillCount: number; reachableSkillCount: number; notReachedSkillCount: number; unroutedSkillCount: number; usableRouteCount: number; unusableRouteCount: number; unresolvedRouteCount: number; cycleComponentCount: number; } export interface ReadinessReport { root: string; configPath?: string; scannedFileCount: number; score: number; level: ReadinessLevel; summary: { totalAssets: number; ownedAssets: number; unownedAssets: number; ownershipCoveragePercent: number; nodeCount: number; edgeCount: number; resolvedEdges: number; unresolvedEdges: number; graphResolutionPercent: number; diagnosticCounts: { error: number; warning: number; info: number; }; workflow: WorkflowReadinessSummary; contextLens: ContextLensSummary; securityPosture: SecurityPostureSummary; securityPolicyInventory: SecurityPolicyInventorySummary; skillDiscovery: SkillDiscoveryReadinessSummary; }; checks: ReadinessCheck[]; diagnostics?: Diagnostic[]; findings?: Finding[]; } export interface ReadinessCheck { id: string; title: string; status: ReadinessCheckStatus; severity: ReadinessCheckSeverity; summary: string; evidence?: Array<{ id?: string; path?: string; message?: string; }>; } interface ReadinessProjectionOptions { includeSkillDiscovery?: boolean; } interface ReadinessInspectionEvidence { inspectionCoverage?: InspectionCoverage; suppressedFindings?: readonly SuppressedFindingEvidence[]; } export declare function runReadinessCommand(targetPath: string, options: { format: ReadinessFormat; overrides?: ConfigOverrides; }): Promise; export declare function readiness(targetPath: string, overrides?: ConfigOverrides, projectionOptions?: ReadinessProjectionOptions): Promise; /** Derive graph and scan inputs from the same repository evidence boundary. */ export declare function readinessFromRepositorySnapshot(snapshot: RepositorySnapshot, projectionOptions?: ReadinessProjectionOptions): ReadinessReport; /** Build the authoritative Readiness diagnostic collection for one snapshot. */ export declare function readinessDiagnosticsFromRepositorySnapshot(snapshot: RepositorySnapshot, scanDiagnostics: readonly Diagnostic[], projectionOptions?: ReadinessProjectionOptions): Diagnostic[]; export declare function buildReadinessReport(graphReport: GraphReport, findings?: Finding[], diagnostics?: Diagnostic[], contextLens?: ContextLensSummary, securityPolicyInventory?: SecurityPolicyInventorySummary, agentSkills?: AgentSkillsValidationSummary, skillDiscovery?: SkillDiscoveryIndex, inspectionEvidence?: ReadinessInspectionEvidence): ReadinessReport; /** * Project routine-review counts and checks from the already prepared index. * * These checks are intentionally non-scoring. Existing Discovery * diagnostics remain authoritative and are referenced as compact evidence * without being copied into the Readiness diagnostic collection. */ export declare function buildSkillDiscoveryReadiness(index?: SkillDiscoveryIndex): { summary: SkillDiscoveryReadinessSummary; checks: ReadinessCheck[]; }; export declare function zeroSkillDiscoveryReadinessSummary(): SkillDiscoveryReadinessSummary; export declare function formatReadinessJson(report: ReadinessReport): string; export declare function formatReadinessMarkdown(report: ReadinessReport): string; export {};