import { type DiffCollectionInstrumentation, type DiffReport, type DiffReportWithoutSkillDiscovery, type DiffFormat } from "./diff.js"; import { type SecurityPostureSummary } from "../security-posture.js"; import { type ExecutableSurfaceDiff } from "../executable-surface-diff.js"; import type { ConfigOverrides } from "../config.js"; import type { SkillDiscoveryDiff } from "../skill-discovery-diff.js"; import { type SkillDiscoveryCiPolicyConfiguration, type SkillDiscoveryCiPolicyEvaluation } from "../skill-discovery-ci-policy.js"; import { type SecurityPolicyCiConfiguration, type SecurityPolicyCiEvaluation } from "../security-policy-ci-policy.js"; import { type ScanBoundaryCiConfiguration, type ScanBoundaryCiEvaluation } from "../scan-boundary-ci-policy.js"; import { type ExecutableSurfaceCiConfiguration, type ExecutableSurfaceCiEvaluation } from "../executable-surface-ci-policy.js"; import type { EffectiveCiScanBoundaryEvidence } from "../scan-boundary.js"; import { type QualityPolicyCiConfiguration, type QualityPolicyCiEvaluation } from "../quality-policy-ci-policy.js"; import { type MetadataPolicyCiConfiguration, type MetadataPolicyCiEvaluation } from "../metadata-policy-ci-policy.js"; import { type DiagnosticSeverityCiConfiguration, type DiagnosticSeverityCiEvaluation } from "../diagnostic-severity-ci-policy.js"; type CiReportFormat = DiffFormat; export declare const CI_REPORT_JSON_SCHEMA_VERSION: "renma.ci-report.v1"; type CiReportStatus = "pass" | "warn" | "fail"; type CiReportFailureThreshold = "fail" | "warn"; type CiCompatibleExecutableSurfaceDiff = Omit & Partial>; type CiFormatCompatibleDiffReport = Omit & { executableSurface: CiCompatibleExecutableSurfaceDiff; }; type CiCompatibleDiffReport = DiffReportWithoutSkillDiscovery; export interface CiReport { root: string; from: DiffReport["from"]; to: DiffReport["to"]; status: CiReportStatus; summary: DiffReport["summary"]; skillDiscovery: SkillDiscoveryDiff; skillDiscoveryPolicy: SkillDiscoveryCiPolicyEvaluation; securityPolicy: SecurityPolicyCiEvaluation; scanBoundaryPolicy: ScanBoundaryCiEvaluation; executableSurfacePolicy: ExecutableSurfaceCiEvaluation; qualityPolicy: QualityPolicyCiEvaluation; metadataPolicy?: MetadataPolicyCiEvaluation; diagnosticSeverityPolicy?: DiagnosticSeverityCiEvaluation; securityPosture: { added: SecurityPostureSummary; resolved: SecurityPostureSummary; }; notes: string[]; diff: CiCompatibleDiffReport; } export type CiReportFormatInput = CiReport | (Omit & { diff: CiFormatCompatibleDiffReport; }) | (Omit & { diff: CiFormatCompatibleDiffReport; }); interface CiReportOptions { fromRef: string; toRef: string; overrides?: ConfigOverrides; instrumentation?: DiffCollectionInstrumentation; } export declare function runCiReportCommand(targetPath: string, options: CiReportOptions & { format: CiReportFormat; failOnStatus?: CiReportFailureThreshold; }): Promise; /** Keep semantic report status independent from the caller's exit policy. */ export declare function ciReportStatusMeets(status: CiReportStatus, threshold: CiReportFailureThreshold): boolean; export declare function ciReport(targetPath: string, options: CiReportOptions): Promise; export declare function buildCiReportFromDiff(report: DiffReport, configuredPolicy?: SkillDiscoveryCiPolicyConfiguration, configuredSecurityPolicy?: SecurityPolicyCiConfiguration, configuredScanBoundaryPolicy?: ScanBoundaryCiConfiguration, effectiveCiScanBoundary?: EffectiveCiScanBoundaryEvidence, configuredExecutableSurfacePolicy?: ExecutableSurfaceCiConfiguration, configuredQualityPolicy?: QualityPolicyCiConfiguration, configuredMetadataPolicy?: MetadataPolicyCiConfiguration, configuredDiagnosticSeverityPolicy?: DiagnosticSeverityCiConfiguration): CiReport; export declare function formatCiReport(report: CiReportFormatInput, format: CiReportFormat): string; export declare function determineCiReportStatus(report: CiCompatibleDiffReport): CiReportStatus; export declare function composeCiReportStatus(existingStatus: CiReportStatus, discoveryPolicyOutcome: SkillDiscoveryCiPolicyEvaluation["outcome"], securityPolicyOutcome?: SecurityPolicyCiEvaluation["outcome"], scanBoundaryPolicyOutcome?: ScanBoundaryCiEvaluation["outcome"], executableSurfacePolicyOutcome?: ExecutableSurfaceCiEvaluation["outcome"], qualityPolicyOutcome?: QualityPolicyCiEvaluation["outcome"], metadataPolicyOutcome?: MetadataPolicyCiEvaluation["outcome"], diagnosticSeverityPolicyOutcome?: DiagnosticSeverityCiEvaluation["outcome"]): CiReportStatus; export {};