/** * Ledger event types for the Phase 3 persistence stack. * These are WRITE-side events that go into ledger.jsonl — separate from the * read-model LoopEventType used by the control plane. */ export type LedgerEventKind = "contract.created" | "attempt.admitted" | "attempt.rejected" | "prompt.compiled" | "patch.generated" | "verification.completed" | "grounding.violations_found" | "safety.violations_found" | "budget.settled" | "attempt.kept" | "attempt.discarded" | "run.exited" | "run.terminated" | "run.diagnostic" | "context.shadow_compiled" | "context.manifest_compiled" | "context.handoff.received" | "context.handoff.verified" | "context.handoff.blocked" | "context.object.excluded"; export interface LedgerEvent { kind: LedgerEventKind; runId: string; attemptIndex?: number; timestamp: string; payload: Record; } export interface LedgerEventDraft { kind: LedgerEventKind; runId: string; attemptIndex?: number; payload: Record; timestamp?: string; } export declare function makeLedgerEvent(draft: LedgerEventDraft, options?: { now?: string; }): LedgerEvent;