/** * Suite orchestration engine. * * `runSuites` is the core loop of the verification pipeline: it iterates * suites in order, applies any per-suite `applies` predicate, runs each * check, respects `appliesTo` filtering and `fatal` short-circuiting, * and returns a flat `CheckResult[]` report. * * This module is pure orchestration — it has no knowledge of what any * check actually does. */ import { VerificationSuite, CheckResult, SuitePhase } from './types/check.js'; import { VerificationContext } from './types/context.js'; import { VerificationSubject } from './types/subject.js'; /** * Optional orchestration knobs. * * - `explicitSuiteIds`: ids of suites the consumer queued * themselves (typically via `additionalSuites`). When a suite's * `applies` predicate returns false, suites in this set still * surface a synthetic `.applies` `'skipped'` * `CheckResult` so the consumer sees their explicit request was * dropped. Suites not in this set silently skip. * - `phases`: when set, only suites whose `phase` matches one of * the requested phases run. Untagged suites bypass the filter * (run in every phase request); this is intentional so consumer * suites added via `additionalSuites` without a phase tag still * execute regardless of the filter. The `recognition` auto-include * when `'semantic'` is requested is the verifier-layer's * responsibility, not this function's — pass an already-expanded * list. */ export interface RunSuitesOptions { explicitSuiteIds?: ReadonlySet; phases?: SuitePhase[]; } /** * Run a list of verification suites sequentially against a subject. * * - Suites whose `phase` is excluded by `options.phases` are * silently skipped (no synthetic result emitted, even when the * suite is in `explicitSuiteIds` — the consumer asked for a * subset and will see only that subset). Untagged suites bypass * the phase filter. * - Suites with an `applies` predicate that returns false are * silently skipped, except when their id appears in * `options.explicitSuiteIds` — in which case a synthetic * `.applies` `'skipped'` `CheckResult` is emitted. * - Checks are executed in order within each suite. * - Checks with `appliesTo` restrictions are skipped if they don't match the subject. * - Fatal failures stop remaining checks in that suite only (other suites continue). * - Returns a flat array of all check results. */ export declare function runSuites(suites: VerificationSuite[], subject: VerificationSubject, context: VerificationContext, options?: RunSuitesOptions): Promise; //# sourceMappingURL=run-suites.d.ts.map