/** * Mission Contract v1 schema validation. * * Deterministic, fail-closed validation of MissionContractV1 documents. * Rejects duplicates, cycles, unknown refs, missing rationale, and * UNKNOWN SEMANTIC FIELDS. * * Only `metadata` may contain arbitrary unknown keys. */ import { type ValidationResult } from "./types.js"; export declare function validateMissionContract(input: unknown): ValidationResult; /** * Validates that every criterion ID reference in the Mission Contract * resolves to exactly one acceptance criterion in the global registry. * * This pass inspects all contract fields that reference criterion IDs: * - evidencePolicy.authoritativeSources[*] (EvidenceAuthorityClassification[] — no criterion IDs in v1) * - evidencePolicy.rules[*] (EvidencePolicyRule[] — no criterion IDs in v1) * - Any future fields with criterion references are checked here. * * v1: No contract fields reference criterion IDs beyond the acceptance criteria * themselves (which are the registry). This function is wired in for future * compatibility and to ensure the global registry is available for external * validation (e.g., trusted source grant criterion IDs). */ export declare function validateCriterionReferences(_contract: Record, _globalCriterionIds: ReadonlySet): string[]; /** * Validates criterion IDs in external trusted evidence source grants * against the global criterion registry from the Mission Contract. * * Unlike the contract-level validateCriterionReferences (which inspects * contract fields), this validates TrustedEvidenceSourceGrant entries * used in createTrustedValidationContext. * * Returns deterministic, ordered errors with precise JSON paths. */ export declare function validateSourceGrantCriterionIds(grants: ReadonlyArray<{ readonly sourceId: string; readonly allowedCriterionIds?: readonly string[]; }>, globalCriterionIds: ReadonlySet): string[]; //# sourceMappingURL=mission-contract-schema.d.ts.map