Member Junction
    Preparing search index...

    result.json — written once at run end (success or failure).

    interface IntegrationRunResult {
        aggregateCounts?: {
            failed: number;
            processed: number;
            skipped: number;
            succeeded: number;
        };
        completedAt: string;
        durationMs: number;
        errors?: { code?: string; message: string; stage?: string }[];
        eventCount?: number;
        exitReason:
            | "completed"
            | "failed"
            | "killed"
            | "budget-exhausted"
            | "aborted";
        latestEvent?: IntegrationProgressEvent;
        resumableFromSeq?: number;
        runID: string;
        success: boolean;
        warningCount?: number;
        warnings?: SyncWarning[];
    }
    Index

    Properties

    aggregateCounts?: {
        failed: number;
        processed: number;
        skipped: number;
        succeeded: number;
    }
    completedAt: string
    durationMs: number
    errors?: { code?: string; message: string; stage?: string }[]
    eventCount?: number

    How many events the run's journal holds, recorded at the moment the run terminated.

    Persisted so a finished run can be summarised WITHOUT opening its journal. Counting the lines of a 12–13 k-event journal on network storage is one of the four full-file reads that made a run listing take 73 seconds; this number is free, and it is the same number the emitter actually wrote.

    Optional only for backward compatibility: a result.json written before this field existed has none, and the reader falls back to a single journal pass for those.

    exitReason: "completed" | "failed" | "killed" | "budget-exhausted" | "aborted"

    The run's final journal event, persisted for the same reason as eventCount — the summary surfaces report the latest event type and message, and reading the journal's last line to recover something the emitter had in hand is a full-file read for one line.

    resumableFromSeq?: number

    When non-empty, this run is resumable: latest checkpoint event sequence.

    runID: string
    success: boolean
    warningCount?: number

    Total number of 'warning' events emitted (length of warnings).

    warnings?: SyncWarning[]

    Non-fatal warnings surfaced during the run (rollup of 'warning' events).