/** * `validate-harness` smoke gate. * * Loads + parses a harness_config descriptor (and, when referenced, its linked * workflow script) and checks required fields, supported `schemaVersion`, the * `engine.min` floor, and that the script parses — **without executing agents**. * * Intended for repo CI and post-engine-upgrade smoke. Returns non-zero on any * error. Additive-only minor / major-bump-to-remove discipline is documented in * docs/harness-engine-compat.md. */ import { type Semver } from "./engine-compat.js"; export interface ValidateHarnessOptions { /** Running engine version; defaults to this package's version. */ engineVersion?: Semver; /** Schema versions accepted by the validator. */ supportedSchemaVersions?: readonly number[]; /** Optional linked workflow script path to also parse (overrides descriptor `script`). */ scriptPath?: string; } export interface ValidationFinding { level: "error" | "warning"; message: string; } export interface HarnessValidationResult { ok: boolean; path: string; findings: ValidationFinding[]; } export declare function validateHarnessFile(descriptorPath: string, opts?: ValidateHarnessOptions): HarnessValidationResult; export interface ValidateHarnessRunResult { exitCode: number; results: HarnessValidationResult[]; report: string; } /** CLI entry: validate one or more descriptor paths. Returns an exit code (non-zero on any error). */ export declare function runValidateHarness(args: readonly string[], opts?: ValidateHarnessOptions): ValidateHarnessRunResult;