import type { TaskResultReceipt } from "./receipt"; import type { SpawnPlanReceipt } from "./spawn-gate"; /** * Pure, advisory-only reconciliation between a spawn plan's inline-token promise * and receipt-safe child outputs. These signals never change task success/failure * semantics or runtime behavior; they only describe budget/ROI observations for * model-facing summaries. */ export interface SpawnRoiChildReconciliation { id: string; inlineTokens: number; maxInlineTokens: number; overBudget: boolean; overageTokens: number; lowRoi: boolean; } export interface SpawnRoiReconciliation { childCount: number; promisedMaxInlineTokens: number; children: SpawnRoiChildReconciliation[]; overBudgetChildIds: string[]; lowRoiChildIds: string[]; totalInlineTokens: number; totalOverageTokens: number; advisoryFlags: string[]; } export declare function reconcileSpawnRoi(plan: SpawnPlanReceipt | undefined, receipts: readonly TaskResultReceipt[]): SpawnRoiReconciliation | undefined;