/** * Verbose-detail builders (ADR-0021) — the shared transform from a run's * `Signal[]` + units into the renderer-agnostic `FindingGroup[]` carried on a * `*DoneResult` and rendered by the cli `resultToView` seam. * * Lives in contracts (next to `buildSignalEnvelope`) so fit and sim — peer * packages that cannot import each other — share ONE mapping rather than each * re-deriving it (which would also trip the `graph:duplicated-function-body` * dogfood check). contracts may import `@opensip-tools/core` at runtime (the * layer below it), so `isErrorSignal` is available here. */ import { type Signal } from '@opensip-tools/core'; import type { FindingGroup } from './command-results.js'; /** A unit identity the grouping needs: its slug and (optional) own error. */ export interface FindingGroupUnit { readonly slug: string; readonly error?: string; } /** * Group a run's signals by `signal.source` (the emitting unit's slug) into the * verbose `FindingGroup[]` — one block per unit that emitted ≥1 finding or that * errored. `displayName` resolves a unit slug to its pretty title (fitness * passes its display registry; sim passes identity). */ export declare function buildFindingGroups(units: readonly FindingGroupUnit[], signals: readonly Signal[], displayName?: (slug: string) => string): FindingGroup[]; //# sourceMappingURL=verbose-detail.d.ts.map