import type { Reviewer } from "./review-gates.js"; import type { IntentModel } from "./intent-model.js"; export type AlignmentContractStatus = "draft" | "awaiting_review" | "approved" | "rejected" | "superseded"; export type AlignmentDimension = { name: string; score: number; reason: string; }; export type ObjectiveCoverage = { objective: string; evidenceIds: string[]; aligned: boolean; notes?: string; }; export type ImplicitObjectiveStatus = { objective: string; status: "accepted" | "rejected" | "requires_clarification"; reason: string; }; export type ForbiddenInterpretationEntry = { interpretation: string; reason: string; evidenceIds: string[]; }; export type ResidualDivergence = { description: string; acceptedBy: { kind: string; id: string; }; reason: string; risk: "low" | "medium" | "high"; }; export type ConfidenceExplanation = { score: number; reason: string; }; export type AlignmentContract = { id: string; intentModelId: string; refinedIntentId?: string; intentSummary: string; expectedExperience: string; requiredProperties: string[]; forbiddenProperties: string[]; requiredBehaviors: string[]; visualReferences: string[]; behavioralReferences: string[]; functionalExpectations: string[]; technicalConstraints: string[]; successCriteria: string[]; explicitNonRequirements: string[]; allowedInterpretation: string[]; allowedVariation: string[]; forbiddenInterpretation: string[]; forbiddenDrift: string[]; referenceEvidenceIds: string[]; dimensions?: AlignmentDimension[]; objectiveCoverage?: ObjectiveCoverage[]; implicitObjectiveStatus?: ImplicitObjectiveStatus[]; forbiddenInterpretations?: ForbiddenInterpretationEntry[]; confidenceExplanation?: ConfidenceExplanation; residualDivergence?: ResidualDivergence[]; status: AlignmentContractStatus; approvedBy?: Reviewer; approvedAt?: number; version: number; createdAt: number; updatedAt: number; }; export type AlignmentContractInput = { intentModelId: string; refinedIntentId?: string; intentSummary: string; expectedExperience: string; requiredProperties?: string[]; forbiddenProperties?: string[]; requiredBehaviors?: string[]; visualReferences?: string[]; behavioralReferences?: string[]; functionalExpectations?: string[]; technicalConstraints?: string[]; successCriteria?: string[]; explicitNonRequirements?: string[]; allowedInterpretation?: string[]; allowedVariation?: string[]; forbiddenInterpretation?: string[]; forbiddenDrift?: string[]; referenceEvidenceIds?: string[]; dimensions?: AlignmentDimension[]; objectiveCoverage?: ObjectiveCoverage[]; implicitObjectiveStatus?: ImplicitObjectiveStatus[]; forbiddenInterpretations?: ForbiddenInterpretationEntry[]; confidenceExplanation?: ConfidenceExplanation; residualDivergence?: ResidualDivergence[]; }; export type AlignmentContractValidationResult = { valid: boolean; errors: string[]; }; export declare function validateAlignmentContract(contract: unknown): AlignmentContractValidationResult; import type { ConstructionContext } from "./intent-model.js"; /** Create an Alignment Contract from an Intent Model input. */ export declare function createAlignmentContract(input: AlignmentContractInput, ctx?: ConstructionContext): AlignmentContract; /** Submit an Alignment Contract for review. */ export declare function submitAlignmentContract(contract: AlignmentContract, timestamp?: number): AlignmentContract; /** Approve an Alignment Contract. */ export declare function approveAlignmentContract(contract: AlignmentContract, reviewer: Reviewer, timestamp?: number): AlignmentContract; /** Reject an Alignment Contract. */ export declare function rejectAlignmentContract(contract: AlignmentContract, timestamp?: number): AlignmentContract; /** Supersede an Alignment Contract. */ export declare function supersedeAlignmentContract(contract: AlignmentContract, timestamp?: number): AlignmentContract; /** Derive a default Alignment Contract from an Intent Model. */ export declare function deriveAlignmentContractFromIntentModel(intentModel: IntentModel, refinedIntentId?: string, ctx?: ConstructionContext): AlignmentContract;