import type { Checkpoint } from '../checkpoint/checkpoints.js'; import type { ActionClass } from '../core/record.js'; import type { SignatureCheck } from '../core/signing.js'; import type { ChainCheck } from '../store/ledger.js'; import type { StorePaths } from '../store/paths.js'; import type { ExecFn } from '../util/exec.js'; import type { ScopeReport } from '../verify/scope.js'; import type { TestClaimVerification } from '../verify/tests.js'; import type { Phase } from './timeline.js'; /** Everything a renderer needs; assembling it does all the verification work. */ export interface DebriefReport { readonly session: string; readonly generatedAt: string; readonly model?: string; readonly goal?: string; readonly promptPreview?: string; readonly spanHours?: number; readonly stats: { readonly events: number; readonly toolUses: number; readonly byClass: Readonly>; }; readonly chain: ChainCheck; /** Present only when the store has a public signing key configured. */ readonly signatures?: SignatureCheck; readonly phases: readonly Phase[]; readonly testClaims: readonly TestClaimVerification[]; readonly gitOps: ReadonlyArray<{ seq: number; op: string; command: string; }>; readonly scope: ScopeReport; readonly checkpoints: readonly Checkpoint[]; readonly spilledEvents: number; } export interface BuildDebriefOptions { readonly session: string; readonly projectRoot: string; readonly rerunTests: boolean; readonly rerunLastN?: number; readonly exec?: ExecFn; readonly shellExec?: ExecFn; readonly now?: () => Date; } export declare function buildDebrief(paths: StorePaths, options: BuildDebriefOptions): DebriefReport;