/** * @fileoverview Ignore directive processing for fitness checks * * Filters signals via the shared core suppression primitive (ADR-0014), then * builds fitness-specific outputs on top: the `ignoredCount`, the * `DirectiveEntry` audit list (with weak-reason classification), and the * rebuilt `CheckResult`. The matching algorithm (file/line directives, * anti-recursion: a finding pointing at a directive line is never suppressed) * lives once in `@opensip-cli/core`. */ import type { DirectiveEntry } from './directive-inventory.js'; import type { CheckResult } from '../types/findings.js'; import type { Signal } from '@opensip-cli/core'; /** * Filter a check's signals by `@fitness-ignore` directives. * * Delegates matching to the core primitive with the fitness keywords and * `ruleIdOf: () => checkId` (every signal in this call belongs to one check, so * the directive must name that check's slug — the historical per-check * semantics). The core primitive owns the anti-recursion guard: a finding that * points at a directive line is never suppressed by a line-level directive, * which prevents directive-auditing checks from suppressing their own findings. * * The suppressed matches are reduced back into the file/line buckets the * `DirectiveEntry` audit collection expects. */ export declare function filterSignalsByDirectives(signals: readonly Signal[], checkId: string, initialIgnoredCount: number): Promise<{ filteredSignals: Signal[]; ignoredCount: number; appliedDirectives: DirectiveEntry[]; }>; /** * True when the result is a framework/command failure (no signals to ignore). * These must not be recomputed from filtered signals or they green-wash to PASS. */ export declare function isFrameworkErrorResult(result: CheckResult): boolean; /** * Builds the filtered result from the original result and filtered signals. * Framework error results (empty signals, errors > 0, passed false) are preserved * so ignore processing cannot turn a check fault into a clean pass. */ export declare function buildFilteredResult(result: CheckResult, filteredSignals: Signal[], ignoredCount: number, start: number): CheckResult; //# sourceMappingURL=ignore-processing.d.ts.map