export * from './cli.js';
export * from './detect.js';
export * from './scaffolder.js';
export * from './templates.js';
export * from './types.js';

// RI-N4 evaluator (card RI-3-002): the public, programmatic entry points.
export {
  builtInDefinitions,
  CHECK_SET_POLICY,
  checkSetForKind,
  defineCheck,
  QC_19_RAILS_FILES_PRESENT,
  QC_20_ENFORCEMENT_VERIFY,
} from './evaluator/definitions.js';
export { canonicalJson, digestContent, digestOfPolicy, digestOfSpec } from './evaluator/digest.js';
export { createSpawnProcessAdapter } from './evaluator/adapter.js';
export { aggregateState, detectSubjectKind, evaluateSubject } from './evaluator/runner.js';
export type {
  AdapterOutcome,
  AdapterRequest,
  AggregateState,
  CheckContext,
  CheckDefinition,
  CheckDefinitionSpec,
  CheckInputs,
  CheckOutcome,
  CheckResult,
  CheckSetPolicy,
  CheckSetPolicySpec,
  CheckStatus,
  EvaluateOptions,
  EvaluationReport,
  ProcessAdapter,
  Subject,
  SubjectKind,
} from './evaluator/types.js';
