/**
 * Per-owner realize-context snapshot.
 *
 * Phase 3 of 2026-05-13-VERIFIER-DIAGNOSTIC-TREATMENT-SPLIT.
 *
 * The per-owner emit prompt has TARGET RUNTIME, [PRE-BAKED] step bullets,
 * cross-service operation signatures, available capabilities, library
 * whitelist — everything the LLM needs to emit a real action body. The
 * post-emit feedback runner's `buildLlmReemit` historically had NONE of
 * this; the reemit prompt provided only the previous bad output + the
 * verifier errors.
 *
 * Empirical consequence: sonnet still bridged the gap via inference;
 * smaller models (Ollama qwen3-coder:30b, MarrBox) drifted further from
 * the realize-emit skill's contract, introducing cross-file tsc
 * regressions when asked to fix STUB002 stubs (measured 2026-05-13 at
 * engines 6.54.0 on idle-meta).
 *
 * Phase 3 closes the gap by SNAPSHOTTING the per-owner context to disk
 * at emit time and READING it at reemit time. The snapshot lives at
 * `<outputDir>/.realize-context/<OwnerName>.md` and contains a compact
 * markdown blob — directly embeddable in the reemit user prompt.
 *
 * Decoupling: the snapshot writer (called from per-owner-runner)
 * doesn't know about reemit; the snapshot loader (called from reemit
 * factory) doesn't know about per-owner-emit. They share only the
 * file layout convention.
 */
/** Input data for snapshotting an owner's realize context. Mirrors the
 *  subset of PerOwnerEmitRequest that's directly useful for fixing
 *  bodies — TARGET RUNTIME + per-action [PRE-BAKED] scaffolding +
 *  cross-service signatures + available capabilities. */
export interface OwnerRealizeContext {
    ownerName: string;
    /** e.g. "Node.js (backend)" — short, structurally useful for choosing
     *  imports + identifying forbidden APIs. */
    targetRuntime: string;
    /** The full per-action scaffolding rendered by `buildPerActionScaffolding`
     *  — already formatted with `[PRE-BAKED] "<step>" → <snippet>` blocks
     *  and `[WRITE] "<step>"` markers. Reusing the same render keeps the
     *  reemit prompt aligned with the original per-owner prompt. */
    perActionScaffolding: string;
    /** AVAILABLE SPEC SURFACE — signatures of cross-service operations.
     *  Empty-fallback formatted by the per-owner-runner. */
    availableSpecSurface: string;
    /** AVAILABLE CAPABILITIES — clients / repos the LLM may call. */
    availableCapabilities: string;
    /** AVAILABLE CLIENTS — generated client classes the LLM may instantiate. */
    availableClients: string;
}
/**
 * Render the context as a compact markdown blob suitable for direct
 * embedding in the reemit prompt body. Mirrors the section headings
 * used in the per-owner-emit prompt template so the LLM sees the same
 * structural cues.
 */
export declare function formatContextSnapshot(ctx: OwnerRealizeContext): string;
/**
 * Persist a context snapshot to disk. Best-effort — caller should
 * never crash on snapshot failure (the reemit prompt degrades to the
 * pre-Phase-3 behavior cleanly).
 */
export declare function writeContextSnapshot(outputDir: string, ctx: OwnerRealizeContext): void;
/**
 * Load a previously-written snapshot. Returns the raw markdown blob,
 * or `null` if no snapshot exists for the owner. Callers (the reemit
 * factory) include the blob in the prompt body when present.
 */
export declare function loadContextSnapshot(outputDir: string, ownerName: string): string | null;
//# sourceMappingURL=realize-context-snapshot.d.ts.map