import type { AlignmentContract } from "./alignment-contract.js"; import type { IntentModel } from "./intent-model.js"; import type { RefinementReport } from "./refinement-report.js"; /** Error thrown when a projection invariant is violated. */ export declare class ProjectionInvariantError extends Error { readonly code: string; constructor(code: string, message: string); } /** Error thrown when projection completeness checks fail. */ export declare class ProjectionCompletenessError extends Error { readonly code: string; constructor(code: string, message: string); } /** Lineage recorded on every projected Mission. */ export type MissionLineage = { alignmentContractId: string; intentModelId: string; refinementReportId: string; }; /** Canonical Mission enriched with projection metadata. */ export type ProjectedMission = { id: string; name: string; purpose: string; status: "projected" | "draft" | "active" | "completed" | "archived"; projectionStatus: "projected" | "certified" | "failed"; objectives: string[]; constraints: string[]; nonGoals: string[]; allowedVariation: string[]; forbiddenDrift: string[]; referenceEvidence: string[]; lineage: MissionLineage; fingerprint: string; projectionId: string; createdAt: number; updatedAt: number; }; /** Mapping from a Mission field back to its source. */ export type ProvenanceEntry = { field: string; source: string; rule: string; }; /** Certification check result. */ export type CertificationCheck = { name: string; passed: boolean; reason: string; }; /** Projection certification result. */ export type ProjectionCertification = { certificationId: string; projectionId: string; result: "passed" | "failed"; checks: CertificationCheck[]; certifiedAt: number; }; /** The complete Mission Projection Package. */ export type MissionProjectionPackage = { projectionId: string; alignmentContractId: string; alignmentContract: AlignmentContract; mission: ProjectedMission; provenance: ProvenanceEntry[]; coverageMatrix: CoverageEntry[]; lineage: MissionLineage; fingerprint: string; certification: ProjectionCertification; createdAt: number; }; /** Coverage of an objective against its evidence. */ export type CoverageEntry = { objective: string; evidenceIds: string[]; aligned: boolean; }; /** Inputs required for Mission Projection. */ export type MissionProjectionInput = { alignmentContract: AlignmentContract; intentModel: IntentModel; refinementReport: RefinementReport; }; /** Compute deterministic fingerprint from projection inputs. */ export declare function computeMissionFingerprint(input: MissionProjectionInput): string; /** Project a Mission from an approved Alignment Contract. */ export declare function projectMission(input: MissionProjectionInput): MissionProjectionPackage; /** Certify an already projected Mission, returning a new certification result. * This is a pure re-evaluation; it does not mutate the package. */ export declare function certifyMissionProjection(pkg: MissionProjectionPackage): ProjectionCertification;