export {
  detectContradictions,
  evidenceConfidenceSchema,
  evidenceEdgeSchema,
  evidenceGraphSchema,
  evidenceNodeKindSchema,
  evidenceNodeSchema,
  parseEvidenceGraph,
  sourceRefSchema,
  truthSourceSchema,
  type AdjudicationItem,
  type EvidenceConfidence,
  type EvidenceEdge,
  type EvidenceGraph,
  type EvidenceNode,
  type EvidenceNodeKind,
  type SourceRef,
  type TruthSource,
} from "./graph/evidence-graph.js";

export {
  journeyBranchSchema,
  oracleAdapterRefSchema,
  parseUiJourneyPlan,
  parseJourneyBranch,
  promiseExpectationOperatorSchema,
  promiseExpectationSchema,
  promiseContractSchema,
  promiseDimensionSchema,
  semanticActionKindSchema,
  semanticActionSchema,
  uiJourneyPlanSchema,
  type JourneyBranch,
  type OracleAdapterRef,
  type PromiseContract,
  type PromiseDimension,
  type PromiseExpectation,
  type PromiseExpectationOperator,
  type SemanticAction,
  type UiJourneyDeclaration,
  type UiJourneyPlan,
} from "./journey/schema.js";

export {
  type JourneyOracles,
  type UiJourneyAdapter,
} from "./journey/public.js";

export {
  runJourneyBranch,
  runUiJourneyPlan,
  type JourneyAdjudicationItem,
  type JourneyCoverageGap,
  type JourneyOutcome,
  type JourneyPromiseCheck,
  type JourneyTerminalStatus,
  type JourneyTrigger,
  type JourneyTriggerResult,
  type OracleRunResult,
  type RunJourneyBranchOptions,
  type RunUiJourneyPlanOptions,
} from "./journey/runner.js";

export type {
  ExternalEffect,
  OracleVerdict,
  PersistenceOracle,
  SideEffectOracle,
} from "./oracles/types.js";

export {
  PROPERTY_INVARIANT_CLASSES,
  conservationCheck,
  effectMultiplicityCheck,
  legalTransitionsCheck,
  monotonicVersionsCheck,
  nonnegativeBoundsCheck,
  ownershipTenantIsolationCheck,
  referentialLifecycleCheck,
  replayPropertyExecution,
  reversalBoundedCheck,
  runPropertyInvariant,
  runStateMachineInvariant,
  type PropertyExecutionRecord,
  type PropertyInvariantClass,
  type PropertyInvariantResult,
  type PropertyInvariantSpec,
  type StateMachineInvariantResult,
  type StateMachineInvariantSpec,
  type StateMachineTransitionMode,
} from "./adapters/property/index.js";

export {
  planPairwise,
  type CombinatorialDimensions,
  type CombinatorialPlan,
  type OmittedCombination,
} from "./adapters/combinatorial/index.js";

export {
  detectLifecycleViolations,
  FAULT_BOUNDARIES,
  FAULT_KINDS,
  FaultInjectionError,
  withFault,
  type AtomicityOracle,
  type AtomicityOracleContext,
  type AtomicityOracleVerdict,
  type FaultBoundary,
  type FaultBoundaryCall,
  type FaultCoverageGap,
  type FaultInjectableSystem,
  type FaultInjectionResult,
  type FaultKind,
  type FaultRunContext,
  type FaultSpec,
  type LifecycleEvidence,
  type OwnedResourceRecord,
  type PostTerminalEvent,
} from "./adapters/fault/index.js";

export {
  CONCURRENCY_SCHEDULE_KINDS,
  createNamedSchedule,
  runSchedule,
  type ConcurrencySchedule,
  type ConcurrencyScheduleKind,
  type ConcurrencyScheduleResult,
  type InstrumentedStep,
  type InstrumentedSystem,
  type InstrumentedTask,
  type NamedScheduleOptions,
  type ScheduleStepRef,
  type StepContext,
  type TraceEntry,
} from "./adapters/concurrency/index.js";

export {
  BOUNDARY_PARTITIONS,
  evaluateStrictDecoderScenarios,
  generateBoundaryCases,
  generateStrictDecoderCases,
  runStrictDecoderCheck,
  type BoundaryCase,
  type BoundaryPartition,
  type StrictDecoderCheckResult,
  type StrictDecoderCheckSpec,
  type StrictDecoderGenerationSpec,
  type StrictDecoderRule,
  type StrictDecoderViolation,
  type StrictDecoderViolationsByRule,
} from "./adapters/boundary/index.js";

export {
  AUTHORITY_FIELDS,
  CONTEXT_UNSAFE_CASES,
  SECURITY_NEGATIVE_JOURNEY_KINDS,
  UNTRUSTED_INPUT_CONTEXTS,
  checkProvenanceAuthority,
  compareDeniedNotFoundEquivalence,
  generateNegativeSecurityJourneys,
  normalizeResponseBody,
  runNegativeSecurityJourney,
  validateUntrustedInput,
  type AuthorityField,
  type AuthoritySource,
  type ContextSafeValidationError,
  type ContextSafeValidationResult,
  type ContextSafeValidationSpec,
  type ContextSafeValidator,
  type EquivalenceComparisonResult,
  type EquivalenceComparisonSpec,
  type IndistinguishabilityContract,
  type NegativeSecurityJourneyConfig,
  type NegativeSecurityJourneyResult,
  type NegativeSecurityJourneySpec,
  type ProvenanceAuthorityAttempt,
  type ProvenanceAuthorityResolver,
  type ProvenanceAuthorityResult,
  type ProvenanceAuthoritySpec,
  type ProvenanceResolveResult,
  type ResponseCase,
  type SecurityBoundarySystem,
  type SecurityCoverageGap,
  type SecurityNegativeJourneyKind,
  type SecurityRequest,
  type SecurityResponse,
  type SecuritySideEffect,
  type SecurityTimingClass,
  type UntrustedInputContext,
} from "./adapters/security/index.js";

export {
  COMPLETION_RUNGS,
  QUEUE_BRANCH_SCENARIO_KINDS,
  buildAsyncCoverageRow,
  buildAsyncJourneyOutcome,
  buildSyncCoverageRow,
  compareCompletionRungs,
  deriveProvenRungs,
  evaluateObligationClosure,
  highestProvenRung,
  parseCompletionRung,
  runQueueBranch,
  validateCoverageRows,
  type AsyncCoverageRow,
  type AsyncJourneyOutcome,
  type CompletionEvidence,
  type CompletionObligation,
  type CompletionObligationKind,
  type CompletionRung,
  type CoverageRowValidation,
  type ObligationClosureResult,
  type ObligationClosureSpec,
  type ObligationViolation,
  type QueueBranchContract,
  type QueueBranchRunResult,
  type QueueBranchScenarioKind,
  type QueueBranchScenarioResult,
  type QueueBranchSystem,
} from "./async/index.js";

export {
  PROTOCOL_CASE_KINDS,
  PROTOCOL_UNI_RULES,
  detectUni063Violations,
  evaluateProtocolScenarios,
  flattenProtocolViolations,
  generateProtocolCases,
  protocolCaseKindsForRule,
  runProtocolCheck,
  type ExtendedProtocolScenario,
  type ProtocolCase,
  type ProtocolCaseKind,
  type ProtocolCheckInput,
  type ProtocolCheckResult,
  type ProtocolContractSpec,
  type ProtocolUniRule,
  type ProtocolViolationsByRule,
  type TransferValidationObservation,
  type TransferValidationScenario,
  type TransferValidationSpec,
} from "./adapters/protocol/index.js";

export {
  CLOSURE_CASE_KINDS,
  CLOSURE_UNI_RULES,
  buildClosureInventory,
  closureCaseKindsForRule,
  detectUni082Violations,
  evaluateClosureScenarios,
  flattenClosureViolations,
  generateClosureCases,
  inventoryToScenarios,
  runClosureCheck,
  type ClosureCase,
  type ClosureCaseKind,
  type ClosureCheckInput,
  type ClosureCheckResult,
  type ClosureContractSpec,
  type ClosureInventory,
  type ClosureInventoryEntry,
  type ClosureInventorySpec,
  type ClosureUniRule,
  type ClosureViolationsByRule,
  type EnvironmentBinding,
  type EnvironmentBindingScenario,
  type ExtendedClosureScenario,
} from "./adapters/closure/index.js";

export {
  appendCoverageRow,
  appendOmittedCombinationRows,
  assessScopeCoverage,
  assessWitnessPlanCoverage,
  createCoverageLedger,
  evaluateBlockingOracleEligibility,
  queryCoverageRows,
  registerBlockingOracle,
  REQUIRED_BLOCKING_WITNESS_KINDS,
  type BlockingOracleEligibility,
  type BlockingOracleRegistration,
  type CoverageLedger,
  type CoverageLedgerQuery,
  type CoverageLedgerRow,
  type CoverageLedgerRowInput,
  type LedgerWitnessPlan,
  type LedgerWitnessPlanItem,
  type ScopeCoverageInput,
  type ScopeCoverageMetrics,
  type ScopeCoverageResult,
} from "./ledger/ledger.js";

export {
  MEASURED_MUTATION_THRESHOLDS,
  SEMANTIC_MUTATION_KINDS,
  assertSemanticMutationKind,
  evaluateOracleDeletionRatchet,
  measureFixtureCorpusThresholds,
  runMutationRound,
  type ContractClassThreshold,
  type ContractMigration,
  type ContractTest,
  type ContractTestResult,
  type CorpusMeasurementInput,
  type MutationCoverageFinding,
  type MutationRoundResult,
  type MutationRoundSummary,
  type OracleDeletionRatchetInput,
  type OracleDeletionRatchetResult,
  type OracleDeletionViolation,
  type OwnedOracleSpec,
  type RunMutationRoundInput,
  type SemanticMutation,
  type SemanticMutationKind,
} from "./adapters/mutation/index.js";

export {
  generateNoninterferenceCases,
  independentOpReorderingCheck,
  localeInvariantStorageCheck,
  METAMORPHIC_RELATION_CLASSES,
  NONINTERFERENCE_DIMENSIONS,
  representationPreservingCheck,
  retryNonDuplicationCheck,
  runMetamorphicRelation,
  runNoninterferenceChecks,
  serializationRoundTripCheck,
  type MetamorphicRelationClass,
  type MetamorphicRelationResult,
  type MetamorphicRelationSpec,
  type NoninterferenceCase,
  type NoninterferenceDimension,
  type NoninterferenceGenerationConfig,
  type NoninterferenceResult,
  type NoninterferenceSpec,
  type NoninterferenceViolation,
} from "./adapters/metamorphic/index.js";
