export type OnboardClientClosureWorkType = "deterministic" | "agentic_workflow"; export type OnboardClientClosureExecutionScope = "not_applicable" | "local" | "local_then_target_host"; export interface OnboardClientClosureIdentityTuple { lineageId: string; mergedMainSha: string; mcpVersion: string; mcpIntegrity: string; installerVersion: string; installerIntegrity: string; hostIdentity: string; profileIdentity: string; sessionIdentity: string; } export interface OnboardClientClosureProjectionRow { rowId: string; owner: string; workType: OnboardClientClosureWorkType; executionScope: OnboardClientClosureExecutionScope; status: "passed" | "terminal_closure_failed" | "pending" | "failed"; } export interface OnboardClientClosureReceiptEntry { sequence: number; previousDigest: string | null; observedAt: string; actorId: string; identityTuple: OnboardClientClosureIdentityTuple; result: "passed" | "terminal_closure_failed"; digest: string; } export interface OnboardClientClosureVerifierObservation { actorId: string; actingAgentId: string; observedAt: string; evidenceKind: "structured_observation" | "text_search" | "planner_self_report" | "acting_agent_result"; identityTuple: OnboardClientClosureIdentityTuple; rows: OnboardClientClosureProjectionRow[]; } export interface OnboardClientClosureInput { now: string; maxAgeMs: number; expectedIdentityTuple: OnboardClientClosureIdentityTuple; receiptChain: OnboardClientClosureReceiptEntry[]; acceptanceRows: OnboardClientClosureProjectionRow[]; roundRows: OnboardClientClosureProjectionRow[]; verifier: OnboardClientClosureVerifierObservation; } export interface OnboardClientClosureGap { path: string; code: string; expected?: unknown; actual?: unknown; } export interface OnboardClientClosureResult { status: "ready" | "gaps" | "terminal_closure_failed"; ready: boolean; gaps: OnboardClientClosureGap[]; receiptTailDigest: string | null; matrixProjectionDigest: string; roundProjectionDigest: string; mutationCount: 0; } export declare function onboardClientClosureReceiptDigest(entry: Omit): string; export declare function reduceOnboardClientClosure(input: OnboardClientClosureInput): OnboardClientClosureResult;