import type { AnomalyEvent, DeepVerdict, Draft } from '@manehorizons/cadence-types'; import type { ProgressFile } from '../status.js'; import type { InteractiveVerdict } from '../verify/interactive.js'; export interface CollectAnomaliesContext { draft: Draft; progress: ProgressFile; /** True iff `--allow-missing-coverage` was used AND `test-coverage` was in the gate set. */ coverageBypassed: boolean; /** True iff `--force` was set on settle. */ force: boolean; /** * Phase 187: true iff `--allow-auto-complex` was used AND `gateSet.softCap` * was true (auto profile x complex tier, DESIGN.md §4 M2). Records the * override into `gateBypasses` instead of leaving it as a stderr-only notice. */ autoComplexOverride?: boolean; /** Per-AC deep verifier verdicts (Phase 15), if --deep / deep-verify gate ran. */ deepVerify?: Record | undefined; /** Per-AC interactive verdicts (Phase 16), if --interactive / interactive-verdict gate ran. */ interactiveVerify?: Record | undefined; /** Populated when the deep verifier transport itself failed (network/parse/etc). */ verifierFailure?: { message: string; provider?: string; } | undefined; /** * Phase 47 — repo root, forwarded to the boundary check so absolute * `touchedFiles` (recorded by the PreToolUse hook) are relativized before * comparison against the DRAFT's relative `files:` declarations. Optional: * when omitted, the boundary check falls back to exact-string matching. */ root?: string | undefined; } export interface CollectAnomaliesOptions { /** Test seam: stand in for `() => new Date()`. Production callers omit it. */ now?: () => Date; } /** * Walks settle context and emits typed anomaly events for the auto / standard * profile. Pure — no I/O. Each event is stamped with `ts` from `opts.now` * (defaults to wall-clock). */ export declare function collectAnomalies(ctx: CollectAnomaliesContext, opts?: CollectAnomaliesOptions): AnomalyEvent[]; //# sourceMappingURL=collect.d.ts.map