/**
 * @sanity/ailf-core — Report schema (W0191)
 *
 * Runtime Zod gate for `ailf.report` documents at the ReportStore
 * read/write boundary. Mirrors the W0073 pattern that
 * `ContentLakeAuthorableTaskSchema` applies to `ailf.task` — turn silent
 * shape drift into a loud parse failure at the Content Lake boundary.
 *
 * **Scope A** (this file): top-level shape is `passthrough()` so that
 * adding a new top-level Report field on the TS side does not silently
 * fail validation before the schema author updates this mirror.
 * `provenance` (and nested `provenance.lineage`) are `strict()` because
 * they are fully mirrored — unknown keys there signal real drift.
 * `summary`, `comparison`, and `artifactManifest` are modeled as
 * non-empty objects with passthrough; their deep contents
 * (`ScoreSummary`, `FeatureScore`, the W0051 slim shapes, etc.) are
 * intentionally out of scope and may grow into a Scope B follow-up.
 *
 * @see packages/eval/src/adapters/task-sources/content-lake-task-source.ts
 *      — sibling W0073 gate
 * @see packages/core/src/types/index.ts — `Report`, `ReportProvenance`,
 *      `ReportLineage`
 * @see packages/shared/src/run-context.ts — `RunContext`
 * @see docs/work-items/W0191-report-store-schema-gate.json
 */
import { z } from "zod";
export declare const ReportLineageSchema: z.ZodObject<{
    rerunOf: z.ZodOptional<z.ZodString>;
    comparedAgainst: z.ZodOptional<z.ZodString>;
    parentJobId: z.ZodOptional<z.ZodString>;
}, z.core.$strict>;
export declare const ReportProvenanceSchema: z.ZodObject<{
    areas: z.ZodArray<z.ZodString>;
    classification: z.ZodEnum<{
        external: "external";
        official: "official";
        adhoc: "adhoc";
        experimental: "experimental";
        test: "test";
    }>;
    evalFingerprint: z.ZodOptional<z.ZodString>;
    executor: z.ZodDiscriminatedUnion<[z.ZodObject<{
        type: z.ZodLiteral<"user">;
        name: z.ZodOptional<z.ZodString>;
        email: z.ZodOptional<z.ZodString>;
        surface: z.ZodEnum<{
            cli: "cli";
            studio: "studio";
            api: "api";
        }>;
        githubActor: z.ZodOptional<z.ZodString>;
    }, z.core.$strict>, z.ZodObject<{
        type: z.ZodLiteral<"system">;
        name: z.ZodString;
        workflow: z.ZodOptional<z.ZodString>;
        runId: z.ZodOptional<z.ZodString>;
    }, z.core.$strict>], "type">;
    git: z.ZodOptional<z.ZodObject<{
        branch: z.ZodString;
        prNumber: z.ZodOptional<z.ZodNumber>;
        repo: z.ZodString;
        sha: z.ZodString;
    }, z.core.$strict>>;
    graderModel: z.ZodString;
    host: z.ZodOptional<z.ZodObject<{
        platform: z.ZodString;
        arch: z.ZodString;
        ci: z.ZodOptional<z.ZodString>;
    }, z.core.$strict>>;
    labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
    lineage: z.ZodOptional<z.ZodObject<{
        rerunOf: z.ZodOptional<z.ZodString>;
        comparedAgainst: z.ZodOptional<z.ZodString>;
        parentJobId: z.ZodOptional<z.ZodString>;
    }, z.core.$strict>>;
    mode: z.ZodString;
    models: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        label: z.ZodString;
    }, z.core.$strict>>;
    owner: z.ZodObject<{
        team: z.ZodString;
        individual: z.ZodOptional<z.ZodString>;
    }, z.core.$strict>;
    purpose: z.ZodOptional<z.ZodString>;
    source: z.ZodObject<{
        baseUrl: z.ZodString;
        dataset: z.ZodOptional<z.ZodString>;
        name: z.ZodString;
        perspective: z.ZodOptional<z.ZodString>;
        projectId: z.ZodOptional<z.ZodString>;
    }, z.core.$strict>;
    taskIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
    tool: z.ZodOptional<z.ZodObject<{
        ailfVersion: z.ZodString;
        nodeVersion: z.ZodString;
    }, z.core.$strict>>;
    trigger: z.ZodDiscriminatedUnion<[z.ZodObject<{
        type: z.ZodLiteral<"ci">;
        runId: z.ZodString;
        workflow: z.ZodString;
    }, z.core.$strict>, z.ZodObject<{
        type: z.ZodLiteral<"cross-repo">;
        callerRef: z.ZodOptional<z.ZodString>;
        callerRepo: z.ZodString;
    }, z.core.$strict>, z.ZodObject<{
        type: z.ZodLiteral<"manual">;
    }, z.core.$strict>, z.ZodObject<{
        type: z.ZodLiteral<"scheduled">;
        schedule: z.ZodString;
    }, z.core.$strict>, z.ZodObject<{
        type: z.ZodLiteral<"webhook">;
        documentId: z.ZodOptional<z.ZodString>;
        source: z.ZodString;
    }, z.core.$strict>], "type">;
    variant: z.ZodOptional<z.ZodEnum<{
        agentic: "agentic";
        baseline: "baseline";
        observed: "observed";
        full: "full";
    }>>;
    autoScope: z.ZodOptional<z.ZodObject<{
        enabled: z.ZodBoolean;
        affectedTaskIds: z.ZodArray<z.ZodString>;
        skippedTaskIds: z.ZodArray<z.ZodString>;
        perspective: z.ZodString;
        impactSummary: z.ZodObject<{
            added: z.ZodNumber;
            modified: z.ZodNumber;
            removed: z.ZodNumber;
        }, z.core.$strict>;
        uncovered: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strict>>;
    contextHash: z.ZodOptional<z.ZodString>;
    promptfooUrl: z.ZodOptional<z.ZodString>;
    promptfooUrls: z.ZodOptional<z.ZodArray<z.ZodObject<{
        mode: z.ZodString;
        url: z.ZodString;
    }, z.core.$strict>>>;
    runId: z.ZodString;
    targetDocuments: z.ZodOptional<z.ZodArray<z.ZodString>>;
    injectedContextDocs: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
        id: z.ZodString;
        slug: z.ZodOptional<z.ZodString>;
        path: z.ZodOptional<z.ZodString>;
        reason: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>, z.ZodObject<{
        path: z.ZodString;
        reason: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>, z.ZodObject<{
        slug: z.ZodString;
        reason: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>, z.ZodObject<{
        perspective: z.ZodString;
        reason: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>]>>>;
}, z.core.$strict>;
export declare const ReportValiditySchema: z.ZodObject<{
    status: z.ZodEnum<{
        ok: "ok";
        degraded: "degraded";
        incomplete: "incomplete";
        suspect: "suspect";
    }>;
    reasons: z.ZodArray<z.ZodString>;
    method: z.ZodEnum<{
        auto: "auto";
        manual: "manual";
    }>;
    rulesetVersion: z.ZodString;
    assessedAt: z.ZodISODateTime;
}, z.core.$strict>;
export declare const ReportSchema: z.ZodObject<{
    id: z.ZodString;
    completedAt: z.ZodISODateTime;
    durationMs: z.ZodNumber;
    summary: z.ZodRecord<z.ZodString, z.ZodUnknown>;
    provenance: z.ZodObject<{
        areas: z.ZodArray<z.ZodString>;
        classification: z.ZodEnum<{
            external: "external";
            official: "official";
            adhoc: "adhoc";
            experimental: "experimental";
            test: "test";
        }>;
        evalFingerprint: z.ZodOptional<z.ZodString>;
        executor: z.ZodDiscriminatedUnion<[z.ZodObject<{
            type: z.ZodLiteral<"user">;
            name: z.ZodOptional<z.ZodString>;
            email: z.ZodOptional<z.ZodString>;
            surface: z.ZodEnum<{
                cli: "cli";
                studio: "studio";
                api: "api";
            }>;
            githubActor: z.ZodOptional<z.ZodString>;
        }, z.core.$strict>, z.ZodObject<{
            type: z.ZodLiteral<"system">;
            name: z.ZodString;
            workflow: z.ZodOptional<z.ZodString>;
            runId: z.ZodOptional<z.ZodString>;
        }, z.core.$strict>], "type">;
        git: z.ZodOptional<z.ZodObject<{
            branch: z.ZodString;
            prNumber: z.ZodOptional<z.ZodNumber>;
            repo: z.ZodString;
            sha: z.ZodString;
        }, z.core.$strict>>;
        graderModel: z.ZodString;
        host: z.ZodOptional<z.ZodObject<{
            platform: z.ZodString;
            arch: z.ZodString;
            ci: z.ZodOptional<z.ZodString>;
        }, z.core.$strict>>;
        labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
        lineage: z.ZodOptional<z.ZodObject<{
            rerunOf: z.ZodOptional<z.ZodString>;
            comparedAgainst: z.ZodOptional<z.ZodString>;
            parentJobId: z.ZodOptional<z.ZodString>;
        }, z.core.$strict>>;
        mode: z.ZodString;
        models: z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            label: z.ZodString;
        }, z.core.$strict>>;
        owner: z.ZodObject<{
            team: z.ZodString;
            individual: z.ZodOptional<z.ZodString>;
        }, z.core.$strict>;
        purpose: z.ZodOptional<z.ZodString>;
        source: z.ZodObject<{
            baseUrl: z.ZodString;
            dataset: z.ZodOptional<z.ZodString>;
            name: z.ZodString;
            perspective: z.ZodOptional<z.ZodString>;
            projectId: z.ZodOptional<z.ZodString>;
        }, z.core.$strict>;
        taskIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
        tool: z.ZodOptional<z.ZodObject<{
            ailfVersion: z.ZodString;
            nodeVersion: z.ZodString;
        }, z.core.$strict>>;
        trigger: z.ZodDiscriminatedUnion<[z.ZodObject<{
            type: z.ZodLiteral<"ci">;
            runId: z.ZodString;
            workflow: z.ZodString;
        }, z.core.$strict>, z.ZodObject<{
            type: z.ZodLiteral<"cross-repo">;
            callerRef: z.ZodOptional<z.ZodString>;
            callerRepo: z.ZodString;
        }, z.core.$strict>, z.ZodObject<{
            type: z.ZodLiteral<"manual">;
        }, z.core.$strict>, z.ZodObject<{
            type: z.ZodLiteral<"scheduled">;
            schedule: z.ZodString;
        }, z.core.$strict>, z.ZodObject<{
            type: z.ZodLiteral<"webhook">;
            documentId: z.ZodOptional<z.ZodString>;
            source: z.ZodString;
        }, z.core.$strict>], "type">;
        variant: z.ZodOptional<z.ZodEnum<{
            agentic: "agentic";
            baseline: "baseline";
            observed: "observed";
            full: "full";
        }>>;
        autoScope: z.ZodOptional<z.ZodObject<{
            enabled: z.ZodBoolean;
            affectedTaskIds: z.ZodArray<z.ZodString>;
            skippedTaskIds: z.ZodArray<z.ZodString>;
            perspective: z.ZodString;
            impactSummary: z.ZodObject<{
                added: z.ZodNumber;
                modified: z.ZodNumber;
                removed: z.ZodNumber;
            }, z.core.$strict>;
            uncovered: z.ZodOptional<z.ZodArray<z.ZodString>>;
        }, z.core.$strict>>;
        contextHash: z.ZodOptional<z.ZodString>;
        promptfooUrl: z.ZodOptional<z.ZodString>;
        promptfooUrls: z.ZodOptional<z.ZodArray<z.ZodObject<{
            mode: z.ZodString;
            url: z.ZodString;
        }, z.core.$strict>>>;
        runId: z.ZodString;
        targetDocuments: z.ZodOptional<z.ZodArray<z.ZodString>>;
        injectedContextDocs: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
            id: z.ZodString;
            slug: z.ZodOptional<z.ZodString>;
            path: z.ZodOptional<z.ZodString>;
            reason: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>, z.ZodObject<{
            path: z.ZodString;
            reason: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>, z.ZodObject<{
            slug: z.ZodString;
            reason: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>, z.ZodObject<{
            perspective: z.ZodString;
            reason: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>]>>>;
    }, z.core.$strict>;
    comparison: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
    artifactManifest: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    tag: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    degraded: z.ZodOptional<z.ZodObject<{
        reason: z.ZodLiteral<"enrichment-missing">;
        missing: z.ZodArray<z.ZodEnum<{
            documentManifest: "documentManifest";
            failureModes: "failureModes";
            lowScoringJudgments: "lowScoringJudgments";
            recommendations: "recommendations";
            testResults: "testResults";
        }>>;
        detail: z.ZodString;
    }, z.core.$strict>>;
    validity: z.ZodOptional<z.ZodObject<{
        status: z.ZodEnum<{
            ok: "ok";
            degraded: "degraded";
            incomplete: "incomplete";
            suspect: "suspect";
        }>;
        reasons: z.ZodArray<z.ZodString>;
        method: z.ZodEnum<{
            auto: "auto";
            manual: "manual";
        }>;
        rulesetVersion: z.ZodString;
        assessedAt: z.ZodISODateTime;
    }, z.core.$strict>>;
}, z.core.$loose>;
export type ReportSchemaInput = z.input<typeof ReportSchema>;
export type ReportSchemaOutput = z.infer<typeof ReportSchema>;
